Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Gast
|
Verfasst am: 30. Dez 2005 16:46 Titel: timer (delphi) |
|
|
hallo!
wie kann man denn die startzeit bei dem timer in delphi ändern?
also so, dass der zb immer um 00:00:00 anfängt anstatt die uhrzeit des computers zu übernehmen... geht das?
schonmal danke für eure hilfe! |
|
Nach oben |
|
|
|
Bartoman88
Anmeldungsdatum: 25.05.2005 Beiträge: 68
|
Verfasst am: 30. Dez 2005 19:01 Titel: |
|
|
Wieso übernimmt der denn die Systemzeit?
Du setzt als Intervall 1000 ms und im Quelltext definierst du eine Variable zum hochzählen (am besten global, damit sie beim Start des Programms initialisiert werden kann).
Im Timer steht dann in etwa folgendes:
Code: | inc(i);
label1.caption:=inttostr(i); |
Du kannst das natürlich noch so umbasteln, dass es im Format hh:mm:ss angezeigt wird. _________________ Profil aufgeräumt, Signatur ab in den Müll |
|
Nach oben |
|
|
Gast
|
Verfasst am: 02. Jan 2006 13:23 Titel: |
|
|
Bartoman88 hat Folgendes geschrieben: | Wieso übernimmt der denn die Systemzeit? |
keine ahnung!
Zitat: | Du setzt als Intervall 1000 ms und im Quelltext definierst du eine Variable zum hochzählen (am besten global, damit sie beim Start des Programms initialisiert werden kann). |
also zb
var i: integer;
Zitat: | Im Timer steht dann in etwa folgendes:
Code: | inc(i);
label1.caption:=inttostr(i); |
|
was ist inc?!
Zitat: | Du kannst das natürlich noch so umbasteln, dass es im Format hh:mm:ss angezeigt wird. |
das wäre super... wie mach ich das?
versteh ich das richtig, dass ich ansonsten im label nur die sekunden angezeigt bekomme? |
|
Nach oben |
|
|
Bartoman88
Anmeldungsdatum: 25.05.2005 Beiträge: 68
|
Verfasst am: 02. Jan 2006 18:45 Titel: |
|
|
Gast hat Folgendes geschrieben: | was ist inc?! |
Das ist eine Funktion, die das Argument (also die Variable in der Klammer, hier ist das i) um 1 erhöht. Du kannst auch schreiben i:=i+1; Da kommt das selbe raus.
Gast hat Folgendes geschrieben: | das wäre super... wie mach ich das? |
Ich würde das mit 3 Labels machen. Eins für Stunden, eins für Minuten, eins für Sekunden. Die Sekunden lässt du wie oben hochzählen. Wenn 60 erreicht wird, dann werden die Minuten um 1 erhöht und die Sekunden auf 0 zurückgesetzt. Wenn die Minuten 60 erreichen, werden die Stunden um 1 erhöht und die Minuten auf 0 zurückgesetzt. Das kriegst du mit if-Konstruktionen hin.
Zum Beispiel:
Code: |
inc(sek);
if sek=60 then
begin
inc(min);
sek:=0;
end;
if min=60 then
begin
inc(std);
min:=0;
end;
sekunden.caption:=inttostr(sek);
minuten.caption:=inttostr(min);
stunden.caption:=inttostr(std);
|
Gast hat Folgendes geschrieben: | versteh ich das richtig, dass ich ansonsten im label nur die sekunden angezeigt bekomme? |
So ist es. _________________ Profil aufgeräumt, Signatur ab in den Müll |
|
Nach oben |
|
|
Gast
|
Verfasst am: 04. Jan 2006 18:48 Titel: |
|
|
wow, super danke! |
|
Nach oben |
|
|
|