Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zeit ablaufen lassen (https://www.delphipraxis.net/64342-zeit-ablaufen-lassen.html)

mindforce 2. Mär 2006 12:20


Zeit ablaufen lassen
 
Hi,

ich brauche einen Code womit man ein Countdown z.B. von 15 sek auf 0 Zählen kann. Dann sollte ein showmessage auftauchen.
Kann mir da jemand helfen?

Gruss,

Mindforce

/Edit: Ja hab ich ja ausprobiert. Aber rückwärts weiss ich nicht wie man das mit dem Timer macht. Ich weiss nur wie man die Uhrzeit und/ oder Datum anzeigt.
---

Schaedel 2. Mär 2006 12:21

Re: Zeit ablaufen lassen
 
Warum nimmst du nicht einfach einen TImer?

Schaedel 2. Mär 2006 12:26

Re: Zeit ablaufen lassen
 
Also du gibst den start vor...
start := 15...

dann stellst du den Timer auf eine Sekunde ein...

Immer wenn der Timer ausgelöst wird soll er Start -1 machen.
Wenn Start = 0 dann Showmessage('Boom'); ;)

// edit
Delphi-Quellcode:
// Start private deklarieren...

procedure TFMailverwaltung.Button1Click(Sender: TObject);
begin
  start := 15;
  timer2.Enabled:= true;
end;

procedure TFMailverwaltung.Timer2Timer(Sender: TObject);
begin
 start := start -1;
 if start = 0 then begin showmessage('boom'); timer2.Enabled := false; end;
end;

mindforce 2. Mär 2006 12:28

Re: Zeit ablaufen lassen
 
Vielen Dank für deine Antwort.

Werde ich ausprobieren sobald mein PC wieder richtig funzt.

Grus,

Mindforce

mindforce 2. Mär 2006 13:59

Re: Zeit ablaufen lassen
 
Ok. Soweit funzt nun mein PC.

Ja. Womit soll ich denn Start deklarieren?

Gruss,

Mindforce

Schaedel 2. Mär 2006 14:03

Re: Zeit ablaufen lassen
 
Delphi-Quellcode:
private
  Start: integer;
Quasi da...

chaosben 2. Mär 2006 14:03

Re: Zeit ablaufen lassen
 
Zitat:

Zitat von mindforce
Ja. Womit soll ich denn Start deklarieren?

Das hängt sehr stark davon ab, was du in "start" speichern willst. Nehmen wir an du möchtest darin einen Button (DelphiTage 2006 :) ) speichern. Dann wäre der Sinngehalt der nachfolgenden Anweisung gleich Null.
Delphi-Quellcode:
start : Integer
Aber man könnte diese Anweisung nutzen, um in "start" eine Zahl zu speichern, z.B. dann, wenn man einen Countdown programmieren will ...... :freak:

Klaus01 2. Mär 2006 14:04

Re: Zeit ablaufen lassen
 
gestartet wird mit

timer1.enabled:=true gemacht;
timer1.interval:=zeitinsSekunden* 1000:

Allerdings muß man dazu sagen, das die Timerkomponente nicht genau
arbeitet.

Grüße
Klaus

Danny87 2. Mär 2006 14:08

Re: Zeit ablaufen lassen
 
Du kannst alternativ zu einem Timer auch eine Schleife bauen. Ist aber nicht die Optimale Lösung.

Delphi-Quellcode:
...
var i : integer;
begin
for i := 14 downto 0 do
  begin
  Sleep(1000);
  Application.Processmessages;
  end;
ShowMessage('Countdown abgelaufen');
end;
gruss daniel

Schaedel 2. Mär 2006 14:09

Re: Zeit ablaufen lassen
 
Mit sleep friest du aber das ganze Programm ein ... uah... :shock:

Danny87 2. Mär 2006 14:09

Re: Zeit ablaufen lassen
 
stimmt.
aus dem grund ist es ja auch nicht die optimalste lösung ;-)

Klaus01 2. Mär 2006 14:11

Re: Zeit ablaufen lassen
 
wenn es nicht einfrieren soll
delay nehmen.
infos dazu gibt es hier http://www.swissdelphicenter.ch/torr...code.php?id=55

Grüße
Klaus

TeronG 2. Mär 2006 14:14

Re: Zeit ablaufen lassen
 
Zitat:

Zitat von Schaedel
Mit sleep friest du aber das ganze Programm ein ... uah... :shock:

hier in der DP giebts aber auch n Sleep ohne sleep ^^ (Link)

Angel4585 2. Mär 2006 14:15

Re: Zeit ablaufen lassen
 
Delphi-Quellcode:
var
 FTime : TDateTime;

procedure StartCountdown(AnzSekunden : Integer);
begin
FTime:=IncSecond(Now,AnzSekunden);
Timer1.enabled:=True;
end;

