Aktuelle Zeit: 27.09.2020 21:17

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Delay im Fenster
BeitragVerfasst: 20.12.2010 16:37 
Offline

Registriert: 30.07.2008 16:02
Wohnort: Oberösterreich
Hallo !
Ich hab im Forum unter Delay() nix gefunden deshalb nochmal ńe Frage wie man das Lösen könnte ??
Es sollte in einem Fenster eine Schrift von Links nach Rechts laufen, dazwischen immer ne 1/2 sec. Verzögerung.
Das Delay(500) wartet aber immer die Ganze Zeit bis zum Ende sodaß keine zwischenschritte Angezeigt werden !!
Nehme ich die Schleife raus wird der Text wieder ganz normal angezeigt ???? :oops:

Der Code befindet sich direkt nach dem Öffnen des Fensters, also noch nicht in der Repeat / Until Schleife

Code:
     Home.s  =  GetHomeDirectory()
     Ergebnis.s = Home.s
     x = 130
     For i = 1 To 5
       Delay(500)
       x = x - 10
       TextGadget(#Text_0  ,x,30,250,25,"")
       SetGadgetText(#Text_0,"Medium :    "+Ergebnis.s )
     Next
     SetGadgetText(#Text_0,"Medium :    "+Ergebnis.s )


Kann mir da mal jemand nen Schubs :lol: geben !!

Gruss Stephan

_________________
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delay im Fenster
BeitragVerfasst: 20.12.2010 16:42 
Offline
Benutzeravatar

Registriert: 23.12.2005 12:41
Wohnort: München
Du könntest ja mal den ganzen Code posten.
Dann würde man sehen, dass du zwei verschachtelte Schleifen (Repeat:Until und For:Next) hast.
Die Repeat-Schleife wartet natürlich, bis die For-Schleife fertig ist, also muss die For-Schleife raus.
Was du willst, kann man auch mit einer Schleife unh ohne großes Delay machen. z.B. mit einer Counter-Variabe, zu der du immer 1 addierst.
Dann überprüfst du, ob die Variable > 500, führst deinen Code aus der For-Schleife aus und setzt die Variable wieder 0.
Das ist allerdings nicht sehr genau, weswegen du dir mal AddWindowTimer() und Konsorten anschauen solltest.

_________________
BildKarte der Pureboard-Mitglieder


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delay im Fenster
BeitragVerfasst: 20.12.2010 16:43 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Jedesmal ein neues gadget zu erstellen ist schon mal falsch!

Dafür gibs ResizeGadget, damit kannst du ein Gadget verschieben (u.a.)

Zum Verzögern kannst du einen WindowTimer nutzen.

Das ganze sieht dann zB so aus:
Code:
Enumeration
  #Window
  #Gadget
  #Timer
EndEnumeration

OpenWindow(#Window, 0, 0, 400, 300, "Fenster", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  TextGadget(#Gadget, 130, 10, 200, 20, "Beispieltext")
  AddWindowTimer(#Window, #Timer, 500)

Repeat

  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      End
    Case #PB_Event_Timer
      Select EventTimer()
        Case #Timer
          If GadgetX(#Gadget) > 70
            ResizeGadget(#Gadget, GadgetX(#Gadget)-10, #PB_Ignore, #PB_Ignore, #PB_Ignore)
          EndIf
      EndSelect
  EndSelect

ForEver


Solange der Text nicht bei x=70 ist wird er jede 500ms um 10px nach links geschoben.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delay im Fenster
BeitragVerfasst: 20.12.2010 16:52 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
STARGÅTE hat geschrieben:
Solange der Text nicht bei x=70 ist wird er jede 500ms um 10px nach links geschoben.

Du solltest aber nach erreichen der Zielposition auch den Timer wieder entfernen!

Gruß
Thomas

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delay im Fenster
BeitragVerfasst: 20.12.2010 16:59 
Offline

Registriert: 30.07.2008 16:02
Wohnort: Oberösterreich
OK Leute ....
uff gud Hessisch, ma konn ald wänn wie a kuh, ma lärnt imma noch dazu :lol:

Das mit dem ResizeGadget is klar, ich kam grad auf die Idee und das erste was mir eingefallen ist war das mit Delay !!
Prima, das mit dem Timer is mir jetzt klar
Danke Euch, jetz kann ich weiter machen.

Stephan

_________________
Wenn Sie nichts zu Tun haben, tun Sie es bitte nicht hier.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye