Seite 1 von 1

Fensterinhalt aktuallisieren

Verfasst: 12.08.2009 19:49
von The_Dark_Zim-.-
Hey Ho
Ich hab ein kleines Problem mit der Aktuallisierung meines Fensters.
Ich änder jede sec. einen TextGadget(), der ändert sich aber nur wenn ich etwas in dem Fenster mache, z.B. Mausbewege.

Woran liegt das ? An WaitWindowEvent() ?
Wie kann ich das ändern ?

Gruß Zim

Verfasst: 12.08.2009 20:03
von ts-soft
> Woran liegt das ?
An Deinem Code
> Wie kann ich das ändern ?
Woher sollen wir das Wissen, ohne Code?

Kleiner Scherzkeks

Mit Deinem EventLoop hat es mit Sicherheit zu tun.

Verfasst: 12.08.2009 20:18
von RSBasic
@The_Dark_Zim-.-
Meinst du etwa dieses "Problem"?

Code: Alles auswählen

EnableExplicit

Define a

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  TextGadget(1,10,10,100,20,"",0)
  
Repeat
  a+1
  SetGadgetText(1,Str(a))
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Falls ja, es liegt am WaitWindowEvent([TimeOut]) und kannst mit...

Code: Alles auswählen

EnableExplicit

Define a

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  TextGadget(1,10,10,100,20,"",0)
  
Repeat
  a+1
  SetGadgetText(1,Str(a))
Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
beheben.

Verfasst: 12.08.2009 20:18
von The_Dark_Zim-.-
Sry, ich dachte mir ihr kennt das schon :P

Naja mein Fehler :roll:
Hier der Code:

Code: Alles auswählen

Enumeration
  #Window_0
  #Text_0
  #Button_0
  #Button_1
  #Text_1
  #StatusBar_0
  
  #Window_1
  #Button_2
  #Button_3
EndEnumeration

Global Project$
Global ExitQuestion
Global SekundeNew
Global SekundeOld
Global Minute
Global Stunde
Global Sekunde
Global FontID1
Global FontID2

