mirror of
https://github.com/mrfluffy-dev/Delphi-Projects.git
synced 2026-01-16 21:30:33 +00:00
140 lines
3.6 KiB
ObjectPascal
140 lines
3.6 KiB
ObjectPascal
unit UserPage_u;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.Grids,
|
|
Vcl.Samples.Calendar, Vcl.Menus, Vcl.ExtCtrls;
|
|
|
|
type
|
|
TfrmUserPage = class(TForm)
|
|
redtGoles: TRichEdit;
|
|
MainMenu1: TMainMenu;
|
|
Logout1: TMenuItem;
|
|
caleUser: TCalendar;
|
|
Panel1: TPanel;
|
|
btnClockIn: TButton;
|
|
btnClockOut: TButton;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure ComboBox1Change(Sender: TObject);
|
|
procedure Logout1Click(Sender: TObject);
|
|
procedure caleUserChange(Sender: TObject);
|
|
procedure btnClockInClick(Sender: TObject);
|
|
procedure btnClockOutClick(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
var
|
|
iDay : Integer;
|
|
public
|
|
{ Public declarations }
|
|
var
|
|
closed : Boolean;
|
|
sUserInUse : string;
|
|
end;
|
|
|
|
var
|
|
frmUserPage: TfrmUserPage;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses Business_u, Login_u;
|
|
|
|
procedure TfrmUserPage.btnClockInClick(Sender: TObject);
|
|
var
|
|
iConfirm : Integer;
|
|
begin
|
|
DataUser.adoUser.SQL.Clear;
|
|
DataUser.adoUser.SQL.Add('INSERT INTO ClockLog(InOut,DateLog,TimeLog,Username) VALUES(:par0,:par1,:par2,:par3)');
|
|
DataUser.adoUser.Parameters.ParamByName('par0').Value:='In';
|
|
DataUser.adoUser.Parameters.ParamByName('par1').Value:=DateToStr(Date);
|
|
DataUser.adoUser.Parameters.ParamByName('par2').Value:=TimeToStr(time);
|
|
DataUser.adoUser.Parameters.ParamByName('par3').Value:=sUserInUse;
|
|
iConfirm:=MessageDlg('Confirm Clock in', mtConfirmation, mbYesNo, 7);
|
|
if iConfirm = 7 then exit;
|
|
if iConfirm = 6 then DataUser.adoUser.ExecSQL;
|
|
end;
|
|
|
|
procedure TfrmUserPage.btnClockOutClick(Sender: TObject);
|
|
var
|
|
iConfirm : Integer;
|
|
begin
|
|
DataUser.adoUser.SQL.Clear;
|
|
DataUser.adoUser.SQL.Add('INSERT INTO ClockLog(InOut,DateLog,TimeLog,Username) VALUES(:par0,:par1,:par2,:par3)');
|
|
DataUser.adoUser.Parameters.ParamByName('par0').Value:='Out';
|
|
DataUser.adoUser.Parameters.ParamByName('par1').Value:=Date;
|
|
DataUser.adoUser.Parameters.ParamByName('par2').Value:=time;
|
|
DataUser.adoUser.Parameters.ParamByName('par3').Value:=sUserInUse;
|
|
iConfirm:=MessageDlg('Confirm Clock OUT', mtConfirmation, mbYesNo, 7);
|
|
if iConfirm = 7 then exit;
|
|
if iConfirm = 6 then DataUser.adoUser.ExecSQL;
|
|
end;
|
|
|
|
procedure TfrmUserPage.Button1Click(Sender: TObject);
|
|
begin
|
|
closed:=True;
|
|
|
|
end;
|
|
|
|
procedure TfrmUserPage.caleUserChange(Sender: TObject);
|
|
var
|
|
i : Integer;
|
|
Goletext : TextFile;
|
|
sLine : string ;
|
|
begin
|
|
iday:=caleUser.Day;
|
|
redtGoles.Text:='';
|
|
//ShowMessage(sUserName+IntToStr(iDay)+'.txt');
|
|
AssignFile(Goletext, sUserInUse+IntToStr(iDay)+'.txt');
|
|
if sUserInUse > '' then
|
|
begin
|
|
if FileExists(sUserInUse+IntToStr(iDay)+'.txt') then
|
|
begin
|
|
redtGoles.Text:='';
|
|
reset(Goletext);
|
|
while not Eof(Goletext) do
|
|
begin
|
|
Readln(Goletext, sLine);
|
|
redtGoles.Lines.Add(sLine);
|
|
end;
|
|
|
|
end
|
|
else
|
|
begin
|
|
Rewrite(Goletext);
|
|
end;
|
|
end
|
|
else
|
|
exit;
|
|
CloseFile(Goletext);
|
|
end;
|
|
|
|
procedure TfrmUserPage.ComboBox1Change(Sender: TObject);
|
|
begin
|
|
// if ComboBox1.Text = 'LogOut' then
|
|
// closed:= True;
|
|
end;
|
|
|
|
procedure TfrmUserPage.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
Application.Terminate;
|
|
end;
|
|
|
|
procedure TfrmUserPage.FormCreate(Sender: TObject);
|
|
begin
|
|
iDay:=caleUser.Day;
|
|
closed:=False;
|
|
end;
|
|
|
|
procedure TfrmUserPage.Logout1Click(Sender: TObject);
|
|
begin
|
|
frmBusiness.show;
|
|
frmUserPage.Free;
|
|
end;
|
|
|
|
end.
|