Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zeitgrenzen setzen (https://www.delphipraxis.net/192531-zeitgrenzen-setzen.html)

Gunther Seel 26. Apr 2017 18:00

Zeitgrenzen setzen
 
Hallo, einen schönen Gruß an die Cracks!

Ich habe lange Zeit nicht mehr programmiert und muss/will nun noch einmal wieder beginnen.

Ich arbeite mit der Version Delphi 6 prof.

Ich möchte für meinen Enkel ein Übungsprograsmm für das Rechnen schreiben. Dafür möchte ich ein variables Zeitlimit setzen, innerhalb dessen er sein Ergebnis eingeben muss. Wer kann mir helfen?

Schon einmal einen herzlichen Dank

Gunther Seel

nahpets 26. Apr 2017 18:09

AW: Zeitgrenzen setzen
 
Wenn eine Aufgabe gestellt wird einen Timer einschalten. (TTimer-Komponente)

Bei dem kann man in Interval die "Wartezeit" in Millisekunden angeben.

Wenn diese Zeit abgelaufen ist, eine Meldung ausgeben, die Eingabe blockieren, das Ergebnis anzeigen ...

a.def 26. Apr 2017 18:19

AW: Zeitgrenzen setzen
 
... und nicht vergessen den Timer wieder auszuschalten.

Gunther Seel 26. Apr 2017 19:59

AW: Zeitgrenzen setzen
 
Zunächst einmal vielen Dank. Dennoch:

Da ich noch nie mit einem TTimer gearbeitet habe hätte ich gerne ein kleines Beispiel zum einsatz:

Der Timer wird gestartet
Ein Editfeld wird sichtbar

Nach Ablauf der Zeit wird das Feld unsichtbar.

Ich hoffe, dass ich Euch nicht zuviel zumute und bedanke mich schon mal im Voraus
Gunther

Luckie 26. Apr 2017 20:41

AW: Zeitgrenzen setzen
 
Mach doch einfach mal eine Timer Komponente auf die Form und guck dir die Eigenschaften an. Mit der Codevervollständigung kannst du gucken, was es für Methoden gibt.

a.def 26. Apr 2017 21:52

AW: Zeitgrenzen setzen
 
Hier eine kleine Hilfe
Delphi-Quellcode:
// Das hier ist bei mir ein button!
procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.Visible := False; // Edit verstecken
 Timer3.Interval := 5000; // Timer auf 5000 Millisekunden stellen
 Timer3.Enabled := True; // Timer starten
end;

// Der Timer nun selber:
// Sobald man oben auf den Button drückt, wird er Timer gestartet und es dauert rund 5 Sekunden bis das Edit angezeigt wird!
procedure TForm1.Timer3Timer(Sender: TObject);
begin
 Timer3.Enabled := False; // Timer AUSSCHALTEN
 Edit1.Visible := True; // Edit anzeigen
end;
1. setz einen Button, ein Edit und einen Timer auf dein Formular
2. Doppelklicke in den Button und füge den Code ein
3. Doppelklicke in den Timer und füge den Code ein

- im Objektinspektor würde ich den Timer aber noch auf Enabled False setzen (da er sonst bei Programmstart direkt "an" ist) und das Edit auf Visible := False.

Gunther Seel 27. Apr 2017 10:05

AW: Zeitgrenzen setzen
 
Hallo, vielen Dank für die Mühe, aber leider komme ich nicht mit dem Timer zurecht:

Ich will zwei Zahlen in Editfeldern ausgeben.
Der Benutzer soll 5 Sekunden Zeit haben, die Summe einzugeben .
Danach soll die Eingabe mit der korrekten Summe verglichen werden.

Ich bin leider mit allen Versuchen gescheitert, eine Zeitbegrenzung für die Eingabe zu programmieren. Eigentlich müsste das doch gehen.
Wenn ihr noch einen Tip für mich hättet, so wäre ich natürlich glücklich

Vielen Dank Gunther

a.def 27. Apr 2017 10:08

AW: Zeitgrenzen setzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich mache dir mal ein minimales Beispiel. Kommt in Kürze.
Siehe Anhang.

Gunther Seel 27. Apr 2017 12:14

AW: Zeitgrenzen setzen
 
Also, da kann ich doch nur "herzlichen Dank" sagen. Das Programm macht nun, was es soll. Tatsächlich weiß ich nicht, was ich zuvor falsch gemacht habe.

Aber echt super, dass Du Dir die Zeitgenommen hast.

Gunther

p.s. Die Trim-Anweisung scheint unter Delphi 6 prof nicht zu existieren, aber das beeinträchtigt meine Arbeit nicht. :-D

a.def 27. Apr 2017 12:16

AW: Zeitgrenzen setzen
 
Im Prinzip wird nur geprüft, ob Edit3 eine Eingabe enthäl. Denn wenn nicht würde StrToInt eine Fehlermeldung ausgeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 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