Ja, das hin und her und die vieln Beispiel verwirren... auch die ganzen Units mit gleichen Namen hätten mich fast meinen Code gekostet
Werde morgen mal aktualisieren... jetzt bin ich zu Müde, da mache ich nur wieder was falsches. Aber der Int64 vs. Word Fehler bei der Stopuhr hat mich gleich eine Klasse basteln lassen (ich soll ja üben):
Delphi-Quellcode:
unit UStopUhr;
interface
type
TStopUhr =
class
private
FStoppedTime : Int64;
FStartTime,
FStopTime : TDateTime;
protected
function GetStoppedTime:
String;
public
Constructor Create;
Destructor Destroy;
Override;
procedure Start;
procedure Stop;
property StartTime: TDateTime
read FStartTime;
property StopTime: TDateTime
read FStopTime;
property StoppedTime: Int64
read FStoppedTime;
property StoppedTimeStr:
String read GetStoppedTime;
end;
implementation
uses SysUtils;
{ TStopUhr }
constructor TStopUhr.Create;
begin
FStartTime := Now;
FStopTime := FStartTime;
FStoppedTime := 0;
end;
destructor TStopUhr.Destroy;
begin
inherited;
end;
function TStopUhr.GetStoppedTime:
String;
var
Dbl : Double;
begin
Dbl := FStoppedTime;
Result := Format('
%.0n ms',[dbl]);
end;
procedure TStopUhr.Start;
begin
FStartTime := Now;
end;
procedure TStopUhr.Stop;
var
Hour, Min, Sec, MSec: Word;
begin
FStopTime := Now;
DecodeTime(FStopTime - FStartTime, Hour, Min, Sec, MSec);
FStoppedTime := MSec + (Sec * 1000) + (Min * 60 * 1000) + (Hour * 60 * 60 * 1000);
end;
end.