Seite 1 von 1

Frequently Asked Questions - Häufig gestellte Fragen

Verfasst: 11.04.2010 20:02
von FAQ - Team
Inhaltsverzeichnis

ToDoList:
  • Andere FAQ-Topics verlinken



Changelog:
11.04.2010 21:25 Link zu Anderes --Mok
12.04.2010 18:25 ToDo ergänzt: FAQ-Threads verlinken --Mok
12.04.2010 19:00 ToDo ergänzt: Antwortlinks aktualisiert (wegen Verschiebung) --Mok
13.04.2010 00:28 Neu aufgesetzt --STARGÅTE

1 - Schlüsselwortverzeichnis

Verfasst: 11.04.2010 20:03
von FAQ - Team

Variablen, Typen und Operatoren

Verfasst: 11.04.2010 20:06
von FAQ - Team
Variablen, Typen und Operatoren
  • Gibt es in PureBasic einen Variablen-Typ Boolean?
    Nein! True und False sind in PureBasic nur Integerzahlen mit den Konstanten: #True und #False, deren Werte 1 bzw. 0 sind.
    In Logischen Ausdrücken wird jeder Wert ungleich 0 (also nicht nur #True oder 1, sondern auch -10, 123, ...) als Wahr gewertet!
    Boolean
  • Darf man mit Logischen Ausdrücken rechnen?
    Offiziell nicht! Logische Ausdrücke haben in PureBasic entweder das Ergebnis 0, wenn der Ausdruck falsch ist, oder nicht 0.
    Die Annahme, dass Wahr immer gleich 1 ist (was in PureBasic also #True ist), muss nicht immer zutreffen.
    Logische Ausdrücke sollten immer in einem If Block stehen, und erst in der Fallunterscheidung dann einer Variablen ein Wert zugeordnet werden.
    Operator NOT#True is only 1, not all TrueVergleichs-Ausdruck liefert keinen boolschen Wert
  • Inhaltsverzeichnis     Schlüsselwortverzeichnis

Changelog:
12.04.2010 00:38 Link bei Boolean hinzugefügt. --STARGÅTE
12.04.2010 13:22 Bug-Fix. --STARGÅTE

13.04.2010 14:08 If zur Reference verlinkt. --Vera

Integrierte Entwicklungsumgebung (IDE)

Verfasst: 11.04.2010 20:32
von FAQ - Team
Integrierte Entwicklungsumgebung (IDE)
  • Kann man in PureBasic mehrzeilige Anweisungen benutzen?
    Nein! In PureBasic gibt es kein Abschluß-Zeichen für eine Anweisung (wie in anderen Sprachen das ";").
    Trotzdem gibt es selbst entwickelte Tools, die das ermöglichen:
    Little Purebasic Preprocessor - LPPMehrzeilige Anweisungen
  • Ich habe eine GUI mit dem Visual Designer erstellt und bekomme in der IDE eine Warnung wegen CreateGadgetList(), ist das weiter schlimm?
    Schlimm ist es nicht, CreateGadgetList() hat seit v4.00 aber keine Funktion mehr und kann getrost gelöscht werden.
  • Inhaltsverzeichnis     Schlüsselwortverzeichnis


Changelog:
12.04.2010 13:30 Bug-Fix. --STARGÅTE

Hilfe zur Hilfe

Verfasst: 11.04.2010 20:49
von FAQ - Team
Hilfe zur Hilfe


ToDoList:
  • Scintilla-Antwort für die aktuelle Version (4.50) umbessern.




Changelog:
11.04.2010 18:52 Antwort eingefügt --Mok
11.04.2010 18:52 Frage zu Scintilla-Beispiel hinzugefügt & ToDo aktualisiert --Mok


Compiler und Debugger

Verfasst: 11.04.2010 21:23
von FAQ - Team
Compiler und Debugger
  • Gibt es einen PureBasic-Decompiler?
    Nein! Zwar kann man den durch 2-Pass-Compilierung entstandenen Assemblercode disassemblieren,
    aber den originalen PB-Code bekommt man keinesfalls, da den PureBasic-Befehlen, durch den Optimierungsvorgang während des Compilens, keine eindeutigen ASM-Codegruppen zugeordnet sind.
    Maschinencode => PureBasic
  • Gibt es einen Befehl, der verbietet, undeklarierte Variablen zu benutzen?
    Ja, dieser nennt sich EnableExplicit und sollte ausnahmslos bei jedem Projekt benutzt werden, weil dadurch die Fehlerquote durch Schreibfehler in Variablen gesenkt wird.
  • Inhaltsverzeichnis     Schlüsselwortverzeichnis



Changelog:
11.04.2010 21:12 Decompiler-Link geändert (Der Grund kommt besser hervor) --Mok
11.04.2010 22:43 Linkname noch mal korrigiert --STARGÅTE
12.04.2010 13:30 Bug-Fix. --STARGÅTE


Anderes

Verfasst: 12.04.2010 18:58
von FAQ - Team
Anderes
  • Beim Erstellen einer DLL bekomme ich einen Assembler Error. Was mache ich falsch?
    DLLs und statische Libs mögen keine Static-Variablen. Also, alles was Static ist, am Besten zu Protected machen.
    PureBasic Assembler error
  • Kann man zufällige Fließkommazahlen erzeugen?
    Eine native Funktion sucht man vergebens, allerdings hat STARGÅTE ein Makro dafür geschrieben:
    Wie erzeugt man zufällige Kommazahlen?
  • Gibt es einen Unterschied zwischen Makros und Prozeduren?
    Ein Makro (Macro) ist ein Platzhalter für etwas Code (ein Schlüsselwort, eine Zeile oder auch viele Zeilen), welcher (beim Kompilieren) direkt an der Stelle, wo das Makro aufgerufen wird, in den Programmcode eingefügt wird. In dieser Beziehung unterscheidet es sich von Prozeduren (Procedure), da Prozeduren beim Aufrufen nicht den Code duplizieren und erst zur Laufzeit ausgeführt werden.
    Frage zu Macros
  • Wieso geben die Winkelfunktionen (Sinus, Cosinus, Tangens, u.a.) falsche Werte zurück?
    Bei Sin(), Cos(), Tan() und den anderen Winkelfunktionen muss der Winkel nicht in Grad (°), sondern im Bogenmaß übergeben werden.
    Zur Umrechnung von Grad in Bogenmaß gibt es die Funktion Radian() oder man rechnet mal #Pi/180
    Winkelfunktionen geben falsche Werte zurück
  • Wieso ist das angegebene Sprite nicht initialisiert, obwohl ich es geladen habe?
    LoadSprite() liefert immer einen Rückgabewert. Ist dieser 0, so konnte das Sprite nicht geladen (initialisiert) werden. Das liegt ggf. daran, dass der Dateiname falsch ist, oder bei einem *.png, *.jpg, ... der entsprechende Use...ImageDecoder() nicht aufgerufen wurde. Darum sollte dieser Rückgabewert möglichst immer überprüft werden!
  • Wie kann man mit ExamineDirectory() auch Unterverzeichnisse auslesen?
    Das erreicht man mit einem rekursiven Prozeduraufruf. Das heißt, dass man sich eine Prozedur zum Auslesen eines Ordners schreibt, die sich bei einem gefundenen Unterordner wieder selbst aufruft und auch diesen ausliest.
    RekursionVerzeichnis mit allen Unterverzeichnissen scannen?
  • Inhaltsverzeichnis     Schlüsselwortverzeichnis



Changelog:
11.04.2010 23:31 Die Antworten etwas verändert, und sachen hinzugefügt. --STARGÅTE
12.04.2010 13:33 Bug-Fix. --STARGÅTE

11.04.2010 18:54 Verschoben und "PureBasic-Hilfe" eingefügt --Mok
11.04.2010 18:57 Seite korrigiert (Antwort als Mok geschrieben) --Mok

GUI - (Windows, Gadgets, usw.)

Verfasst: 08.02.2011 14:20
von FAQ - Team
GUI - (Windows, Gadgets, usw.)

Changelog:
08.02.2011 13:26 Neue Kategorie für Fragen zur GUI --STARGÅTE
16.11.2011 01:55 Grammatikfehler behoben --NicTheQuick