in PB gibt es ja den Befehl Delay() der das gesamte Programm für eine bestimmte Zeit lang komplett anhält. Existiert auch ein Befehl der es mir erlaubt nur einen bestimmten Teil des Programmes anzuhalten ( wie z.B. eine bestimmte Prozedur ) und nicht alles auf ein mal?
Du kannst unter umständen aus der Procedure einen Thread erstellen und dort ein Delay einfügen
Aber sag lieber mal genau, was Du bezweckst.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
>> geht das nur mit Threads?
wie anders sollte es sonst gehen??? Oder den zu pausierenden Teil einfach
nicht aufrufen im Code
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
ein paar frames lang einblenden, stehen lassen, ein paar frames lang ausblenden, dann dasselbe mit dem zweiten text.
sonst macht ein anfänger das nämlich erst so mit fortlaufenden code, und dann kommt:
"so fertig, klappt prima, und jetzt will ich scrollende sterne im hintergrund haben"
also, immer gleich in frames denken, das erspart ne menge umstrickerei nachher.
@topic
proceduren laufen nicht parallel ab, sondern für sich.
das komplette programm läuft normalerweise step-by-step ab, nix davon läuft parallel, denn das ist kein OOP. (und auch da läuft nich wirklich was parallel, nur scheinbar)
schildere doch mal genau, worauf du hinaus willst, dann kann man bestimmt auch ne lösung finden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Lies Dir mal das mit ElapsedMiliseonds() durch.
Natürlich dann nicht mit Delay() - sondern Wert in Datumsformat - +x - Vergleichen (größer als) - Aktion.
grüsse an alle
mardanny71
Gruß, mardanny71 Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
Repeat
Delay(1)
StartDrawing(ScreenOutput())
If Time < 20000 :
Locate(0,0)
DrawText("TEST")
EndIf
If Time >= 20000 :
Locate(0,15)
DrawText("Funzt nich so ganz")
EndIf
StopDrawing()
ForEver
hm... versteh ich nich so ganz 0.o
glaub ich werd mich lieber mal mit threads beschäftigen... hoffe da gibts ein paar gute beispiele ^^
thx für die lösungen!