Seite 6 von 8

Re: Programmerstellung mit dem formdesigner

Verfasst: 09.06.2013 14:19
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

Re: Programmerstellung mit dem formdesigner

Verfasst: 09.06.2013 14:35
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'

Re: Programmerstellung mit dem formdesigner

Verfasst: 09.06.2013 15:30
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!

Re: Programmerstellung mit dem formdesigner

Verfasst: 09.06.2013 18:53
von Kiffi
Micha122 hat geschrieben:Würde mir solche Includes gerne mal anschauen, wo finde ich die?
beispielsweise hier: IUP

Grüße ... Kiffi

Re: Programmerstellung mit dem formdesigner

Verfasst: 09.06.2013 22:42
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.

Re: Programmerstellung mit dem formdesigner

Verfasst: 09.06.2013 23:42
von mk-soft
Arbeitet nur mit Konstanten. In PB-Menu 'Datei', 'Einstellungen' unter Form 'PB_Any' abschalten...
Sowie Ereigniserzeugung abschalten.

Re: Programmerstellung mit dem formdesigner

Verfasst: 10.06.2013 00:23
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

Re: Programmerstellung mit dem formdesigner

Verfasst: 10.06.2013 08:13
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:

Re: Programmerstellung mit dem formdesigner

Verfasst: 10.06.2013 14:52
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

Re: Programmerstellung mit dem formdesigner

Verfasst: 10.06.2013 15:02
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