Seite 2 von 35

Verfasst: 28.06.2008 08:18
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 ..."

Verfasst: 28.06.2008 08:23
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

Verfasst: 29.06.2008 11:19
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

Fehler in Beschreibung der Syntax von SetFTPDirectory

Verfasst: 29.06.2008 14:06
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.]

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

Verfasst: 16.07.2008 19:30
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

Verfasst: 16.07.2008 19:51
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.

Verfasst: 16.07.2008 21:40
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

Verfasst: 20.07.2008 10:42
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.

Verfasst: 22.07.2008 12:20
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.

Verfasst: 07.08.2008 09:08
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.