Diskussionen und Krempel (alt: Verbesserungen Doku v4)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nicht nur auf dem Zettel:Kaeru Gaman hat geschrieben:ich weiß nicht mehr, ob dus schon aufm zettel hast:
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).
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
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
...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
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> 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...
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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
@Andre:
Im Kapital Prototypes sind Tippfehler im Beispiel:
Es wird oben die Funktion ProtoMessageBoxW als Prototyp definiert, im Kommentar und in der Variablendefintion fehlt aber das W.
Richtig muss es heißen:
Gruß Rainer
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
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
@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):
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
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)
Gruß Rainer
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
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