/trunk/Stoppuhren-Verwaltung/ChildWin.dfm |
---|
43,8 → 43,6 |
Font.Style = [] |
ParentFont = False |
TabOrder = 0 |
ExplicitWidth = 273 |
ExplicitHeight = 49 |
end |
object Button1: TButton |
Left = 8 |
65,8 → 63,6 |
Caption = 'Reset' |
TabOrder = 2 |
OnClick = Button2Click |
ExplicitLeft = 211 |
ExplicitTop = 109 |
end |
object Timer1: TTimer |
Interval = 100 |
/trunk/Stoppuhren-Verwaltung/ChildWin.pas |
---|
21,6 → 21,12 |
StartTime: TDateTime; |
SecondsPrev: integer; |
SecondsTotal: integer; |
public |
procedure StartTimer; |
procedure StopTimer; |
procedure ResetTimer; |
procedure StartStopTimer; |
function TimerIsRunning: boolean; |
end; |
implementation |
28,42 → 34,20 |
{$R *.dfm} |
uses |
DateUtils, Math; |
DateUtils, Math, Main; |
procedure TMDIChild.Button1Click(Sender: TObject); |
begin |
if CompareValue(StartTime, 0) <> 0 then |
begin |
// Es läuft. Stoppe es |
SecondsTotal := SecondsPrev + trunc((Now - StartTime) * 24*60*60); |
SecondsPrev := SecondsTotal; |
StartTime := 0; |
memo1.Color := clWindow; |
end |
else |
begin |
// Es läuft nicht. Starte es. |
StartTime := Now; |
memo1.Color := clYellow; |
StartStopTimer; |
end; |
end; |
procedure TMDIChild.Button2Click(Sender: TObject); |
begin |
if MessageDlg('Stoppuhr ' + Trim(Memo1.Lines.Text) + ' wirklich resetten?', mtConfirmation, mbYesNoCancel, 0) = mrYes then |
begin |
if CompareValue(StartTime, 0) <> 0 then |
begin |
// Es läuft. Starte neu |
StartTime := Now; |
end |
else |
begin |
// Es läuft nicht. Resette Zeit |
SecondsPrev := 0; |
ResetTimer; |
end; |
end; |
end; |
procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction); |
begin |
83,9 → 67,64 |
Constraints.MaxHeight := Height; |
end; |
procedure TMDIChild.ResetTimer; |
begin |
if TimerIsRunning then |
begin |
// Es läuft. Starte neu |
StartTime := Now; |
end |
else |
begin |
// Es läuft nicht. Resette Zeit |
SecondsPrev := 0; |
end; |
end; |
procedure TMDIChild.StartStopTimer; |
begin |
if TimerIsRunning then |
begin |
// Es läuft. Stoppe es |
StopTimer; |
end |
else |
begin |
// Es läuft nicht. Starte es. |
if MainForm.NureineUhrgleichzeitig1.Checked then |
begin |
MainForm.StopAllTimers; |
end; |
StartTimer; |
end; |
end; |
procedure TMDIChild.StartTimer; |
begin |
if not TimerIsRunning then |
begin |
// Es läuft nicht. Starte es. |
StartTime := Now; |
memo1.Color := clYellow; |
end; |
end; |
procedure TMDIChild.StopTimer; |
begin |
if TimerIsRunning then |
begin |
// Es läuft. Stoppe es |
SecondsTotal := SecondsPrev + trunc((Now - StartTime) * 24*60*60); |
SecondsPrev := SecondsTotal; |
StartTime := 0; |
memo1.Color := clWindow; |
end; |
end; |
procedure TMDIChild.Timer1Timer(Sender: TObject); |
begin |
if CompareValue(StartTime, 0) <> 0 then |
if TimerIsRunning then |
begin |
SecondsTotal := SecondsPrev + trunc((Now - StartTime) * 24*60*60); |
end |
97,4 → 136,9 |
label1.Caption := FormatDateTime('hh:nn:ss', SecondsTotal / SecsPerDay); |
end; |
function TMDIChild.TimerIsRunning: boolean; |
begin |
result := CompareValue(StartTime, 0) <> 0; |
end; |
end. |
/trunk/Stoppuhren-Verwaltung/Main.dfm |
---|
16,6 → 16,7 |
Position = poDefault |
WindowMenu = Window1 |
OnCloseQuery = FormCloseQuery |
OnShow = FormShow |
PixelsPerInch = 96 |
TextHeight = 13 |
object StatusBar: TStatusBar |
75,6 → 76,13 |
object FileCloseItem: TMenuItem |
Action = FileClose1 |
end |
object N2: TMenuItem |
Caption = '-' |
end |
object AlleUhrenstoppen1: TMenuItem |
Caption = 'Alle Uhren stoppen' |
OnClick = AlleUhrenstoppen1Click |
end |
object N1: TMenuItem |
Caption = '-' |
end |
82,6 → 90,14 |
Action = FileExit1 |
end |
end |
object Einstellungen1: TMenuItem |
Caption = 'Einstellungen' |
object NureineUhrgleichzeitig1: TMenuItem |
AutoCheck = True |
Caption = 'Nur eine Uhr gleichzeitig' |
OnClick = NureineUhrgleichzeitig1Click |
end |
end |
object Window1: TMenuItem |
Caption = '&Fenster' |
Hint = 'Fensterbezogene Anweisungen' |
178,7 → 194,7 |
Left = 160 |
Top = 408 |
Bitmap = { |
494C010112001400100010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 |
494C010112001400140010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 |
0000000000003600000028000000400000005000000001002000000000000050 |
0000000000000000000000000000000000000000000000000000000000000000 |
0000000000000000000000000000000000000000000000000000000000000000 |
/trunk/Stoppuhren-Verwaltung/Main.pas |
---|
45,16 → 45,22 |
ToolButton10: TToolButton; |
ToolButton11: TToolButton; |
ImageList1: TImageList; |
Einstellungen1: TMenuItem; |
NureineUhrgleichzeitig1: TMenuItem; |
AlleUhrenstoppen1: TMenuItem; |
N2: TMenuItem; |
procedure FileNew1Execute(Sender: TObject); |
procedure FileOpen1Execute(Sender: TObject); |
procedure HelpAbout1Execute(Sender: TObject); |
procedure FileExit1Execute(Sender: TObject); |
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); |
procedure NureineUhrgleichzeitig1Click(Sender: TObject); |
procedure FormShow(Sender: TObject); |
procedure AlleUhrenstoppen1Click(Sender: TObject); |
private |
{ Private-Deklarationen } |
procedure CreateMDIChild(const Name: string); |
public |
{ Public-Deklarationen } |
procedure StopAllTimers; |
end; |
var |
64,11 → 70,16 |
{$R *.dfm} |
uses CHILDWIN, about; |
uses CHILDWIN, about, IniFiles; |
var |
StopUhrCount: integer = 1; |
procedure TMainForm.AlleUhrenstoppen1Click(Sender: TObject); |
begin |
StopAllTimers; |
end; |
procedure TMainForm.CreateMDIChild(const Name: string); |
var |
Child: TMDIChild; |
96,11 → 107,46 |
//CanClose := MessageDlg('Programm wirklich beenden?', mtConfirmation, mbYesNoCancel, 0) = mrYes; |
end; |
procedure TMainForm.FormShow(Sender: TObject); |
var |
x: TMemIniFile; |
begin |
x := TMemIniFile.Create('Settings.ini'); |
try |
NureineUhrgleichzeitig1.Checked := x.ReadBool('Settings', 'SingleClockMode', false); |
finally |
FreeAndNil(x); |
end; |
end; |
procedure TMainForm.HelpAbout1Execute(Sender: TObject); |
begin |
AboutBox.ShowModal; |
end; |
procedure TMainForm.NureineUhrgleichzeitig1Click(Sender: TObject); |
var |
x: TMemIniFile; |
begin |
x := TMemIniFile.Create('Settings.ini'); |
try |
x.WriteBool('Settings', 'SingleClockMode', NureineUhrgleichzeitig1.Checked); |
x.UpdateFile; |
finally |
FreeAndNil(x); |
end; |
end; |
procedure TMainForm.StopAllTimers; |
var |
i: integer; |
begin |
for i := 0 to MDIChildCount - 1 do |
begin |
TMdiChild(MDIChildren[i]).StopTimer; |
end; |
end; |
procedure TMainForm.FileExit1Execute(Sender: TObject); |
begin |
Close; |
/trunk/Stoppuhren-Verwaltung/Settings.ini |
---|
0,0 → 1,3 |
[Settings] |
SingleClockMode=1 |
/trunk/Stoppuhren-Verwaltung/Stoppuhren.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |