Olá, Hehehe, está correto estimado. Indo um pouco mais além, pode usar alguns eventos do componente.
// Mostrando quando o usuário se logou pela última vez: procedure TForm1.UserControlLoginSucess(Sender: TObject; IdUser: Integer; Usuario, Nome, Senha, Email: String; Privilegiado: Boolean); var LastLogin : TDateTime; StrData : String; begin //Pesquisar ultimo login do usuario qryPesquisa.Close; qryPesquisa.SQL.Text := 'Select Max(Data) as Data from ' + UserControl.LogControl.TableLog + ' where IdUser = ' + IntToStr(IdUser) + ' and MSG like ' + QuotedStr('Entrada no sistema%'); qryPesquisa.Open; StrData := qryPesquisa.FieldByName('data').asString; if StrData <> '' then begin LastLogin := EncodeDate( StrToInt(Copy(StrData,1,4)), StrToInt(Copy(StrData,5,2)), StrToInt(Copy(StrData,7,2)) ) + EncodeTime( StrToInt(Copy(StrData,9,2)), StrToInt(Copy(StrData,11,2)), StrToInt(Copy(StrData,13,2)),0); MessageDlg('Seu último Login foi em '+ FormatDateTime('DD/MM/YYYY', LastLogin)+' '+ FormatDateTime('hh:mm', LastLogin), mtInformation, [mbOK], 0); end else MessageDlg('Bem vindo!'+#13+#10+'Este é seu primeiro Login no sistema.', mtInformation, [mbOK], 0); qryPesquisa.Close; // Logar este login do usuario UserControl.Log(Format('Entrada no sistema usuário: "%s" nome: "%s"',[Usuario, Nome]),0); end; // Simplesmente pegando os dados do usuário logado procedure TForm1.UserControlLoginSucess(Sender: TObject; IdUser: Integer; Usuario, Nome, Senha, Email: String; Privilegiado: Boolean); begin globalIdUser := IdUser; globalNameUser := Nome; // Logar este login do usuario UserControl.Log(Format('Ultimo login do usuário: "%s" nome: "%s"',[Usuario, Nome]),0); end; // Logando usuário que fica errando senha, pode controlar pela propriedade MaxLoginAttemps // no create do form cria iTentativas := 1 e no loginsucess volta iTentativas pra 1; procedure TForm1.UserControlLoginError(Sender: TObject; Usuario, Senha: String); var sTentativas : String; begin sTentativas := Trim(IntToStr(iTentativas)) + '/' + IntToStr(UserControl.Login.MaxLoginAttempts); UserControl.Log(Format('Erro de login do usuário: "%s" senha: "%s" tentativa : "%s"',[Usuario, Senha, sTentativas]),0); end; Saudações. Alexandre. -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Jorge Ericsson Enviada em: quinta-feira, 24 de janeiro de 2008 03:00 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Usuário do UserControl OI Júnior, Para retornar o nome do usuário que logou no use control eu uso por exemplo: vUsuario := UserControl.CurrentUser.UserName; statusbar.Panels[0].Text := ' Usuário: ' + qUsuario; ou buscando direto na tabela que armazena os dados do usuário da seguinte forma: vCodUsuario := UserControl.TableUsers.FieldUserID; Se vc pressionar após o ponto (Exe: UserControl.TableUsers. ) o delphi te retornar todos os campos que possui a tabela Users para que que vc atribua da melhor forma possivel. Espero não ter complicado muito, mais simplifiquei ao máximo... Em 24/01/08, Junior <[EMAIL PROTECTED]> escreveu: > > Como faço pra descobrir qual o usuário que logou no sistema, já que > o controle é feito pelo User Control ? > > Alguém aí que usa o UC exibe em algum lugar (form/statusbar/etc) o > nome do usuário ? > > Obrigado > > Junior > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Jorge Ericsson S. Pinheiro Analista/Projetista de Sistemas Ericsson Sistemas e Soluções http://www.jericsson.com.br 61 9227.4785 / 3965.2992 / 3039.1768 Brasília - DF