Habe mir nochmal deine 3 Videos zum Formdesigner angesehen und dann das letzte zu den Codebausteinen.
Am Ende hast du ja wirklich nur eine Formdatei und eine Codedatei!
Im Grunde ideal.
Habe danach mal ein Minimalprogramm erstellt. Ein Button um das Prog. zu beenden und einen Button um etwas in ein Textfeld zu schreiben.
Weniger geht wohl nicht. Nur um mal zu verstehen wie es mit den Events läuft.
Die Verwaltung und Verschaltung ist irgendwie die Hauptarbeit bei Purebasic wobei man da in anderen Systemen wie Gambas eigentlich nichts dazu programmieren muss.
Jetzt habe ich einen merkwürdigen Effekt. Als ich das Prog. fertig hatte lief es wie gewünscht dann habe ich etwas damit experimentiert und nun muss ich mehrfach auf die Buttons klicken damit sich was tut. Vielleicht siehst du woran es liegt. Der Effekt ist übrigens sowohl unter Windows als auch unter Linux gleich.
testform.pbf
Code: Alles auswählen
Global Window_0
Global Button_0, String_0, Button_1
Declare testb(EventType)
Declare progende(EventType)
Procedure OpenWindow_0()
Window_0 = OpenWindow(#PB_Any, 0, 0, 600, 400, "testfenster", #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered)
Button_0 = ButtonGadget(#PB_Any, 106, 88, 100, 25, "start", #PB_Button_Left)
String_0 = StringGadget(#PB_Any, 310, 90, 100, 25, "")
Button_1 = ButtonGadget(#PB_Any, 10, 10, 100, 25, "ende")
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case Button_0
testb(EventType())
Case Button_1
progende(EventType())
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
Code: Alles auswählen
IncludeFile "testform.pbf"
Define event, EventGadget, EventType, EventMenu, EventWindow
OpenWindow_0()
Repeat
Event = WaitWindowEvent()
EventGadget = EventGadget()
EventType = EventType()
EventMenu = EventMenu()
EventWindow = EventWindow()
prglauf=Window_0_Events(WaitWindowEvent())
Until prglauf=#False
End
Procedure testb(EventType)
SetGadgetText(string_0,"hallo")
EndProcedure
Procedure progende(EventType)
ExitApplication = 1
EndProcedure