Componentes.Terceros.UserCo.../official/2.20/Source/UsersLogged_U.pas

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.