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: 1300
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: 1300
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: 404
Registriert: 03.02.2021 13:39
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.
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
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.
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

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

Beitrag von jacdelad »

Umlaute werden in der Hilfe von 6.01 nicht richtig dargestellt, ist das bei euch auch so?
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

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

Beitrag von Macros »

Hier funktioniert es.

Systeme: Windows 10 22H2 und Kubuntu Linux.
Bild
Diogenes
Beiträge: 91
Registriert: 05.06.2014 10:52

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

Beitrag von Diogenes »

Die Umstellung der Standard-Bibliothek von directx11 auf opengl sollte wesentlich deutlicher kommuniziert werden.
Die Unterschiede sollten in der Hilfe herausgearbeitet werden. Ich hatte am Anfang sehr große Probleme,
die ich mir nicht erklären konnte. Ich hatte dazu einen Thread in den Anfängerfragen eröffnet.
Erst dort hat man mir dankenswerterweise mitgeteilt, daß die Standardbibliothek umgestellt worden ist.
Ich kann mittlerweile damit umgehen, bzw es durch Trial and Error herausknobeln oder im Zweifel auf directx11 zurückgehen.

Welche Unterschiede aber genau bestehen, verstehe ich noch nicht.
Insbesondere die unterschiedliche Handhabung der Videobuffer =>FlipBuffers()
Die Hilfescripts sind auf directx11 ausgerichtet, so daß sie u.U unter opengl nicht funktionieren.
Zum Beispiel die Hilfe zu => KeyboardPushed(KeyID) unter opengl blitzt das Fenster nur kurz auf um dann zu verschwinden.
der Compiler meldet dann, die Programmausführung sei abgeschlossen.
Erst nach Umstellung auf directx11 passiert das, was die Routine bezweckt.
viele Grüße

Nachtrag: im Hilfe-Beitrag zu Pure Basic - Keyboard steht: "Es wird die DirectX Technologie benutzt." Bedeutet das, dass
alles was mit Examinekeyboard() zusammenhängt anders gehandhabt werden muss.
Nach einem ersten Test scheint Examinekeyboard() weiter zu funktionieren.
Benutzeravatar
TheCube
Beiträge: 168
Registriert: 20.07.2010 23:59
Computerausstattung: Risen 3400G 16MB Win10-64Bit
Wohnort: NRW

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

Beitrag von TheCube »

Von mir keine Fehler, eher Ergänzungen:

CreatePack() und CompressMemory() :
Defaultwert bei Nichtangabe des optionalen Level-Parameter der PB-Hilfe hinzufügen. (Rein experimentell habe ich Default-Level 6 ermittelt ...)

OpenSerialPort() :
Bauds: Bestimmt die Geschwindigkeit der seriellen Verbindung und kann einer der folgenden Werte sein:
50, 75, 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600 or 115200
Sollte überarbeitet werden, Purebasic kann alles was der COM-Port (heute oft ein USB-COM-Chip) auch unterstützt, z.B. 500000 oder 921600
EingabePufferGröße Definiert die Größe des Eingabepuffers, in Bytes.
AusgabePufferGröße Definiert die Größe des Ausgabepuffers, in Bytes.
Ein Hinweis, dass dies nur PB-interne Puffer sind und *nicht* die Puffer des Betriebssystems (kommen dazu), wäre ggf. angebracht.
Benutzeravatar
margro
Beiträge: 19
Registriert: 17.07.2024 14:25

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

Beitrag von margro »

jacdelad hat geschrieben: 17.04.2023 12:44 Umlaute werden in der Hilfe von 6.01 nicht richtig dargestellt, ist das bei euch auch so?
Bei mir ist es auch so, aber erst ab Windows 11.
Ich habe selbst nach einer Lösung gesucht und bin nur auf diese gestoßen:
In den Kopfbereich aller HTML-Dateien müsste folgender String eingefügt werden:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

Vielleicht hat André ja irgendwann mal Langeweile. ;)
PureBasic 6.12 LTS (x64) * Windows 11 (x64)
Benutzeravatar
margro
Beiträge: 19
Registriert: 17.07.2024 14:25

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

Beitrag von margro »

Will noch hinzufügen, dass ich testhalber einer HTML-Seite aus der Hilfe extrahiert und die Zeile wie oben eingebaut habe. Dann habe ich diese HTML-Seite auf das Hilfefenster gezogen, und siehe da: es hat funktioniert. Ohne diese Zeile wurden die Umlaute nicht richtig angezeigt.
PureBasic 6.12 LTS (x64) * Windows 11 (x64)
Antworten