Ein Sack voller Anfängerfragen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Ein Sack voller Anfängerfragen

Beitrag von mk-soft »

Zum Trollen sage ich auch endlich mal was...

Es gibt wie im richtigen Leben immer welche ich sich nicht so gut verstehen oder falsch verstanden werden.
Gerade beim schreiben oder beim lesen lassen sich oftmals unterschiedlich das geschriebene Interpretieren.
Da wirkt sich auch die eigene Verfassung aus.

Meine Erfahrung hier im Forum ist, das im Winter auch mehr rum gezickt wird als im Sommer...

Also versuchen wir hier alle so gut miteinander auszukommen wie es geht.

Ah ja...
Willkommen im Forum :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Omi hat geschrieben:@Domino
Das Editor-Problem mit [Return] und [Tab]-Tasten auf 32-Bit Linux ist bereits in der noch ofenwarmen :wink: 5.41Beta5 gefixt und downladbar.
...
Nachgeschoben da vergessen: In der 5.41B4 ist der Return/Tab-Bug noch drin!
Parallel die 5.41 beta 4 getestet und bestätige, daß dieser Fehler noch drin ist. Danke für den Test! Die 5.41 beta 5 muß warten. Mein Volumen ... :-[

Gruß
Domino
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

mk-soft hat geschrieben:Meine Erfahrung hier im Forum ist, das im Winter auch mehr rum gezickt wird als im Sommer...
Willkommen im Forum :wink:
Danke! Bei mir ist übrigens Sommer. Mir tropft die Brühe nur so runter :mrgreen:
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Aktualisiert auf Purebasic 5.41 beta 4 x86 Linux.
Soweit geklärte Fragen/Meldungen herausgenommen.

Editor:
  • <Return> für Zeilenvorschub funktioniert nicht, nur <Shift><Return>; <Tab> und <Shift><Tab> ebensowenig, nur <Ctrl><i>. Laut Omi in der beta 5 beseitigt.
  • Unklar: Tabulator des aktuellen Quelltextes wandert bei mehreren vorhandenen Texten in der IDE häufig (nicht immer, Bedingung nicht nachvollziehbar) mit der x-Position des Mauszeigers mit, als würde er mit der Maus gezogen werden.
  • Bei kleineren Standardschriften wie "DejaVu Sans Mono Book 10" ist die Texthöhe gekappt, es verschwinden die Unterstriche (z.B. bei PB-Konstanten, irritierend).
  • Unklar: Manchmal werden die Dateinamen in den Tabulatoren vertauscht, speziell, wenn neue Quelltexte geladen oder neu angelegt werden. Nach dem Speichern eines Textes steht der richtige Name häufig wieder im eigenen Tabulator, aber der desjenigen Tabs, mit dem zuvor getauscht wurde, wird nicht mehr korrigiert.
  • Der heute obligatorische Fensterteilungsmodus in guten Editor wie z.B. Kate oder generell IDEs fehlt.
Offline-Hilfe:
  • Links funktionieren nicht im Fließtext. Themen sind nur umständlich über "Inhalte" oder "Suche" zu finden. Werden denn die Dateien vor der Auslieferung nicht geprüft?
  • Aufrufmodalitäten sind in der Hilfe nicht oder nur in unerwarteten Themen explizit angegeben.
  • Nichtexplizite Angaben eröffnen ein weites Feld beliebiger Interpretation nach den eigenen Programmierkenntnissen, auch anderer Sprachen. Z.B.:
    • Aufruf von Prozeduren mit Feldern "by reference" ist in PB selbstverständlich, gehört in "Procedure" und "Array" explizit erwähnt.
    • Aufruf von Prozeduren mit Feldern - Feldidentifikation mit Schlüsselwort "Array" und Klammernpaar gehört explizit erwähnt.
    • Fallbeispiel für die richtige Reihenfolge von "Define", "Declare" und "Dim" ist notwendig bei Verwendung von EnableExplicit und Prozeduren mit Zeichenkettenfeldern
  • Grafiken für das Aussehen der Gadgets sollten auf der Gadget-Übersichtsseite auch der Linux-Version dargestellt sein; dort fehlen auch Abbildungen.
  • In "Compiler Funktionen" wird Unicode als mit 2 Bytes Speicherbedarf pro Zeichen angegeben. Unicode ist aber eine Angabe zur verwendeten Zeichentabelle, nicht die der Kodierung, aus der der Platzbedarf des Zeichens abzuleiten ist. Auch variablen Platzbedarf pro Zeichen gibt es, z.B. "UTF-8" mit 1-4 Bytes pro Zeichen.
  • Die Suche erlaubt nicht, mehrere Wörter zu nutzen - weder mit And, noch mit Or verknüpft.
  • Laut GPI sind TextGadgets immer einzeilig. Diese Info fehlt in der Hilfe.
Compiler:
  • Enumeration mit mehreren Konstanten pro Zeile funktioniert nicht. So aber werden die Quelltexte mit ggf. hunderten fast leerer Zeilen aufgebläht. Auslagern in Include-Dateien ist nur Symptombehebung.
  • Fehlermeldungen präzisieren (z.B. Routine(Var, Arr) ergibt "Bad parameter type: an array is expected." statt "Felder müssen bei Prozeduraufrufen als <Feldname>() übergeben werden."; das Klammernpaar dabei fett schreiben).
  • Variablen-, Konstanten-, Prozedurnamen usw. sollten ebenfalls Unicode-Zeichen beinhalten dürfen. Viele andere Sprachen akzeptieren dies; warum hält PB am steinzeitlichen ASCII fest?
  • Warnungen und Fehlermeldungen in Makros sollten in diesen zusammen mit der Aufrufposition des Makros im Quelltext angezeigt werden, da man sich sonst bei insgesamt 7000 Zeilen Quältext leicht einen Wolf sucht.
  • Warum kommen oft (nicht immer!) zwei Meldungen in der Ereignisschleife rein über ein "LeftDoubleClick" eines beliebigen Gadgets?
  • Vorder-/Hintergrundfarbänderung an Einträgen von ComboGadgets funktioniert nicht:

    Code: Alles auswählen

    SetGadgetItemColor(Combo, i, #PB_Gadget_BackColor, $ffffc0)
Debugger:
  • F10 öffnet und schließt nur das Fenstermenü und funktioniert nicht als "Schritt darüber". Im Fenstermanager nach einer Belegung für F10 gesucht, aber nicht gefunden. Andere Programmfenster zeigen dasselbe Verhalten, also vielleicht kein Fehler in PB. Bedarf weiterer Prüfung.
  • Der Rückgabewert von einfachen Funktionen sollte beim Überfahren des Funktionsnamens mit der Maus ebenfalls numerisch dargestellt werden, z.B. "blubb = GadgetWidth(#bla)" ergibt dann "97", während "blubb" bereits wieder geändert worden ist.
Quelltextwiederherstellung:
  • Es läßt sich zwar ein Quelltext in einer beliebigen Version auswählen und der Inhalt manuell kopieren, aber es gibt keine Schaltfläche, um diesen Quelltext in den Editor zu übernehmen.
Gruß - Domino
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: Ein Sack voller Anfängerfragen

Beitrag von Omi »

Hallo Domino,

noch zu ein paar Deiner Fragen/Meldungen (zu mehr reicht leider die Zeit nicht bzw. kann von anderen treffender beantwortet werden)
Editor:
Bei kleineren Standardschriften wie "DejaVu Sans Mono Book 10" ist die Texthöhe gekappt, es verschwinden die Unterstriche (z.B. bei PB-Konstanten, irritierend).
Kann ich unter Xubuntu 14.04 nicht bestätigen und konnte ich auch noch nie beobachten. Welche Distri benutzt Du?
Unter div. Distris schauen gleiche Schriften z.T. unterschiedlich aus!
Übrigens kannst Du mit [Ctrl][Mausrad] auch in der IDE die Schrifthöhe schnell zommen.
Vorder-/Hintergrundfarbänderung an Einträgen von ComboGadgets funktioniert nicht ...
Ist in der Hilfe zu SetGadgetItemColor() auch nicht aufgeführt. Da spielen einige OS bzw. Themen evtl. nicht mit!
PB kann nur unterstützen was auf allen 3 OS mit System-Gadgets funktioniert.
Enumeration mit mehreren Konstanten pro Zeile funktioniert nicht.
Meinst Du sowas?

Code: Alles auswählen

Enumeration
	#a : #b : #c
EndEnumeration

Debug #a
Debug #b
Debug #c
Laut GPI sind TextGadgets immer einzeilig. Diese Info fehlt in der Hilfe.
Sollten Sie sein, und sind es zur Zeit unter dem gtk2 Subsystem. Unter gtk3 werden diese standardmäßig und leider ungefixt umgebrochen.
Läßt sich in Linux per API recht einfach ändern: http://www.chabba.de/Linux/TextGadget/TG_LineWrap.pb
Das Verhalten ein- oder mehrzeiliger TextGadgets (GtkLabel) ist in Linux lt. Doku bzgl. der Ausrichtung sehr unterschiedlich und auch schwierig durchschaubar.
Ein API-Beispiel wäre hier: http://www.chabba.de/Linux/TextGadget/T ... Justify.pb
Frag aber nicht nach der Logik dahinter :wink:
In "Compiler Funktionen" wird Unicode als mit 2 Bytes ...
In der Hilfe bitte mal unter dem 'Suche'-Tab nach "Unicode" oder besser "UCS2" suchen.


Zu den Punkten über die Offline-Hilfe muss ich Dir zustimmen. Ich denke es werden Dir nicht viele (von dem in Puncto Hilfe leicht komplett ausrastenden Moderator aus dem französischen Forum mal abgesehen) Böse sein wenn Du die 'frischen Erfahrungen' ins Englische "Bugs - Documentation"-Forum meldest.

Viele Grüße, Charly
PureBasic Linux-API-Library: http://www.chabba.de
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Omi hat geschrieben:Welche Distri benutzt Du?
Ein Linux Mint mit je nach Rechner Mate oder Cinnamon.
Omi hat geschrieben:Ist in der Hilfe zu SetGadgetItemColor() auch nicht aufgeführt. Da spielen einige OS bzw. Themen evtl. nicht mit!
Offline-Hilfe hat geschrieben:SetGadgetItemColor(0, 9, #PB_Gadget_BackColor, $FFFF00, 1)
Genau das sollte laut der Hilfe aber möglich sein.
Omi hat geschrieben:
Enumeration mit mehreren Konstanten pro Zeile funktioniert nicht.
Meinst Du sowas?

Code: Alles auswählen

Enumeration
	#a : #b : #c
EndEnumeration
Oh Mann, wie konnte ich das nur übersehen? Ich versuchte es mit Kommatrennung. Das mußte scheitern. Danke!
Omi hat geschrieben:
Laut GPI sind TextGadgets immer einzeilig. Diese Info fehlt in der Hilfe.
Sollten Sie sein, und sind es zur Zeit unter dem gtk2 Subsystem. Unter gtk3 werden diese standardmäßig und leider ungefixt umgebrochen.
Ich probierte ein TextGadget() mit kleiner Breite und der Text wurde umbrochen. Daraus schloß ich (sicherlich nicht abwegig), daß mehrzeiliger Text unterstützt werde. Daß dieser dann nicht mehr wie beabsichtigt rechtsbündig dargestellt wurde, brachte meine Frage auf den Plan. Mit API halte ich mich schwer zurück. Ich werde zwar bei Linux bleiben, aber jetzt lote ich erstmal die Möglichkeiten von PB aus, bevor ich GTK3 ausschöpfe. ;-)
Omi hat geschrieben:Zu den Punkten über die Offline-Hilfe muss ich Dir zustimmen. Ich denke es werden Dir nicht viele (von dem in Puncto Hilfe leicht komplett ausrastenden Moderator aus dem französischen Forum mal abgesehen) Böse sein wenn Du die 'frischen Erfahrungen' ins Englische "Bugs - Documentation"-Forum meldest.
Aha, scheint also doch noch jemanden zu geben, der die Hilfe verbesserungswürdig findet. :-) Zusätzliche Infos bedeuten ja auch keine Informationseinbuße an anderer Stelle, wie schon jemand unterstellt hat. Nur: Warum sollte jemand aus dem englischen Forum für die deutsche Offline-Hilfe zuständig sein?

Gruß
Domino
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Ein Sack voller Anfängerfragen

Beitrag von mk-soft »

Für das TextGadget habe ich da noch eine alternative...

DrawTextBox(...) http://www.purebasic.fr/german/viewtopi ... =8&t=27954
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Domino
Beiträge: 22
Registriert: 21.12.2015 21:28
Computerausstattung: Centrino 2x2GHz, GeForce Graka
Linux 3.16

Re: Ein Sack voller Anfängerfragen

Beitrag von Domino »

Für 2-3 Wörter im akuten Fall klar übertrieben. Da mache ich dann aus einem zweizeiligen TextGadget eben zwei einzeilige draus. Da ich aber mit ziemlicher Sicherheit im aktuellen Projekt noch Verwendung für Deine Routine finden werden, schon einmal gesichert. Danke, mk-soft!

Gruß
Domino
Centrino 2x2GHz, GeForce Graka, mehrere Linux Mint u.a. mit Mate, Linux 3.16
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Ein Sack voller Anfängerfragen

Beitrag von Nino »

Domino hat geschrieben:Aha, scheint also doch noch jemanden zu geben, der die Hilfe verbesserungswürdig findet.
Niemand hat behauptet, dass die Hilfe perfekt ist. Nur war deine Kritik daran z.T. halt gegenstandslos, weil sich herausgestellt hat, dass du dich nicht genügend damit beschäftigt hast. Zu schwer zu verstehen?
Omi
Beiträge: 143
Registriert: 25.03.2013 09:59

Re: Ein Sack voller Anfängerfragen

Beitrag von Omi »

Hi Domino,

zu SetGadgetItemColor()
lt. Hilfe:
Dieser Befehl wird von den folgenden Gadgets unterstützt:

- ListIconGadget()
- TreeGadget()
Falls Du mit ComboGadgets nicht das ComboBoxGadget() meinst, sondern alle TreeView (Tabellenartigen):
Hier liegt es in Linux (insbes. gtk3) an den 'Themes' bzw. 'gtkx-Designs', die das Färben erlauben oder eigenmächtig ihr Ding darstellen - sieht also ständig anders aus. (Fred stand bei der gtk2->gtk3-Umstellung schon vor der Frage diese Befehle zu sperren - weil's zu viele Fragen aufwirft - oder dem 'Theme' die Darstellung überlassen (mein Vorschlag :twisted: ), dafür aber die Fragen ständig aufwerfen.)
An die eigenmächtige Darstellung der Gadgets musst Du Dich in Linux gewöhnen - selten liegt hier ein Fehler am PureBasic (einige Nacharbeiten auf Grund der gtk3-Umstellung mal ausgeschlossen - die werden aber eh seeehr fleissig ge-Bug-Reported :wink: )

Zum Starten würde ich Dir auch eher zu gtk2 raten, das etwas 'berechenbarer' reagiert und wesentlich weniger Fragen aufwirft.

Zum Editor-Schrift-Problem:
Unter Mint-Cinnamon 17.2 kann ich's mir heute nochmals anschauen.

Grüße, Charly

PS: Die Frage nach der Hilfe hatte ich unterschlagen.
Ich denke Grundsätzliches über die Hilfe (für alle 3 OS) sollte in englische Hauptforum - die Basissprache ist (glaube ich) auch die Englische.
Speziell den deutschen Hilfetext betreffendes (Schreibfehler oder fehlerhaft übersetztes) eher in deutsche Forum - man möge mich korrigieren wenn's anders gedacht ist.
PureBasic Linux-API-Library: http://www.chabba.de
Antworten