Autor Beitrag
Swagger Jackin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 21.02.10 17:54 
Im Projekt versuche ich zwischen Start und Ende die Zeit zu messen und anzuzeigen.
Ich erhalte bei jedem neuem Spielstart durch klicken NeuesSpiel im Menü immer dieselbe Zeit und ich will es neben Label anzeigen, jedoch wird das Label erstezt durch die Zeit


Zuletzt bearbeitet von Swagger Jackin am Sa 27.02.10 13:39, insgesamt 1-mal bearbeitet
Magic J
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66

WinXP Prof., Vista
Delphi6, Delphi 2009, Java(Eclipse), C++, Basic
BeitragVerfasst: So 21.02.10 18:07 
Hi,
Zitat:
Ich erhalte bei jedem neuem Spielstart durch klicken NeuesSpiel im Menü immer dieselbe Zeit

naja deine Variable 'start' wird nie beschrieben!
Ich denkmal darin sollte die Startezeit am Anfang abgespeichert werden

Zitat:
und ich will es neben Label anzeigen, jedoch wird das Label erstezt durch die Zeit

wenn deine Label vorher schon ein Caption hat wird das natürlich überschrieben.
willst du einen Text davor musst du ihn schon nochmal hinzufügen:

ausblenden Delphi-Quelltext
1:
Label2.Caption := 'Zeit: ' + FormatDatetime('ss', runtime);					


Gruß,
Swagger Jackin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 21.02.10 18:28 
naja deine Variable 'start' wird nie beschrieben!
Ich denkmal darin sollte die Startezeit am Anfang abgespeichert werden

ich dachte: start:=now; reicht aus
Was muss ich ändern, weiß auch nichts anderes
Niko S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 566
Erhaltene Danke: 10

Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
BeitragVerfasst: So 21.02.10 18:33 
Also es geht beispielsweise so
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
  StartTime: Int64;
begin
  StartTime := GetTickCount;
  { Do Some Code }
  Label1.caption := Format('Der Vorgang dauerte: %f s',[(GetTickCount-StartTime) / 1000]);

Ich hoffe ich hab da jetzt keine Fehler reingebracht.
GetTickCount ist nicht unbedingt super genau.
bole
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 107
Erhaltene Danke: 15

win 10

BeitragVerfasst: So 21.02.10 18:34 
Die Variable start in Unit1 initialisierst merkt die Variable start in Unit13 nichts...

Das sind zwei verschiedene Variabeln.

_________________
ein programm macht nicht das was du willst sondern was du schreibst!
Magic J
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66

WinXP Prof., Vista
Delphi6, Delphi 2009, Java(Eclipse), C++, Basic
BeitragVerfasst: So 21.02.10 18:44 
Zitat:
Die Variable start in Unit1 initialisierst merkt die Variable start in Unit13 nichts...

Genau.

Deshalb solltest du 'start' aus Unit1 entfernen und sie dafür (zB.) in Unit13 als public definieren

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//...
  private   
   { Private-Deklarationen }
  public
    start: TDatetime;
  end;

var  Form13: TForm13;
     runtime  : TDatetime;
     i        : integer;
//...


Gruß,
Swagger Jackin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 21.02.10 20:20 
habe es umgeändert trotzdem dieselbe Zeit, hat sich leider nichts geändert
Magic J
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66

WinXP Prof., Vista
Delphi6, Delphi 2009, Java(Eclipse), C++, Basic
BeitragVerfasst: So 21.02.10 21:32 
Du hast also die Variable in Unit1 gelöscht und den dortigen Aufruf angepasst?
ausblenden Delphi-Quelltext
1:
Form13.start := now;					


Wenn ja, dann muss du wohl noch deinen Zeitberechnung in der Unit13 in 'OnShow' und nicht in 'OnCreate' ausführen...
OnCreate wird nur einamlig beim Erstellen(nicht Anzeigen) des Forms ausgeführt!

Gruß,
Swagger Jackin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: So 21.02.10 22:03 
Endlich läuft es richtig
Magic J: dein Vorschlag war das Letzte was noch gefehlt hatte
Danke für alle Antworten!