Seite 3 von 42
Verfasst: 21.04.2006 13:48
von RomanR
Einige Kapitel des Referenzhandbuches stehen nicht im Inhalt-Reiter. "Die PureBasic IDE" ist vorhanden, aber die anderen (Allgemeine Themen, Basic Schlüsselwörter, ...) sind nur erreichbar, wenn man das Referenz-Handbuch auswählt und auf der rechten Seite den entsprechenden Link anklickt.
Verfasst: 21.04.2006 21:03
von Kaeru Gaman
@Andre
ich weiß nicht mehr, ob dus schon aufm zettel hast:
das "mehr als 1x WaitWindowEvent()"-problem tritt so oft auf,
dass sollte evtl. mit in die Help....
Verfasst: 21.04.2006 22:36
von Kiffi
Kaeru Gaman hat geschrieben:ich weiß nicht mehr, ob dus schon aufm zettel hast:
nicht nur auf dem Zettel:
PB-Hilfe hat geschrieben:Pro Ereignisschleife darf nur einmal WaitWindowEvent() aufgerufen werden, da andernfalls Ereignisse "verloren" gehen (jedes Ereignis kann nur einmal ausgewertet werden und steht damit nach der ersten Verarbeitung nicht noch ein zweites Mal zur Verfügung).
Verfasst: 21.04.2006 22:43
von Kaeru Gaman
aha... aber erst in der 4.0, gell?
...in der 3.94 isses wohl noch nich drin...
trotzdem... ich weiß ja nich, wo die leut dann gucken...
http://www.purebasic.fr/german/viewtopi ... 7639#87639
Verfasst: 21.04.2006 22:48
von Kiffi
> aha... aber erst in der 4.0, gell?
si
> ...in der 3.94 isses wohl noch nich drin...
jepp. Das ist hier aber auch ein Thread über "Verbesserungen an der Dokumentation für PureBasic v4"
Verfasst: 21.04.2006 22:54
von Kaeru Gaman
> jepp. Das ist hier aber auch ein Thread über "Verbesserungen an der Dokumentation für PureBasic v4"
tja, deshalb hab ichs hier ja reingeschrieben...
...ich mein, die frage kommt so oft...
und ich wußte halt nicht mehr, ob Andre das nu aufm zettel hatte oder nicht...
Verfasst: 22.04.2006 15:30
von ullmann
@Andre:
Im Kapital Prototypes sind Tippfehler im Beispiel:
Code: Alles auswählen
Beispiel: Mit Pseudotypes
; Wir verwenden den 'p-unicode' Pseudotype für die String Parameter, da
; MessageBoxW() eine nur unter Unicode verwendbare Funktion ist. Der Compiler
; wird - sofern notwendig - die Strings automatisch nach Unicode konvertieren.
;
Prototype.l ProtoMessageBoxW(Window.l, Body.p-unicode, Title.p-unicode, Flags.l = 0)
If OpenLibrary(0, "User32.dll")
; 'MsgBox' ist eine Variable mit einem 'ProtoMessageBox' Typ
;
MsgBox.ProtoMessageBox = GetFunction(0, "MessageBoxW")
MsgBox(0, "Hello", "World") ; wir geben keine Flags an
EndIf
Es wird oben die Funktion ProtoMessageBox
W als Prototyp definiert, im Kommentar und in der Variablendefintion fehlt aber das
W.
Richtig muss es heißen:
Code: Alles auswählen
Beispiel: Mit Pseudotypes
; Wir verwenden den 'p-unicode' Pseudotype für die String Parameter, da
; MessageBoxW() eine nur unter Unicode verwendbare Funktion ist. Der Compiler
; wird - sofern notwendig - die Strings automatisch nach Unicode konvertieren.
;
Prototype.l ProtoMessageBoxW(Window.l, Body.p-unicode, Title.p-unicode, Flags.l = 0)
If OpenLibrary(0, "User32.dll")
; 'MsgBox' ist eine Variable mit einem 'ProtoMessageBoxW' Typ
;
MsgBox.ProtoMessageBoxW = GetFunction(0, "MessageBoxW")
MsgBox(0, "Hello", "World") ; wir geben keine Flags an
EndIf
Gruß Rainer
Verfasst: 22.04.2006 15:47
von ullmann
@Andre:
Im Kapitel Import : EndImport verstehe ich das Beispiel nicht, vielleicht könnte die Hilfe das etwas verständlicher machen (ich weiß aber nicht wie, da ich es selber nicht verstehe):
Code: Alles auswählen
Import "User32.lib"
; Keine Notwendigkeit für die Verwendung von 'As' da PureBasic die Funktion
; korrekt dekoriert.
; Wir definieren die 'Flags' auch als optional, mit einem Standardwert
; von 0 (wenn sie weggelassen werden).
;
MessageBoxA(Window.l, Body$, Title$, Flags.l = 0)
; Diesmal findet PureBasic sie nicht allein, da der Funktionsname nicht
; der gleiche ist, wie der vom Funktionssymbol verwendete.
;
MsgBox(Window.l, Body$, Title$, Flags.l) As "_MessageBoxA@16"
EndImport
MessageBoxA(0, "Hello", "World") ; wir geben keine Flags an
MsgBox(0, "Hello", "World 2", 0)
Wieso ist MessageBoxA korrekt "dekoriert" (ich würde deklariert übersetzen) und braucht kein "As", dagegen MsgBox nicht und braucht "As". Was ist ein Funktionssymbol? Woher weiß der Programmierer, dass er 16 bei "_MessageBoxA@16" zu schreiben hat? Ruft die importierte Funktion MsgBox die Lib-Funktion "_MessageBoxA" auf und muss deshalb wegen der unterschiedlichen Namen "As" angegeben werden? Wenn ja, sollte das vielleicht zum Verständnis in der Hilfe geschrieben sein?
Gruß Rainer
Verfasst: 22.04.2006 16:17
von ullmann
Im Kapitel "Compilerfunktionen" ist der Link "Subsystem" noch nicht belegt.
Im Kapitel "Nützliche Internet-Links über PureBasic" ist der Link "PBDEV - PureBasic Developer" noch nicht belegt.
Gruß Rainer
Verfasst: 22.04.2006 16:29
von ullmann
PureBasic kann mit Doubles (Fließkomma doppelter Genauigkeit) rechnen.
Wurde auch die Math-Lib auf doppelte Genauigkeit umgestellt? Falls ja, wäre die Angabe in der Hilfe Kapitel Math-Lib (Genauigkeit .f (Float)) zu korrigieren.
Falls nein: Müssen Doubles vor der Verwendung der Math-Lib in Floats konvertiert werden? Wie geht das?
Gruß Rainer