unit Zeiterfassung_pas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TfrmZeiterfassung =
class(TForm)
lbldate: TLabel;
lblTime: TLabel;
UhrzeitTimer: TTimer;
Exit: TButton;
AnfangArbeit: TButton;
AnfangPause: TButton;
EndePause: TButton;
EndeArbeit: TButton;
procedure FormCreate(Sender: TObject);
procedure UhrzeitTimerTimer(Sender: TObject);
procedure ExitClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
procedure AnfangArbeitClick(Sender: TObject);
procedure EndeArbeitClick(Sender: TObject);
procedure AnfangPauseClick(Sender: TObject);
procedure EndePauseClick(Sender: TObject);
private
{ Private-Deklarationen }
AnfangsZeitArbeit: TTime;
EndeZeitArbeit: TTime;
AnfangsZeitPause: TTime;
EndeZeitPause: TTime;
AmArbeiten: boolean;
InderPause: boolean;
public
{ Public-Deklarationen }
end;
var
frmZeiterfassung: TfrmZeiterfassung;
implementation
{$R *.dfm}
procedure TfrmZeiterfassung.FormCreate(Sender: TObject);
begin
lbldate.Caption:= DateToStr(Date);
lbltime.Caption:= TimeToStr(Time);
frmZeiterfassung.Caption:= '
Programm gestartet am: ' + DateToStr(Date) +
'
um: ' + TimeToStr(Time);
AmArbeiten:= false;
InderPause:= false;
end;
procedure TfrmZeiterfassung.UhrzeitTimerTimer(Sender: TObject);
begin
lbltime.Caption:= TimeToStr(Time);
end;
procedure TfrmZeiterfassung.ExitClick(Sender: TObject);
begin
close;
end;
procedure TfrmZeiterfassung.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose:= true;
end;
procedure TfrmZeiterfassung.AnfangArbeitClick(Sender: TObject);
begin
if AmArbeiten= true
then
Messagedlg('
Sie Sind schon am Arbeiten',mtError,[mbok],0)
else
begin
AmArbeiten:= true;
AnfangsZeitArbeit:= Time;
ShowMessage(TimeToStr(AnfangsZeitArbeit));
end;
end;
procedure TfrmZeiterfassung.EndeArbeitClick(Sender: TObject);
begin
if AmArbeiten= false
then
Messagedlg('
Sie Sind nicht am Arbeiten',mtError,[mbok],0)
else
begin
AmArbeiten:= false;
EndeZeitArbeit:= Time;
ShowMessage(TimeToStr(EndeZeitArbeit));
end;
end;
procedure TfrmZeiterfassung.AnfangPauseClick(Sender: TObject);
begin
if AmArbeiten= false
then
Messagedlg('
Sie können nicht in die Pause gehen da sie noch nicht am Arbeiten sind.',mtError,[mbok],0)
else
begin
if InderPause= true
then
Messagedlg('
Sie Sind schon in der Pause.',mtError,[mbok],0)
else
begin
InderPause:= true;
AnfangsZeitPause:= Time;
ShowMessage(TimeToStr(AnfangsZeitPause));
end;
end;
end;
procedure TfrmZeiterfassung.EndePauseClick(Sender: TObject);
begin
if AmArbeiten= false
then
Messagedlg('
Sie können nicht in die Pause gehen da sie noch nicht am Arbeiten sind.',mtError,[mbok],0)
else
begin
if InderPause= false
then
Messagedlg('
Sie Sind nicht in der Pause.',mtError,[mbok],0)
else
begin
InderPause:= false;
EndeZeitPause:= Time;
ShowMessage(TimeToStr(EndeZeitPause));
end;
end;
end;
end.