125 lines
3.1 KiB
ObjectPascal
125 lines
3.1 KiB
ObjectPascal
unit UsersLogged_U;
|
|
|
|
interface
|
|
|
|
uses
|
|
{.$IFDEF DELPHI5}
|
|
{.$ELSE}
|
|
Variants,
|
|
{.$ENDIF}
|
|
Buttons,
|
|
Classes,
|
|
Controls,
|
|
DB,
|
|
DBGrids,
|
|
Dialogs,
|
|
ExtCtrls,
|
|
Forms,
|
|
Graphics,
|
|
Grids,
|
|
IncUser_U,
|
|
Menus,
|
|
Messages,
|
|
StdCtrls,
|
|
SysUtils,
|
|
UCBase,
|
|
Windows;
|
|
|
|
type
|
|
TfrmUsersLogged = class(TForm)
|
|
dsDados: TDataSource;
|
|
DBGrid: TDBGrid;
|
|
Panel1: TPanel;
|
|
lbDescricao: TLabel;
|
|
Panel3: TPanel;
|
|
BtExit: TBitBtn;
|
|
BitMsg: TBitBtn;
|
|
BitRefresh: TBitBtn;
|
|
Image2: TImage;
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure BitRefreshClick(Sender: TObject);
|
|
procedure BitMsgClick(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormDestroy(Sender: TObject);
|
|
private
|
|
DSUserLogados: TDataset;
|
|
UCMes : TUCApplicationMessage; // Por Vicente Barros Leonel
|
|
public
|
|
FUserControl: TUserControl;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TfrmUsersLogged.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Action := caFree;
|
|
end;
|
|
|
|
procedure TfrmUsersLogged.FormShow(Sender: TObject);
|
|
var
|
|
SQLStmt: String;
|
|
begin
|
|
with FUserControl do
|
|
begin
|
|
SQLStmt :=
|
|
'SELECT U.' + TableUsers.FieldUserName + ' AS UserName,' +
|
|
' U.' + TableUsers.FieldLogin + ' AS Login,' +
|
|
' L.' + TableUsersLogged.FieldMachineName + ' AS MachineName,' +
|
|
' L.' + TableUsersLogged.FieldData + ' AS DATA ' +
|
|
'FROM ' + TableUsersLogged.TableName + ' L ' +
|
|
' INNER JOIN ' + TableUsers.TableName + ' U ON U.' + TableUsers.FieldUserID + ' = L.' + TableUsersLogged.FieldUserID +
|
|
' LEFT JOIN ' + TableUsers.TableName + ' P ON P.' + TableUsers.FieldUserID + ' = U.' + TableUsers.FieldProfile + ' ' +
|
|
'WHERE L.' + TableUsersLogged.FieldApplicationID + ' = ' + QuotedStr(ApplicationID);
|
|
|
|
DSUserLogados := DataConnector.UCGetSQLDataset(SQLStmt);
|
|
end;
|
|
dsDados.Dataset := DSUserLogados;
|
|
end;
|
|
|
|
procedure TfrmUsersLogged.BitRefreshClick(Sender: TObject);
|
|
begin
|
|
try
|
|
Screen.Cursor := crHourGlass;
|
|
dsDados.DataSet.Close;
|
|
dsDados.DataSet.Open;
|
|
finally
|
|
Screen.Cursor := crDefault;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmUsersLogged.BitMsgClick(Sender: TObject);
|
|
var Msg : String;
|
|
begin
|
|
//Vicente Barros Leonel
|
|
If Assigned( UcMes ) then
|
|
begin
|
|
If InputQuery('Mensagem','Digite sua mensagem',Msg) = true then
|
|
UcMes.SendAppMessage( dsDados.DataSet.FieldValues['id'],'Mensagem do Sistema',Msg);
|
|
End;
|
|
end;
|
|
|
|
procedure TfrmUsersLogged.FormCreate(Sender: TObject);
|
|
Var I : Integer; Form : TForm; { Por Vicente Barros Leonel }
|
|
begin
|
|
UCMes := nil;
|
|
Form := Application.MainForm;
|
|
For I := 0 to Form.ComponentCount - 1 do
|
|
Begin
|
|
If ( Form.Components[ I ] is TUCApplicationMessage ) then
|
|
UCMes := TUCApplicationMessage( Form.Components[ I ] );
|
|
end;
|
|
|
|
BitMsg.Visible := UCMES <> Nil;
|
|
end;
|
|
|
|
procedure TfrmUsersLogged.FormDestroy(Sender: TObject);
|
|
begin { Por Vicente Barros Leonel }
|
|
UCMes := Nil;
|
|
end;
|
|
|
|
end.
|
|
|