Schreibfehler, andere offensichtliche Fehler in der PB-Hilfe

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Little John

Beitrag von Little John »

Kaeru Gaman hat geschrieben:AUSSERDEM gibt es einen extra thread zum Rumdiskutieren!
So isses. :)

Im Kapitel Prozeduren (PB 4.20 Windows) steht:
"Beschreibung
Eine Procedure ist ein Programmteil, welcher unabhängig vom Hauptcode innerhalb des Programms ist und seine eigenen Parameter und
haben kann."

=> Vor "haben" fehlt ein Wort, und das Linkziel existiert offenbar nicht.

Gruß, Little John

PS: Das Wort "innerhalb" gehört hier nicht wirklich hin. Es heißt besser:
"... unabhängig vom Hauptcode des Programms ..."
Little John

Beitrag von Little John »

Im Kapitel Strukturen (PB 4.20 Windows) steht im ersten Absatz:

"Auf die Struktur-Felder wird mit der \ Option zugegriffen."

"\" ist keine Option, sondern ein Operator.

Gruß, Little John
Little John

Beitrag von Little John »

Im Kapitel Round() (PB 4.20 Windows) heißt es:
#PB_Round_Down : rundet die Zahl nach unten (es wird nur der Ganzzahl-Teil benutzt)
Es ist richtig, dass #PB_Round_Down die übergebene Zahl nach unten rundet.
Das bedeutet aber nicht, dass nur der Ganzzahl-Teil benutzt wird. Der Ganzzahl-Teil wird von Int() zurückgegeben -- das ist ein anderer Vorgang. Zwar kommt dabei manchmal das gleiche Ergebnis heraus, oft genug aber auch nicht!! Ein Beispiel sagt mehr als 1000 Worte:

Code: Alles auswählen

