Ir para conteúdo
Fórum Script Brasil

Ronaldo Lanhellas

Membros
  • Total de itens

    268
  • Registro em

  • Última visita

Tudo que Ronaldo Lanhellas postou

  1. pois é assim funciona mais se eu por exemplo não soube todo o nome do usuaario , apenas as 3 primeiras letras, eu gostaria de saber se posso usar o * ou qualquer outro caractere para ficar assim copy "D:\programas\teste\arquivo.txt" "C:\arquivos de programas\tes*"
  2. bom gostaria de saber se há como realizar este comando: "copy C:\VNC\DTI.exe C:\"Documents and Settings\usuario\Desktop sendo que em usuario eu colocar só usua*, isto é, apenas parte do nome e ele localizar, eu tentei mais diz que a sintaxe está incorreta.
  3. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> int main(){ int var1,i=0,j=0,tamanho=0; char comando[200],comando2[600],usuario[20],ch,username[30],username_final[30],auxiliar; FILE *arquivo; var1 = system("cd C:\\VNC"); if(var1 != 0){ system("cls"); system("md C:\\VNC"); system("copy Y:\\VNC\\*.* C:\\VNC"); system("cls"); sprintf(comando2,"set username > C:\\VNC\\confuser.rl"); system(comando2); if ((arquivo = fopen("C:\\VNC\\confuser.rl","r"))==NULL){ printf("Arquivo não pode ser aberto"); } ch = getc(arquivo); while( ch != EOF ){ ch = getc(arquivo); username[i] = ch; i++; } fclose(arquivo); for (i=0;i<strlen(username);i++){ if(i>=8){ auxiliar = username[i]; username_final[j] = auxiliar; j++; } } i=0; char username_pronto[30]; while (username_final[i] != EOF){ auxiliar = username_final[i]; if (auxiliar != ' '){ username_pronto[i] = auxiliar; } i++; } sprintf(comando,"copy C:\\VNC\\DTI.exe C:\\\"Documents and Settings\"\\%s\\Desktop",username_pronto); getch(); system(comando); getch(); system("cls"); system("net use Y: /delete"); getch(); system("rd C:\\InstalaVNC /s /q"); getch(); system("regedit /s C:\\VNC\\vnc_conf.reg"); getch(); } else{ system("net use Y: /delete"); system("rd C:\\InstalaVNC /s /q"); } } todo meu codigo esta ae
  4. obs: ele salva os dados mais mostra o erro
  5. Ao tentar salvar no meu form de cadastro recebo o seguinte erro http://uploaddeimagens.com.br/imagem/index/3959Sem-ttulo.png
  6. eu entendi que ao tentar apagar o perfil ainda existem informações no registro sobre esta chave estrangeira, mais como eu farei isso é que é o problema ! xd
  7. bem, na verdade o programa está seguro sim pois estou fazendo este programa na minha empresa e uso um dominio onde nenhum usuario da minha rede pode modificar sua senha ou outra coisa do tipo, mais voltando ao assunto abordado no post, só queria uma forma de não pegar o caracter de parada da string e sim apenas as letras em sim. já tentei um strlen(username) e depois criar uma outra string com o tamanho do strlen do username, mais ele continua pegando o caracter de parada.
  8. então eu teria que fazer um comando no botão deletar para que ele apague a chave do registro referente a minha Chave estrangeira ?
  9. bom, estou com o seguinte problema, uso o comando system abaixo; system("copy C:\\VNC\\DTI.exe C:\\\"Documents and Settings"\\%s\\Desktop",username); a variavel username é uma a qual consegui criar para pegar o usuario logado atualmente, se eu der um printf da na variavel ele me mostra o usuario logado pois guardei nela o nome do usuario, porém nós sabemos que todo fim da string tem 1 campo a mais, esse campo que diz que a string acabou. isto é se o nome do usuario tiver 5 letras, a string deve ter 6 posições para guardar o ultimo campo que diz que a string acabou. O problema é que ao por essa string no meu comando acima ele está pegando tambem este ultimo campo, impossibilitando que o meu codigo copie no local certo, o que eu gostaria é saber se tem alguma forma de eu poder tirar esse final da string para que possa ficar apenas o nome do usuário e eu consigo acessar a pasta certa pelo meu comando system.
  10. certo funcionou perfeitamente, agora me diga, já que a variavel retorno vale 1, o EOF só valerá 1 quando o conteudo do meu arquivo acabar ? agora, como eu faço para pegar apenas 1 palavra dentro do meu arquivo e salva-la em uma string ?
  11. bom, eu criei um formulário onde armazeno realizo o cadastro de todos os perfils do sistema (administrador, vendedor , restrito e por ae vai), porém o problema que estou tendo é quando quero deletar um perfil, simplesmente ele apresenta o erro abaixo e não deleta: http://uploaddeimagens.com.br/imagem/index...letE_perfil.png
  12. obrigado pela dica jonhas, o que ocorre é que já estou quase finalizndo meu sistema e para trocar de BD agora é complicado
  13. Bom, eu uso o comando REG EXPORT para exportar uma registro do windows para um arquivo txt qualquer, depois dou um fopen neste arquivo txt criado para que seja exibido, porém ele não exibe nada na tela, é como se tivesse funcionando mais não exibe nada na tela. Então fiz um teste, peguei todo conteudo de dentro deste txt e criei um novo txt (sem o reg export) e mandei o fopen abri-lo, e advinhem ? funcionou perfeitamente. Ae fiz um outro teste mais agora com o arquivo criado pelo REG EXPORT, mandei um fopen com o seguinte comando: if ((arquivo = fopen("C:\\PASTA\\confuser.txt","r"))==NULL) printf("O arquivo não pode ser aberto"); ch = getc(arquivo); while (ch != EOF){ printf("%c",ch); ch = getc(arquivo); } getch(); fclose(arquivo); Bom da forma que esta ele abre o arquivo confuser.txt (que foi criado pelo REG EXPORT) porém ele não mostra nada, é como se não tivesse nada dentro do arquivo (mais tem), então tentei o seguinte comando: if ((arquivo = fopen("C:\\PASTA\\criadopormim.txt","r"))==NULL) printf("O arquivo não pode ser aberto"); while (ch != EOF){ printf("%c",ch); ch = getc(arquivo); } e misteriosamente ele mostra apenas a primeira letra do arquivo txt, ou seja, ele printa na minha tela a letra "w", pois o conteudo do meu arquivo txt começa assim: Windows Registry ... Agora sinceramente estou perdido, não sei o que esta acontecendo para que ocorram esses problemas, se alguém poder me ajudar agradeço imensamente, pois estou desenvolvendo um software para a empresa onde trabalho e estou "estancado" neste erro !
  14. desculpe a demora para agradeçer pois estava sem ver este tópico a um bom tempo já que não recebi nenhum resposta, desculpa mesmo e agradeço a ajuda de vocÊs
  15. Gostaria de saber como fazer para descobrir o formato de uma imagem que foi carregada no TImage
  16. Gostaria de registrar um novo formato de imagem que eu criei chamado .ftsys, só que não sei como fazer isso no RegisterFileFormat
  17. Gostaria de saber como criar uma chave estrangeria na minha tabela ! já tentei por código e não consegui ..
  18. bom estou pesquisando notbookes para comprar, achei um que me agradou muito (suas configurações), veja: Notebook Itautec Infoway W7410 c/ Intel Core 2 Duo T6600, 4GB, HD 320GB, LCD 14", Bluetooth, Wireless por apenas R$ 1686,00 Bom achei uma boa configuração, sendo que não posso ultrapassar a faixa dos R$ 1600 ! Na faculdade onde estudo tudo lá é Itautec e não achei lento, por isso optei por ele, agora quero a opnião de vocês sobre o notebook, a marca, e se conheçerem algum melhor pelo preço de no máximo R$ 1600,00 também podem optar. Aguardo respostas
  19. bom testei como administrador, e também com o super usuário da rede e não funcionou ! engraçado que o mesmo comando funcionou na minha casa
  20. alguém pode me ajudar porfavor, ou até mesmo mostrar outro método de inserir fotos no delphi apenas com o caminho, não quero por as fotos no banco e sim no pc do cliente
  21. bom, o que aconteçe é que estou criando uma estrutura de login de usuários, criei a minha classe usuários todinha e fiz um botão no meu formulário principal com o seguinte código: procedure TfrmPrincipal.Button1Click(Sender: TObject); begin if TUsuario.GetInstance.Login('ronaldo','123456',Acoes) then showmessage('Logado com sucesso') else showmessage('não logado'); end; o que aconteçe é que ao clicar neste botão ele me retorna um erro dizendo que a tabela USUARIOS é desconhecida (UNKNOW TABLE USUARIOS), porem já vi todo o código da classe usuário (que eu creio que o erro esteja lá, e não encontrei nada). aqui vai o código da minha classe usuário: unit uUsuario; interface uses ActnList, DBXCommon; type TUsuario = class private FID: Integer; FSenha: String; FLogin: String; FNome: String; FPerfilID: Integer; FLogado: Boolean; FAcoes: TCustomActionList; constructor CreatePrivate; class var FInstance: TUsuario; { private declarations } protected { protected declarations } function LoadProfile: Boolean;virtual; public { public declarations } constructor Create; function Login(AUsuario, Asenha: String; Acoes: TCustomActionList): Boolean; function GetPerfilName: string; function GetPerfilDescription: string; function ChangePassword (strOldPassword,strNewPassword: string):Boolean; class function GetInstance: TUsuario; published { published declarations } property ID: Integer read FID; property Nome: String read FNome; property Usuario: String read FLogin; property Senha: String read FSenha; property PerfilID: Integer read FPerfilID; end; implementation uses SysUtils, Dialogs, uDM; { TUsuario } function TUsuario.ChangePassword(strOldPassword, strNewPassword: string): Boolean; var DBCon: TDBXConnection; Command: TDBXCommand; T: TDBXTransaction; begin if FSenha = strOldPassword then Begin try DBCon := TDBXConnectionFactory.GetConnectionFactory.GetConnection('FBConnection','SYSDBA','masterkey'); T:= DBCon.BeginTransaction; Command:= DBCon.CreateCommand; Command.Text := 'UPDATE SET senha = '+QuotedStr(strNewpassword)+ 'WHERE usuariosid= '+IntToStr(FID); Command.ExecuteUpdate; DBCon.CommitFreeAndNil(T); Result := True; except DBCon.RollbackFreeAndNil(T); end; End else MessageDlg('A Senha Antiga não confere !!',mtInformation,[mbOK],0); end; constructor TUsuario.Create; begin raise Exception.Create('Para obter uma instância de TUsuario utilize TUsuario.GetInstance'); end; constructor TUsuario.CreatePrivate; begin inherited Create; end; class function TUsuario.GetInstance: TUsuario; begin if not Assigned(FInstance) then FInstance := TUsuario.CreatePrivate; Result := FInstance; end; function TUsuario.GetPerfilDescription: string; var DBCon: TDBXConnection; Command: TDBXCommand; Reader: TDBXReader; begin if FLogado then Begin DBCon := TDBXConnectionFactory.GetConnectionFactory.GetConnection('FBConnection','SYSDBA','masterkey'); Command:= DBCon.CreateCommand; Command.Text := 'SELECT descricao FROM perfil WHERE perfilid = '+IntToStr(FPerfilID); Reader := Command.ExecuteQuery; if Reader.Next then Result := Reader.Value[0].GetAnsiString; end else MessageDlg('É necessário está logado para invocar este método !!',mtWarning,[mbOK],0); end; function TUsuario.GetPerfilName: string; var DBCon: TDBXConnection; Command: TDBXCommand; Reader: TDBXReader; begin if FLogado then Begin DBCon := TDBXConnectionFactory.GetConnectionFactory.GetConnection('FBConnection','SYSDBA','masterkey'); Command:= DBCon.CreateCommand; Command.Text := 'SELECT nome FROM perfil WHERE perfilid = '+IntToStr(FPerfilID); Reader := Command.ExecuteQuery; if Reader.Next then Result := Reader.Value[0].GetAnsiString; end else MessageDlg('É necessário está logado para invocar este método !!',mtWarning,[mbOK],0); end; function TUsuario.LoadProfile: Boolean; var DBCon: TDBXConnection; Command: TDBXCommand; Reader: TDBXReader; I: Integer; Nm, Pr: String; begin DBCon := TDBXConnectionFactory.GetConnectionFactory.GetConnection('FBConnection','SYSDBA','masterkey'); Command:= DBCon.CreateCommand; Command.Text := 'SELECT name, permissao FROM perfil_conf WHERE perfilid= '+IntToStr(FPerfilID); Reader := Command.ExecuteQuery; while Reader.Next do Nm := Reader.Value[0].GetAnsiString; Pr := Reader.Value[1].GetAnsiString; begin for I := 0 to Pred(FAcoes.ActionCount) do begin if TAction(FAcoes.Actions[I]).Name = Nm then begin TAction(FAcoes.Actions[I]).Enabled := 'V' = Pr; break; end; end; end; Result := True; end; function TUsuario.Login(AUsuario, Asenha: String; Acoes: TCustomActionList): Boolean; var DBCon: TDBXConnection; Command: TDBXCommand; Reader: TDBXReader; begin DBCon := TDBXConnectionFactory.GetConnectionFactory.GetConnection('FBConnection','SYSDBA','masterkey'); Command:= DBCon.CreateCommand; Command.Text := 'SELECT * FROM usuarios WHERE login = '+QuotedStr(AUsuario)+ 'and senha = '+QuotedStr(ASenha); Reader := Command.ExecuteQuery; if Reader.Next then begin FID := Reader.Value[0].GetInt32; FperfilID := Reader.Value[1].GetInt32; FNome := Reader.Value[2].GetAnsiString; FLogin := Reader.Value[6].GetAnsiString; FSenha := Reader.Value[7].GetAnsiString; FLogado := True; FAcoes := Acoes; if LoadProfile then Result:= True else MessageDlg('É necessário está logado para invocar este método !!',mtWarning,[mbOK],0); end; end; end. obs: outras coisas que percebi. no meu DataModule os comandos em sql estão todos assim >> select * from "tabela" << ou seja, o nome da tabela está sempre entre aspas duplas. Na minha classe usuários o select ta normal >> select * from tabela where id = blablabla <<< , porém quando eu mudo para >> select * from "tabela" where "id" = blablaba << o erro para mais no final ele da outro erro dizendo que o Reader nãao tem mais rows (no more rows for reader ou algo do tipo). obs2: no meu proprio ibexpert fiz o teste, se eu por >> select * from tabela where qualquercoisa = 'blabla' << ele não funciona mais se eu por select * from "tabela" where "qualquercoisa" = 'blabla' << ele pesquisa direitinho e me mostra os resultados;
  22. vamos por na mesa aqui as diferenças, em casa é tudo liberado obviamente e uso o windows 7. na empresa uso o windows 7 também porem ligado a um DOMINIO, e sou Administrador do sistema, amanha quando chegar naa empresa vou tentar executar o programa com um usuario Domain Admin (Admiinistrador do Dominio), pode ser que mesmo o meu usuario sendo Administrador local não tenha permissão necessária, mais um Domain Admin tem que ter afinal é o "todo poderoso". vou testar e posto a resposta aqui
×
×
  • Criar Novo...