Programmerstellung mit dem formdesigner

Anfängerfragen zum Programmieren mit PureBasic.
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: Programmerstellung mit dem formdesigner

Beitrag von Micha122 »

Derren hat geschrieben:Die meisten basteln ihre GUIs lieber "von Hand" im Code. Es gibt auch tolle Includes, die die Größe der Gadgets automatisch ändern.
Würde mir solche Includes gerne mal anschauen, wo finde ich die?

Gruß, Micha122
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Programmerstellung mit dem formdesigner

Beitrag von mk-soft »

Datei: Common.pbf

Code: Alles auswählen

Enumeration #PB_Compiler_EnumerationValue
  #Main
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #String_Links
  #Button_Copy
  #String_Rechts
EndEnumeration


Procedure OpenMain()
  OpenWindow(#Main, 0, 0, 540, 50, "Beispiel", #PB_Window_SystemMenu)
  StringGadget(#String_Links, 10, 10, 200, 30, "")
  ButtonGadget(#Button_Copy, 220, 10, 100, 30, "Kopie")
  StringGadget(#String_Rechts, 330, 10, 200, 30, "")
EndProcedure
Event von Hand

Datei: Main.pb

Code: Alles auswählen

IncludeFile "Common.pbf"

EnableExplicit

Global exit

Procedure Main()
  
  Protected ev
  
  OpenMain()
  
  Repeat
    ev = WaitWindowEvent()
    Select ev
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Button_Copy
            SetGadgetText(#String_Rechts, GetGadgetText(#string_Links))
            
        EndSelect
        
      Case #PB_Event_CloseWindow
        exit = 1
        
    EndSelect
    
  Until exit
        
EndProcedure

Main()
Oder mit Tool siehe Signatur 'Visual Generate Deluxe'
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Micha122
Beiträge: 248
Registriert: 02.10.2011 14:45
Wohnort: Sinzig
Kontaktdaten:

Re: Programmerstellung mit dem formdesigner

Beitrag von Micha122 »

@mk-soft:
Die pbf Datei als Include einzubinden ist ne klasse Idee. Der Code im Main bleibt leserlich und man kann die GUI jederzeit ändern ohne den Hauptcode zu ändern. :allright:

Danke!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Programmerstellung mit dem formdesigner

Beitrag von Kiffi »

Micha122 hat geschrieben:Würde mir solche Includes gerne mal anschauen, wo finde ich die?
beispielsweise hier: IUP

Grüße ... Kiffi
a²+b²=mc²
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 »

mk-soft hat geschrieben:Datei: Common.pbf

Code: Alles auswählen

Enumeration #PB_Compiler_EnumerationValue
  #Main
EndEnumeration

Enumeration #PB_Compiler_EnumerationValue
  #String_Links
  #Button_Copy
  #String_Rechts
EndEnumeration


Procedure OpenMain()
  OpenWindow(#Main, 0, 0, 540, 50, "Beispiel", #PB_Window_SystemMenu)
  StringGadget(#String_Links, 10, 10, 200, 30, "")
  ButtonGadget(#Button_Copy, 220, 10, 100, 30, "Kopie")
  StringGadget(#String_Rechts, 330, 10, 200, 30, "")
EndProcedure
Event von Hand

Datei: Main.pb

Code: Alles auswählen

IncludeFile "Common.pbf"

EnableExplicit

Global exit

Procedure Main()
  
  Protected ev
  
  OpenMain()
  
  Repeat
    ev = WaitWindowEvent()
    Select ev
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Button_Copy
            SetGadgetText(#String_Rechts, GetGadgetText(#string_Links))
            
        EndSelect
        
      Case #PB_Event_CloseWindow
        exit = 1
        
    EndSelect
    
  Until exit
        
EndProcedure

Main()
Oder mit Tool siehe Signatur 'Visual Generate Deluxe'
Teste gerade den "Visual Generate Deluxe"
Wenn ich das richtig verstehe dann
1. Form mit dem Formdesigner erstellen -> z.B. common.pdf
2. den Visual Generate laufen lassen der dann Main.pb und noch so einige andere Dateien erzeugt
3. Mit PureBasic in diesen Dateien die Funktionen eintragen

Habe es mal mit dem einfachen Kopierprogramm versucht (also Main.pb gelöscht)
Zunächst Schritt 1 und 2 ausgeführt aber noch nichts in den Dateien geändert.
Wenn ich dann das neu erzeugte Main.pb lade und kompilieren/starten will dann bekomme ich die Fehlermeldung:
"Zeile 59: Nur Konstanten sind in einem "Enumeration" erlaubt" Er befindet sich dabei in der Datei CommonFile.pb.
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Programmerstellung mit dem formdesigner

Beitrag von mk-soft »

Arbeitet nur mit Konstanten. In PB-Menu 'Datei', 'Einstellungen' unter Form 'PB_Any' abschalten...
Sowie Ereigniserzeugung abschalten.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
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 »

mk-soft hat geschrieben:Arbeitet nur mit Konstanten. In PB-Menu 'Datei', 'Einstellungen' unter Form 'PB_Any' abschalten...
Sowie Ereigniserzeugung abschalten.
Gutes Ding!!!!
Habe mal so verschiedenes getestet, wie einige Buttons eingefügt, Hyperlink, die Kopierzeile eingebaut und nochmal
mit Visual Generate Deluxe generiert.
Die Kopierzeile ist nach wie vor erhalten geblieben was ja auch wichtig ist!
Meine exe hat jetzt eine Größe von 23KB
Dann mit UPX komprimiert und nun hat das überaus wichtige Testprogramm eine Größe von 14KB.
Viel kleiner geht es wohl wirklich nicht mehr. Sehr interessant!!!

Wie ist es eigentlich rechtlich? Ich verwende Puppy Linux.
Mit einem Zusatzmodul (devx) kann ich PureBasic starten.
In PuppyLinux gibt es spezielle "Programm-Container" die ein Programm enthalten und dynamisch geladen werden können wenn sie gebraucht werden. Ich würde gerne PureBasic in einen PureBasic-Container umwandeln und der Gemeinde zur Nutzung hochladen. Am eigentlichen Programm wird dabei nichts geändert, es muss halt nur nichtmehr von Hand geladen werden.
Ist das rechtlich ok?

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
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Programmerstellung mit dem formdesigner

Beitrag von dysti »

Wie ist es eigentlich rechtlich? Ich verwende Puppy Linux.
Mit einem Zusatzmodul (devx) kann ich PureBasic starten.
In PuppyLinux gibt es spezielle "Programm-Container" die ein Programm enthalten und dynamisch geladen werden können wenn sie gebraucht werden. Ich würde gerne PureBasic in einen PureBasic-Container umwandeln und der Gemeinde zur Nutzung hochladen. Am eigentlichen Programm wird dabei nichts geändert, es muss halt nur nichtmehr von Hand geladen werden.
Ist das rechtlich ok?
Ich denke, das es nicht rechtlich ok ist. Du würdest ja eine PB-Version an Nutzer weitergeben, die z.B. PB nicht lizensiert haben.
Das ist sehr bedenklich und nicht im Sinne von Fred, dem Entwickler von PB.

Was aber super wäre, wenn du ein Tutorial erstellen würdest, wie man sowas erstellt.
Dann bist du rechtlich aus dem Schneider.
:allright:
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
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 »

Hallo dysti,

ich würde doch keine lizensierte Version weitergeben!
Das ist doch klar, dass ich keine gekaufte Version verbreite!
Es wäre nur die Demoversion und da sehe ich keine Probleme.

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 »

WPö hat geschrieben:Da fällt mir übrigens ein, ich hatte ja schonmal zur Datensammlung aufgerufen, um dem Problem mit andauernden Falsch-Positiven Herr zu werden: http://www.purebasic.fr/german/viewtopi ... =2&t=24947 Magst Du da mitmachen? Wärst allerdings der erste, denn niemand sonst hat bisher Daten eingereicht.
Habe jetzt eine Datei in der Kaspersky Malware findet, wo kann ich die hochladen??

LG

derschutzhund
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Antworten