Debug "Abrunden:"
Debug Round(-3.6, #PB_Round_Down)
Debug Round(-3.2, #PB_Round_Down)
Debug Round( 3.2, #PB_Round_Down)
Debug Round( 3.6, #PB_Round_Down)
Debug ""
Debug "Ganzzahl-Teil:"
Debug Int(-3.6)
Debug Int(-3.2)
Debug Int( 3.2)
Debug Int( 3.6)
Bei solchen Dingen also bitte auch immer negative Argumente im Auge behalten.

Gruß, Little John
Benutzeravatar
helpy
Beiträge: 635
Registriert: 29.08.2004 13:29

Fehler in Beschreibung der Syntax von SetFTPDirectory

Beitrag von helpy »

Fehler in Beschreibung der Syntax von SetFTPDirectory

Zitat aus Hilfe:
Syntax

Ergebnis$ = SetFTPDirectory(#Ftp, Verzeichnis$)
SetFTPDirectory gibt jedoch keinen String sondern einen numerischen Wert zurück.

Derselbe Fehler ebenfalls in der englischen Hilfe.

cu, guido

[Edit/Anm.]

Im Beispiel wird anscheinend ein Integerwert erwartet, wobei "0" für Fehler (Verzeichniswechsel nicht möglich) und "NOT 0" für erfolgreichen Verzeichniswechsel gewertet wird.

[/Edit/Anm.]
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

In allen Preference... ist ein "wurde" zu viel ;)

Beitrag von Falko »

Ist zwar nichts Schlimmes, aber ich würde das zweite wurde aus allen Beschreibungen herausnehmen, da am Anfang schon Wurde steht.

Preferences... hat geschrieben:Beispiel:
Wurde das Schlüsselwort nicht gefunden oder die Preference-Datei nicht korrekt geöffnet (z.B. Datei fehlt) wurde, dann wird der angegebene 'StandardWert' zurückgegeben.
Gruß, Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Falko
Ich finde die Vergangenheitsform sowieso nicht so passend. Da man ja erst
nach dem lesen testet, wäre "wird" (nicht wirt) wohl besser.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

@ts-soft

Stimmt auch. :allright:
Aber etwas Vergangenheit kann man ruhig so stehen lassen. :wink:
Beispiel:
Wird das Schlüsselwort nicht gefunden oder wurde die Preference-Datei nicht korrekt geöffnet (z.B. Datei fehlt), dann wird der angegebene 'StandardWert' zurückgegeben.
Gruß Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

CopySprite

...ist mir vorher noch nie aufgefallen, nur wegen einer aktuellen Frage:
CopySprite()

Syntax

Ergebnis = CopySprite(#Sprite1, #Sprite2 [, Modus])
Beschreibung

Kopiert das #Sprite1 in das #Sprite2. Wenn #PB_Any als '#Sprite2' Parameter verwendet wird, dann wird die Nummer des neuen Sprites als 'Ergebnis' zurückgegeben. Wenn das #Sprite2 nicht existiert, wird es neu erstellt.
"Kopiert das #Sprite1 in das #Sprite2." ist irreführend.
man kann mutmaßen, dass es wie ein Copy/Insert wie in einem Grafikprogramm funktioniert.

"Erzeugt von #Sprite1 eine Kopie als #Sprite2." wäre deutlicher.

Außerdem würde ich die beiden darauffolgenden Sätze vertauschen, dann ist der Absatz stimmiger.

also:
Erzeugt von #Sprite1 eine Kopie als #Sprite2. Wenn das #Sprite2 nicht existiert, wird es neu erstellt. Wenn #PB_Any als '#Sprite2' Parameter verwendet wird, dann wird die Nummer des neuen Sprites als 'Ergebnis' zurückgegeben.
PS:
oder noch besser:
Wenn das #Sprite2 schon existiert, wird es durch eine Kopie von #Sprite1 ersetzt.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Little John hat geschrieben:Im Kapitel Strukturen (PB 4.20 Windows) steht im ersten Absatz:
"Auf die Struktur-Felder wird mit der \ Option zugegriffen."
"" ist keine Option, sondern ein Operator.

Gruß, Little John
Genau, aber es geht schon früher los:
Strukturen hat geschrieben:Sie sind sehr nützlich, da Sie in einem Objekt alle zusammengehörenden Informationen gruppieren zu können.
"zu" ist irgendwie fehl am Platz.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Little John

Beitrag von Little John »

In der Hilfe zu Date() fehlt die Angabe des Zeitbereichs, der korrekt behandelt werden kann.

Code: Alles auswählen

;-- Minimum 1970-01-01, 00:00:00 Uhr:
Debug Date(1969, 12, 31, 23, 59, 59)     ; falscher Wert
Debug Date(1970,  1,  1,  0,  0,  0)
Debug Date(1970,  1,  1,  0,  0,  1)
Debug Date(1970,  1,  1,  0,  0,  2)

Debug ""

;-- Maximum 2038-01-19, 03:14:07 Uhr:
Debug Date(2038,  1, 19,  3, 14,  5)
Debug Date(2038,  1, 19,  3, 14,  6)
Debug Date(2038,  1, 19,  3, 14,  7)
Debug Date(2038,  1, 19,  3, 14,  8)     ; falscher Wert
Offenbar ist das zulässige Minimum 1970-01-01, 00:00:00 Uhr und das zulässige Maximum 2038-01-19, 03:14:07 Uhr.
Werte außerhalb dieses Bereichs liefern keine Fehlermeldung, sondern liefern einen unsinnigen Zahlenwert. Dies kann leicht zu schwer zu findenden Bugs in PB-Programmen führen. Daher schreibe ich dies nicht in der Rubrik "Verbesserungsvorschläge", sondern in dieser Rubrik.

Ebenso sollten auch bei FormatDate() die Grenzen (die vermutlich die gleichen sind wie hier) angegeben werden.

Gruß, Little John

PS
Außerdem sollte beschrieben werden, was genau die Funktion zurückgibt:
Date() liefert die Anzahl der Sekunden zwischen 1970-01-01, 00:00:00 Uhr und der aktuellen bzw. angegebenen Zeit.
Antworten