Hi,
habe mir gerade eine Stoppuhrfunktion geschrieben die die Zeit zwischen dem ersten und dem
zweiten Button click stoppen soll.
Beim ersten Klick wird die Systemzeit genommen(z.B.
14039419),
beim zweiten wird nochmal die Systemzeit(z.B.
14040776) abgerufen und daraufhin wird die
erste von der zweiten abgezogen(was 1357 ergeben sollte, auf dem Ausgabepanel erscheint aber
9668144),
die Startzeit hat sich nach dem ersten KLick einfach von
14039419 in
4372632 geändert wie kann das sein?
Gruß
Delphi-Quellcode:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm2 =
class(TForm)
Button1: TButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form2: TForm2;
Status:
string;
// start, stop
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
Status := '
start';
end;
procedure TForm2.Button1Click(Sender: TObject);
var
Ti1, Ti2: Integer;
// Ti1:Startzeit Ti2: Stoppzeit
begin
if Status = '
start'
then
begin
Ti1 := GetTickCount;
// Startzeit := Systemnzeit(ms)
Status := '
stop';
Button1.Caption := Status;
Panel1.Caption := IntToStr(Ti1);
end else
if Status = '
stop'
then
begin
Ti2 := GetTickCount;
// Stoppzeit := Systemzeit
Status := '
start';
Button1.Caption := Status;
// Zeitspanne := Stoppzeit - Startzeit;
Panel4.Caption := IntToStr(Ti1);
Panel2.Caption := IntToStr(Ti2);
Panel3.Caption := IntToStr(Ti2 - Ti1);
end;
end;
end.