Gegenüberstellung zu kBasic und Gambas ist gedacht, weil ich dringend ein günstiges, gutes Cross-Plattform-Entwicklungstool lernen möchte.
Aber ich bekomme nichts hin in PureBasic.
Der Visuelle Editor (externer Download, entgegen der Aussage in den FAQs) integriert sich nicht in den Editor, ich hab versucht ihn manuell einzubinden mit Tastenkombination, da spinnt dann das gesamte PureBasic, man kann den Buchstaben oder die Zahl die in der Kombination mit Strg oder Alt oder Shift zugewiesen wurde im Editor nicht benutzen, weil da dann immer der visuelle Editor aufspringt.
Weiterhin sind keine Tooltips im VisEd (PureBasic Visual Designer v4.0 Alpha 16 build 1128) auf dem Gadgetwerkzeug vorhanden, die Werkzeugleiste passt bei 1024x768 nicht auf den Bildschirm. (In Win sind die Werkzeuge als Einzelfenster, nicht als MDI wie in Linux...)
Dann bau ich ein Formular mit ein paar Gadgets. Der Code, der erzeugt wird, ist so nirgendwo beschrieben, es kommt beim Ausführen, was auch nur über manuelles Laden in PureBasic funtkioniert, eine Fehlermeldung:
Depraced Function 'Create GadgetList' used
Wie Ereignisprozeduren dann angelegt werden, schneide ich absolut nicht, es ist irgendwie vollkommen anders als bei allen anderen Werkzeugen.
Um mal Nägel mit Köpfen zu machen, mal meine eigentlich triviale Aufgabenstellung:
bei Ändern des Datums im Monats-Gadget soll dieses im Textfeld angezeigt werden, bei Klick auf den Button soll das Datum auf wieder auf das aktuelle springen und im Textfeld soll der Text "Ausgangsansicht" ausgeben werden.
Hier der Quelltext, den der VisDes generiert:
Code: Alles auswählen
Global Window_0, Date_0, String_0, Button_0, Text_0
Procedure Open_Window_0()
Window_0 = OpenWindow(#PB_Any, 5, 5, 283, 165, "Window 0", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If Window_0
If CreateGadgetList(WindowID(Window_0))
Date_0 = DateGadget(#PB_Any, 10, 10, 140, 23, "%dd.%mm.%yyyy", Date(), #PB_Date_UpDown)
String_0 = StringGadget(#PB_Any, 160, 10, 110, 23, "")
Button_0 = ButtonGadget(#PB_Any, 200, 130, 60, 23, "OK")
Text_0 = TextGadget(#PB_Any, 10, 40, 260, 63, "Ausgangsansicht", #PB_Text_Center)
EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
In den vergleichbaren Umgebungen (Gambas, kBasic, RealBasic) ist das in weniger als 5 Minuten fertig, ohne grosse Sucherei in Dokus und Foren, die Editoren helfen einen dabei.
Das manuell zu machen wäre ja auch kein Problem, aber ich habe in keiner der Dokus bis jetzt etwas einfaches, reproduzierbares dazu gefunden. Die eine Doku hantiert mit Konstanten der Art #PB_irgendwas, die andere mit GadgetIDs...
Wie geht das nun, wie kann man onChange, onClick etc. abfangen und dazu Ereignisprozeduren schreiben, wie kann man die Eigenschaften von Gadgets abfragen und ändern?
Bitte bitte erklärt das irgendjemand mal, ich möchte das gerne begreifen...das Beispiel von oben als Basis, wenn das klar wird, hoffe ich allein weiter zu kommen...
Fakt ist, dass keine der Entwicklungswerkzeuge so genial kleine ausführbare Dateien generiert, ohne dass man irgendwelche Bocksprünge mit Runtime oder sepziellen Bibs oder sonstwas machen muss.
Danke für eine Erklärung für einen, wahrscheinlich absolut dämlichen, Programmieranfänger der mit visuellen Werkzeugen "versaut" ist