FontID1 = LoadFont(1, "Arial Black", 72, #PB_Font_Bold)
FontID2= LoadFont(2, "Arial Black", 30, #PB_Font_Bold)

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 342, 277, 600, 300, "Time-Manager",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
    If CreateStatusBar(#StatusBar_0, WindowID(#Window_0))
      EndIf

      If CreateGadgetList(WindowID(#Window_0))
        TextGadget(#Text_0, 65, 30, 460, 145, "")
        SetGadgetFont(#Text_0, FontID1)
        ButtonGadget(#Button_0, 75, 215, 110, 30, "Start-Stop")
        ButtonGadget(#Button_1, 405, 215, 110, 30, "Project")
        TextGadget(#Text_1, 195, 200, 195, 50, "")
        SetGadgetFont(#Text_1, FontID2)
      EndIf
    EndIf
EndProcedure

Procedure Project()
Project$ =""
  If OpenWindow(#Window_1, 317, 389, 248, 76, "Project",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_1))
      ButtonGadget(#Button_3, 135, 25, 95, 35, "Erstellen")
      ButtonGadget(#Button_2, 15, 25, 95, 35, "Öffnen")
      
    EndIf
  EndIf

Repeat
  
  Event = WaitWindowEvent()
  WindowID = EventWindow()
  GadgetID = EventGadget()
  EventType = EventType()

  If Event = #PB_Event_Gadget
    
    If GadgetID = #Button_2
      Project$ = OpenFileRequester("Bitte Project wählen!","","Project (*.Pjt)|*.Pjt",0)
     If Project$ = ""
     Else
      OpenFile(0,Project$)
      ExitQuestion = 1
     EndIf
    ElseIf GadgetID = #Button_3
      Project$ = SaveFileRequester("Bitte Speicherort und Name wählen!","New Project.Pjt","Project (*.Pjt)|*.Pjt",0)
     If Project$
      CreateFile(0,Project$)
      ExitQuestion = 1
     EndIf
    EndIf
    
  EndIf
  
Until ExitQuestion = 1
 CloseWindow(#window_1)
 
 StatusBarText(#StatusBar_0, 0, "Offenes Project: "+ GetFilePart(Project$))
 
ExitQuestion = 0
EndProcedure

Procedure Time()

Sekunde$ = FormatDate("%ss", Date())

SekundeNew = (Val(Sekunde$))

If SekundeNew <> SekundeOld
 Sekunde +1
  If Sekunde = 60
   Sekunde = 0
  EndIf

 If Sekunde = 0
  Minute +1
   If Minute = 60
    Minute = 0
    Stunde + 1
   EndIf
 EndIf
  SetGadgetText(#Text_0,Str(Stunde)+":"+Str(Minute)+":"+Str(Sekunde))
  SetGadgetText(#Text_1,FormatDate("%hh:%ii:%ss", Date()))
EndIf

SekundeOld = SekundeNew
EndProcedure

Open_Window_0()

Repeat

If StartStop = 1
 Time()
ElseIf StartStop = 2
 StartStop = 0
EndIf

  Event = WaitWindowEvent()
  WindowID = EventWindow()
  GadgetID = EventGadget()
  EventType = EventType()

  If Event = #PB_Event_Gadget
    
    If GadgetID = #Button_0
     StartStop +1
    ElseIf GadgetID = #Button_1
     Project()
    EndIf
    
  EndIf
  
Until Event = #PB_Event_CloseWindow

End
Gruß Zim

Verfasst: 12.08.2009 20:19
von RSBasic

Code: Alles auswählen

Enumeration
  #Window_0
  #Text_0
  #Button_0
  #Button_1
  #Text_1
  #StatusBar_0
 
  #Window_1
  #Button_2
  #Button_3
EndEnumeration

Global Project$
Global ExitQuestion
Global SekundeNew
Global SekundeOld
Global Minute
Global Stunde
Global Sekunde
Global FontID1
Global FontID2

FontID1 = LoadFont(1, "Arial Black", 72, #PB_Font_Bold)
FontID2= LoadFont(2, "Arial Black", 30, #PB_Font_Bold)

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 342, 277, 600, 300, "Time-Manager",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
    If CreateStatusBar(#StatusBar_0, WindowID(#Window_0))
      EndIf

      If CreateGadgetList(WindowID(#Window_0))
        TextGadget(#Text_0, 65, 30, 460, 145, "")
        SetGadgetFont(#Text_0, FontID1)
        ButtonGadget(#Button_0, 75, 215, 110, 30, "Start-Stop")
        ButtonGadget(#Button_1, 405, 215, 110, 30, "Project")
        TextGadget(#Text_1, 195, 200, 195, 50, "")
        SetGadgetFont(#Text_1, FontID2)
      EndIf
    EndIf
EndProcedure

Procedure Project()
Project$ =""
  If OpenWindow(#Window_1, 317, 389, 248, 76, "Project",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_1))
      ButtonGadget(#Button_3, 135, 25, 95, 35, "Erstellen")
      ButtonGadget(#Button_2, 15, 25, 95, 35, "Öffnen")
     
    EndIf
  EndIf

Repeat
 
  Event = WaitWindowEvent()
  WindowID = EventWindow()
  GadgetID = EventGadget()
  EventType = EventType()

  If Event = #PB_Event_Gadget
   
    If GadgetID = #Button_2
      Project$ = OpenFileRequester("Bitte Project wählen!","","Project (*.Pjt)|*.Pjt",0)
     If Project$ = ""
     Else
      OpenFile(0,Project$)
      ExitQuestion = 1
     EndIf
    ElseIf GadgetID = #Button_3
      Project$ = SaveFileRequester("Bitte Speicherort und Name wählen!","New Project.Pjt","Project (*.Pjt)|*.Pjt",0)
     If Project$
      CreateFile(0,Project$)
      ExitQuestion = 1
     EndIf
    EndIf
   
  EndIf
 
Until ExitQuestion = 1
 CloseWindow(#window_1)
 
 StatusBarText(#StatusBar_0, 0, "Offenes Project: "+ GetFilePart(Project$))
 
ExitQuestion = 0
EndProcedure

Procedure Time()

Sekunde$ = FormatDate("%ss", Date())

SekundeNew = (Val(Sekunde$))

If SekundeNew <> SekundeOld
 Sekunde +1
  If Sekunde = 60
   Sekunde = 0
  EndIf

 If Sekunde = 0
  Minute +1
   If Minute = 60
    Minute = 0
    Stunde + 1
   EndIf
 EndIf
  SetGadgetText(#Text_0,Str(Stunde)+":"+Str(Minute)+":"+Str(Sekunde))
  SetGadgetText(#Text_1,FormatDate("%hh:%ii:%ss", Date()))
EndIf

SekundeOld = SekundeNew
EndProcedure

Open_Window_0()

Repeat

If StartStop = 1
 Time()
ElseIf StartStop = 2
 StartStop = 0
EndIf

  Event = WaitWindowEvent(10)
  WindowID = EventWindow()
  GadgetID = EventGadget()
  EventType = EventType()

  If Event = #PB_Event_Gadget
   
    If GadgetID = #Button_0
     StartStop +1
    ElseIf GadgetID = #Button_1
     Project()
    EndIf
   
  EndIf
 
Until Event = #PB_Event_CloseWindow

End

Verfasst: 12.08.2009 20:22
von The_Dark_Zim-.-
:):):):)
Sweet geht THX RSBasic