Programmerstellung mit dem formdesigner

Anfängerfragen zum Programmieren mit PureBasic.
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Programmerstellung mit dem formdesigner

Beitrag von derschutzhund »

Hallo zusammen,

bin absoluter Purebasic-Neuling und teste zur Zeit ob das Programm für meine Anforderungen geeignet ist.
Habe mir die aktuelle Version 5.11 für Windows und Linux geladen.
Beide Versionen konnte ich starten was schon mal gut ist.
Die Oberfläche ist auch auf deutsch.
Jetzt wollte ich ein erstes GUI-Programm erstellen.
Also mit dem Formdesigner einen Button und ein Textfeld eingefügt.
Jetzt geht es los: Wie kann ich durch drücken des Buttons den Text im Textfeld ändern?
Ich kann zwar zwischen der Grafik- und Programoberfläche hin und her schalten aber so bald ich mein Testprogramm gestartet habe ist der von Hand eingetragene code wieder weg.
In Delphi oder Gambas ist es so, dass man z.B. auf den neu eingefügten Button klickt und dann automatisch in die Codeansicht kommt, eine neue Prozedure erzeugt wurde und man dann einfach den code eintragen kann.
Das läuft hier wohl anders oder?

LG

derschutzhund
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Re: Programmerstellung mit dem formdesigner

Beitrag von The_Dark_Zim-.- »

Wenn ich das richtig verstanden habe erstellt man sich immer mindestens zwei Datein. eine für die Form und eine für den Programablauf.

Hast du dir schonmal in der Hilfe das Einsteiger Kapitel angesehen ich meine da wird auch ein wenig auf die GUI erstellung eingegangen.

Habs mir jetzt nicht durchgelesen, aber evlt. hilft es dir ja.
http://www.purearea.net/pb/german/manual/Reference.html

Edit:

Also ich mache das im mom so das ich mir eine Form erstelle und dann bei Ereignis-Procedure eine Procedure rein schreibe(belibiger name) z.B. B_test.
und dann in meiner Haupt datei sowas schreibe:

Code: Alles auswählen

IncludeFile("Form.pbf")

Procedure B_test(EventType)
  
  MessageRequester("Meldung", "Test")
  
EndProcedure

OpenWindow_0()

Repeat 
  Run = Window_0_Events(WaitWindowEvent(25))
  
Until Run = #False

End
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Programmerstellung mit dem formdesigner

Beitrag von derschutzhund »

Es gibt dazu ein Video in Youtube allerdings für die Version 4 und da sieht es alles ein Wenig anders aus.
Ist schon sehr umständlich, wenn man selbst zwei Dateien erstellen muss!
In der Anleitung habe ich dazu nichts gefunden.
Hier geht es mehr um die Programmierung der Buttons etc. von Hand.
Nach deiner Anleitung habe ich etwas ans Laufen bekommen.
Besten Dank erst mal!

LG

derschutzhund
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Programmerstellung mit dem formdesigner

Beitrag von derschutzhund »

Wollte jetzt den Text eines Buttons oder Textfeld ändern wenn der Button gedrückt wird.

Code: Alles auswählen

SetGadgetItemText(#Button_0,"test")
Leider wird der Button nicht gefunden obwohl er über

Code: Alles auswählen

IncludeFile("testprog.pbf")
ja eingebunden ist!
Oder ist der Befehl falsch?
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Programmerstellung mit dem formdesigner

Beitrag von WPö »

Moin!

Willkommen im Forum, Wauwau!
Hilfe->TextGadget hat geschrieben:Der Inhalt des Gadgets kann mit dem Befehl SetGadgetText() verändert werden
Versuche es mit diesem Befehl und es wird klappen.

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Programmerstellung mit dem formdesigner

Beitrag von derschutzhund »

Leider funktioniert es nicht!
Fehlermeldung: Konstante nicht gefunden: #Button_0
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

Re: Programmerstellung mit dem formdesigner

Beitrag von Derren »

Button_0 ohne "#". Woher nimmst du die Raute? Die kommt doch nirgends im Code vor.
Der Visualeditor ist nicht so toll. Das wird immer wieder bemängelt. Die meisten basteln ihre GUIs lieber "von Hand" im Code. Es gibt auch tolle Includes, die die Größe der Gadgets automatisch ändern. Solche Sachen muss man trotz Visualdesigner immernoch von Hand programmieren (oder eben besagte Includes verwenden).
WPö hat geschrieben:Willkommen im Forum, Wauwau!
Nicht dein Ernst, oder?! :freak:
Signatur und so
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Programmerstellung mit dem formdesigner

Beitrag von WPö »

Hm. Ich weiß nicht, was in der testprog.pbf steht. Da finden wir dann den richtigen Namen der Gadgetnummer. Schieb die doch mal hier rein.

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Programmerstellung mit dem formdesigner

Beitrag von WPö »

Derren hat geschrieben:
WPö hat geschrieben:Willkommen im Forum, Wauwau!
Nicht dein Ernst, oder?! :freak:
Doch, absolut. Was dagegen?
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

Re: Programmerstellung mit dem formdesigner

Beitrag von Derren »

WPö hat geschrieben:Hm. Ich weiß nicht, was in der testprog.pbf steht. Da finden wir dann den richtigen Namen der Gadgetnummer. Schieb die doch mal hier rein.

Gruß - WPö

Bei einer Form mit nur einem Button und einem StringGadget steht folgendes in der "Testprog.pbf" (kann man auch leicht selber rausfinden). Nur die Positionen und Dimensionen sind logischerweise verschieden, tun hier aber nichts zur Sache.

Code: Alles auswählen

Global Window_0

Global Button_0, String_0


Procedure OpenWindow_0()
  Window_0 = OpenWindow(#PB_Any, 0, 0, 600, 400, "", #PB_Window_SystemMenu)
  Button_0 = ButtonGadget(#PB_Any, 80, 40, 190, 50, "")
  String_0 = StringGadget(#PB_Any, 300, 160, 110, 70, "")
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()
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure

Erweitert werden muss das Programm so:

Code: Alles auswählen

 Select EventGadget()
    Case Button_0
        SetGadgetText(String_0,"mein Text")
EndSelect
Moderation: Privatgezänk entfernt.
Zuletzt geändert von WPö am 06.06.2013 23:46, insgesamt 1-mal geändert.
Grund: Öl ins Feuer zu gießen, hilft dem Forum nicht.
Signatur und so
Antworten