Ein Fenster mit sichtbaren Countdown

Anfängerfragen zum Programmieren mit PureBasic.
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Ein Fenster mit sichtbaren Countdown

Beitrag von HoDam »

Hallo,

wie kann ich einen festdefinierten Countdown in einem Fenster sichtbar machen.

Beispiel: ich möchte eine Demoversion erstellen. Dazu möchte ich ein Fenster öffnen (MessageRequester) in dem z.B. ein 10sec countdown abläuft, danach soll da Programm automatsch fortfahren.

Dankeschön
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

oh, im message requester wirds schwiriger.
wenn du aber ein fenster nimmst, kannst du elapsedmillisecunds nehemen.

bei msgboxen?
sorry, da kann ich nicht weiterhelfen

ich denke, dass geht gar nicht, da ja eine msgbox das ganze programm anhält, bis eine taste (button) gedrück wird.
-.-"
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Schreib dir selbst einen MessageRequester-Fenster, dann geht das. Mit dem Standard-Ding afaik nicht, es sei denn, man lässt es per Timer jede Sekunde schließen und mit neuer Zeit öffnen, was natürlich unschön aussieht.
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

nagut, es muss icht unbedingt eine messagebox sein. Ich dachte nur das es damit am einfachsten zu realisieren wäre

ich möcht letztendlich ein Fenster (200*100 Pixel), zentriert auf dem Bildschirm haben. In diesem Fenster soll ein Counter die Sekunden (10sec) runterzählen und dann im Programm weitermachen. Der Anwender soll keine Möglicheit haben, diesen Vorgang abzubrechen.

Es muss auch kein genauer Timer sein. Es geht mir nur um ein break.

Sicherlich läßt sich das über ein schleife realisieren, das ist dann aber leider auch wieder hardwareabhängig.

Gibt es eine Zeitfunktion in PB ?
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

eine timer - funktion gibt es nur mittels elapsedmilliseconds.

wenn du wirklich dem user keine möglich keit lassen willst, dein programm innerhalb von 10 sec, zu beenden, dann mach einfach ein
delay(10000)

rein, das haltet dein programm für genau 10 sec an.
jedoch kann dort wirklich nichts verändert werden.
-.-"
hussi
Beiträge: 70
Registriert: 19.05.2005 13:30

Beitrag von hussi »

Hallo

oder eine Schleife...

Code: Alles auswählen

verzogerung = 10
for x = 1 to verzoegerung
y = 10 - verzoegerung
SetGadgetText(#Gadget, str(y) )
delay (1000)
if x = 10
flag = 1
endif
next x
Fenster 2 erst öffnen, wenn flag = 1 damit der User trotz Abbruch des Programms nicht weiter kommt.

Gruß Hussi
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

So bin fündig geworden auf

http://www.purearea.net/pb/CodeArchiv/German.html#15

StringGadget_Countdown.pb

Ein kleine Änderung und er zählt auch rückwarts.

Wie kann ich solch ein Fenster auf dem Bildschirm zentrieren.



PS: nehmt es mir nicht übel, aber mit Purebasic bin ich absoluter Beginner
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Wie kann ich solch ein Fenster auf dem Bildschirm zentrieren.

Code: Alles auswählen

WindowID = OpenWindow(#Window, x, y, InnereBreite, InnereHöhe, Flags, Titel$ [, ParentWindowID])
Als Flag gibst Du u.A. #PB_Window_ScreenCentered an.

Grüße ... Kiffi
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

dankeschön
Antworten