Schreibfehler, andere offensichtliche Fehler in der PB-Hilfe

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Nino
Beiträge: 1296
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Schreibfehler, andere offensichtliche Fehler in der PB-H

Beitrag von Nino »

Hilfe zu Operatoren-Kürzel hat geschrieben:Hinweis: Dies kann in einigen seltenen Fällen zu "unerwarteten" Ergebnissen führen, wenn die Zuweisung ("assignement") vor der Neigung ("affection") modifiziert wird.
Diese Passage ergibt keinen Sinn, u.a. weil das englische Wort "affection" Zuneigung, Liebe, Zärtlichkeit, Gunst bedeutet und in diesen Zusammenhang so gar nicht hineinpasst. Der entspr. Text in der englischen Hilfe ist genau so falsch.

(Für eine "offizielle" Information sollte Fred auf Französisch gefragt werden, da sein Englisch nicht gut ist -- oder Freak auf Deutsch bzw. Englisch. Allerdings weiß man als PureBasic-Programmierer ja, wie diese Operatoren-Kurzform funktioniert, so dass man es nur richtig zu formulieren braucht.)
Vorschlag für neuen Text hat geschrieben:Hinweis: Dies kann in speziellen Fällen zu unerwarteten Ergebnissen führen, wenn sich der Wert einer Variablen schon vor der expliziten Zuweisung ändert.
Nino
Beiträge: 1296
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: Schreibfehler, andere offensichtliche Fehler in der PB-H

Beitrag von Nino »

Variablen Definition

Um eine Variable in PureBasic zu definieren, geben Sie ihren Namen ein oder den Typ, den die Variable annehmen soll. Standardmäßig, wenn kein Typ angegeben wird, wird der Datentyp ein Integer sein. Variablen müssen nicht ausdrücklich deklariert werden, sie können auch als Variablen "on-the-fly" benutzt werden. Das Define Schlüsselwort kann benutzt werden, um eine ganze Reihe von Variablen zu definieren. Wenn Sie der Variable keinen Anfangswert zuweisen, wird ihr Wert 0 sein.
  • In der Überschrift fehlt ein Bindestrich.
  • Man kann nicht den Namen oder den Typ einer Variablen angeben. Den Namen muss man in jedem Fall immer angeben, nur die Angabe des Typs ist optional.
  • Variablen [...] können [...] als Variablen [...] benutzt werden. Das muss wohl nicht extra geschrieben werden.
  • Nur numerische Variablen denen kein Anfangswert zugewiesen wurde, haben den Wert 0. String-Variablen hingegen haben in dem Fall den Wert "".
Mein Vorschlag:
Variablen-Definition

Um eine Variable in PureBasic zu definieren, geben Sie ihren Namen ein und optional auch den Typ, den die Variable annehmen soll. Standardmäßig, wenn kein Typ angegeben wird, wird der Datentyp ein Integer sein. Variablen müssen nicht ausdrücklich deklariert werden, sie können auch "on-the-fly" benutzt werden. Das Define Schlüsselwort kann benutzt werden, um eine ganze Reihe von Variablen zu definieren. Wenn Sie einer numerischen Variablen keinen Anfangswert zuweisen, wird ihr Wert 0 sein; bei einer String-Variablen ist es der Wert "".
Benutzeravatar
jacdelad
Beiträge: 259
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Schreibfehler, andere offensichtliche Fehler in der PB-Hilfe

Beitrag von jacdelad »

Der Abschnitt über die die Dialog-Library ist zum Teil falsch übersetzt worden und außerdem in meinen Augen ungünstig aufgebaut bzw. fehlen entscheidende Informationen. Aber der Reihe nach:

Die ganze Syntax wird beim Befehl "OpenXMLDialog" erklärt. Das finde ich unpassend, es sollte dafür einen eigenen Abschnitt geben.

Das Folgende bezieht sich auf die Syntaxerklärung in "OpenXMLDialog".
- Es wurde ein bisschen zu viel übersetzt: Bei den Gadget "option" bzw. "spin" wurden die englischen Schlüsselwörter übersetzt ("group" wurde zu "Gruppe" und "value" wurde zu "Wert"). Natürlich funktionieren die nicht auf deutsch. Bei "scrollarea" wurde das Schlüsselwort korrekt nicht übersetzt.
- Es wird nicht explizit erwähnt, dass im Tag "id" keine Variablen angegeben werden können. Das empfinde ich als ungünstig (aber es kann auch sein, dass ich mich da einfach schwer tu). Im Endeffekt kann dort eine Konstante oder eben #PB_Any angegeben werden; sprich alles was für den ersten Paramater bei jeder Gadgeterstellung auch geht.

Unabhängig von der Hilfe fänd ich eine Erweiterung der Bibliothek gut (das hatte ich schon mal im englischen Forum angesprochen): Checkboxen/OptionGadgets standardmäßig anhaken, "font" als tag...

Es kommt mir ein bisschen so vor, als wäre diese Bibliothek ein Stiefkind, was keiner nutzt. Das theoretische Potenzial ist dabei eigentlich enorm.
PureBasic 6.0/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/30TB HDD
Synology DS1821+/36GB RAM/110TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
HeX0R
Beiträge: 2906
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
2x16Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Schreibfehler, andere offensichtliche Fehler in der PB-Hilfe

Beitrag von HeX0R »

Dass es alles in OpenXMLDialog() versteckt ist, finde ich jetzt nicht so schlimm, hat man es einmal gefunden, weiss man es.
Aber Deine anderen Punkte sind richtig, außerdem:
  • Es steht nirgends, dass die group beim Optiongadget nur numerische Werte enthalten darf (bin daran selbst mal verzweifelt)
  • Das margin Attribut kann noch bei sehr viel mehr Containern benutzt werden als die Hilfe suggeriert (Windows z.B. auch, sehr nützlich)
  • Das "item" Attribut, das beim Tree steht habe ich noch nie erfolgreich einbauen können.
#PB_Any bei den id's kannst Du übrigens auch weglassen.
Die XML steht ja für sich, also kannst Du als ID dort keine (Runtime!) Variable angeben.
Runtime Konstanten aber schon.
Wenn Du es flexibler haben möchtest, nimm die name-Attribute und lass id weg.
Nur so kannst Du auch ein und dasselbe Dialogfenster z.B. mehrmals öffnen, ids müssen über alle Dialogelemente einmalig sein, die name-Attribute sind fensterabhängig.
Antworten