//Timerintervall auf 1000
procedure TForm1.Timer1Time(Sender : TObject);
begin
if Now > FTime then
 begin
 ShowMessage('BOOOM');
 Timer1.enabled:=False;
 end;
end;
mein Vorschlag.. ungetestet

Edit: Für IncSecond musst du DateUtils in die Uses Liste eintragen

mindforce 2. Mär 2006 14:31

Re: Zeit ablaufen lassen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Aja ist ja klar. Schon verstanden.
Hätte ich wissen müssen. Hab aber stress mit meinem PC.

WOW vielen Dank für eure Antrworten.

Ich probier ALLES mal aus. Kann aber noch dauern :-)=).

Gruss,

Mindforce :angel2:

Angel4585 2. Mär 2006 14:33

Re: Zeit ablaufen lassen
 
lol selbst mit dsl brauchts 20 Sekunden um des Bild zu öffnen.. mach dich das nächste mal bitte jpg
danke

Daniel 2. Mär 2006 14:39

Re: Zeit ablaufen lassen
 
@mindforce: Bitte kennzeichne Dein OT-Attachment auch als solches, um anderen den fast 3 Mbytes großen Download zu ersparen. :roll: Im Übrigen verbrätst Du damit nur unsere Plattenkapazität und Bandbreite.

mindforce 2. Mär 2006 14:56

Re: Zeit ablaufen lassen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oh sorry. Scheiss auflösung hab ich.

Ich änder es mal.

[/size]/edit: Nein ich bin der dumme, der nicht nichtig etwas erklären kann. Ich bion der dumme 13 Jährige. :angel:

zecke 2. Mär 2006 15:05

Re: Zeit ablaufen lassen
 
Ich verstehe den Sinn immer noch nicht. Erleuchtet mich, ich fühle mich dumm :?

edit nach Angel: Sollte eine Kurzform für "ich habe das Gefühl ich bin dumm" sein :wink: - aber ich ticke anders, ich weiß :mrgreen:

Angel4585 2. Mär 2006 15:06

Re: Zeit ablaufen lassen
 
[OT]
zecke du verwechselst was: fühlen<>sein
[/OT]

mindforce 2. Mär 2006 15:41

Re: Zeit ablaufen lassen
 
Jo an alle.

VIELEN DANK für eure Hilfe.
Soweit ich alle Code´s ausprobiert habe ist der erste am besten.

Aber den
Delphi-Quellcode:
ar
FTime : TDateTime;

procedure StartCountdown(AnzSekunden : Integer);
begin
FTime:=IncSecond(Now,AnzSekunden);
Timer1.enabled:=True;
end;

//Timerintervall auf 1000
procedure TForm1.Timer1Time(Sender : TObject);
begin
if Now > FTime then
begin
ShowMessage('BOOOM');
Timer1.enabled:=False;
end;
end;
kann ich nicht deklarieren. Ich bin zu dumm dafür. :roll:

VIELEN DANK AN ALLE.

Gruss,

Mindforce

Schaedel 2. Mär 2006 15:44

Re: Zeit ablaufen lassen
 
1. Was bringt er für nen Fehler
2. Wo bleibt er stehen.
3. Was kannst du nicht deklarieren?
:wiejetzt: :wiejetzt:

mindforce 2. Mär 2006 21:03

Re: Zeit ablaufen lassen
 
Ich schnall das nicht wie man manuelle "functions" und "producer"s deklariert.
KEINER kanss mir beibringen!

malo 2. Mär 2006 21:59

Re: Zeit ablaufen lassen
 
Zitat:

Zitat von mindforce
Ich schnall das nicht wie man manuelle "functions" und "producer"s deklariert.
KEINER kanss mir beibringen!

www.dsdt.info/grundlagen ;)

inherited 5. Mai 2006 19:29

Re: Zeit ablaufen lassen
 
Zitat:

Zitat von mindforce
[...]
Delphi-Quellcode:
var
FTime : TDateTime;

procedure StartCountdown(AnzSekunden : Integer);
begin
FTime:=IncSecond(Now,AnzSekunden);
Timer1.enabled:=True;
end;

//Timerintervall auf 1000
procedure TForm1.Timer1Time(Sender : TObject);
begin
if Now > FTime then
begin
ShowMessage('BOOOM');
Timer1.enabled:=False;
end;
end;
kann ich nicht deklarieren. Ich bin zu dumm dafür. :roll:

VIELEN DANK AN ALLE.

Gruss,

Mindforce

Die musst du garnicht deklarieren. Schreib sie einfach so irgendwo unter implementation hin

Delphi-Quellcode:
Timer1.enabled:=True;
wohl eher
Delphi-Quellcode:
Form1.Timer1.enabled:=True;
€dit: oh, hoffe das kommt nich zu spät?

Code:
Mindforce
ehem. Benutzer


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz