Seite 1 von 1
Ein Fenster mit sichtbaren Countdown
Verfasst: 27.05.2005 12:20
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
Verfasst: 27.05.2005 12:27
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.
Verfasst: 27.05.2005 14:13
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.
Verfasst: 27.05.2005 16:50
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 ?
Verfasst: 27.05.2005 16:53
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.
Verfasst: 27.05.2005 17:39
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
Verfasst: 27.05.2005 17:52
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
Verfasst: 27.05.2005 18:28
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
Verfasst: 27.05.2005 18:51
von HoDam
dankeschön