Seite 1 von 1

Ausdrücke, Konstanten und Strukturen

Verfasst: 10.10.2006 13:12
von Little John
Hallo zusammen!

ich habe PureBasic vor kurzem entdeckt, und bin beeindruckt -- sowohl von der Sprache selbst, als auch von der IDE incl. des Visual Designers und von der der Portabilität. Großes Lob und vielen Dank an die Entwickler!
( Vollversion ist schon bestellt, kommt wohl in ein paar Tagen. :) )

Ich bin kein Programmier-Anfänger, habe aber ein paar PureBasic-spezifische Fragen. Im Kapitel "Einführung" der Hilfe (neue deutsche Ausgabe 4+) steht in der Liste der "bedeutendsten Features von PureBasic":
- Verkürzung von Ausdrücken (Zusammenstellen von Konstanten und numerischen Zahlen
Was bedeutet das? :)
- Vorkompilierte Strukturen mit Konstanten-Dateien für extra-schnelle Kompilierung
Dazu 2 Fragen:

a) Ich habe schon in der neuen Hilfe die Liste der vordefinierten PureBasic-Konstanten gesehen (Vielen dank für diese Liste!). Nach dem obigen Zitat gibt es aber auch vordefinierte Strukturen? Snd das die API-Strukturen des jeweiligen Betriebssystems? Gibt es noch zusätzliche vordefinierte Strukturen, z.B. solche, die in der Mathematik Sinn ergeben wie Point, Circle o.ä.?
( Ich möchte nur unnötige Arbeit vermeiden, indem ich solche Strukturen selbst schreibe, wenn es sie schon gibt.)

b) Die Konstanten-Liste ist offenbar nicht ganz vollständig, z.B. fehlen #True und #False:

Code: Alles auswählen

CompilerIf Defined(True, #PB_Constant)
   Debug "Konstante 'True' ist definiert."
CompilerElse
   Debug "Konstante 'True' ist nicht definiert."
CompilerEndIf

CompilerIf Defined(False, #PB_Constant)
   Debug "Konstante 'False' ist definiert."
CompilerElse
   Debug "Konstante 'False' ist nicht definiert."
CompilerEndIf
Gibt es noch weitere vordefinierte Komnstanten?

Gruß, Little John

Verfasst: 10.10.2006 13:22
von NicTheQuick
Unter "Verkürzung von Ausdrücken" könnte ich mir die "Enumeration"-
Sektion vorstellen. Aber das wär dann auch das einzigste.

Welche Strukturen und Interfaces bereits definiert sind, siehst du im
Structure-Viewer, der sich irgendwo im Menü verstecken sollte. Da ich
gerade nur jaPBe hier hab, kann ich dir nicht genau sagen wo. Aber POINT ist
vordefiniert.

Achja: True und False gibt es bei mir. Wieso bei dir nicht, weiß ich nicht
genau. Vielleicht sind die Konstanten nur in der Windows-Resident drin und
die PB-Demoversion hat die wahrscheinlich nicht.

Verfasst: 10.10.2006 13:23
von Kaeru Gaman
> Gibt es noch zusätzliche vordefinierte Strukturen, z.B. solche, die in der Mathematik Sinn ergeben wie Point, Circle o.ä.?

z.b. COORD ist eine vordefinierte Struktur:

Code: Alles auswählen

Structure COORD
  x.w
  y.w
EndStructure
schau mal in der IDE, im Menu Tools ist ein Structure-Viewer,
darin solltest du alle vordefinierten Strukturen, Interfaces und Konstanten finden.
(ggf. deutsche namen, hab die IDE in englisch)

[edit]
> - Verkürzung von Ausdrücken (Zusammenstellen von Konstanten und numerischen Zahlen
das bezieht sich auf den Compilevorgang:
beim kompilieren werden alle konstanten ausdrücke,
also, verwendete konstanten und literale zahlenangaben,
vorab berechnet und nur ein einziges ergebnis wird in die exe übernommen.

also, du kannst einfach schreiben

Code: Alles auswählen

x = 4 / 3 * a * #PI
in der fertigen exe steht nur noch

Code: Alles auswählen

x = a * Wert

Verfasst: 10.10.2006 13:25
von ts-soft
PureBasic.exe öffnen
Werkzeuge / Structurverzeichnis
Sollte alles beantworten, auch #True findeste unter Konstanten T

Ansonsten
Bild

Gruß
Thomas

Verfasst: 10.10.2006 17:13
von Little John
Hallo,

vielen Dank für Eure Antworten und den Willkommensgru8. :)
Kaeru Gaman hat geschrieben: > - Verkürzung von Ausdrücken (Zusammenstellen von Konstanten und numerischen Zahlen
das bezieht sich auf den Compilevorgang:
beim kompilieren werden alle konstanten ausdrücke,
also, verwendete konstanten und literale zahlenangaben,
vorab berechnet und nur ein einziges ergebnis wird in die exe übernommen.

also, du kannst einfach schreiben

Code: Alles auswählen

x = 4 / 3 * a * #PI
in der fertigen exe steht nur noch

Code: Alles auswählen

x = a * Wert
Alles klar, danke.
Dann würde ich in der Klammer eher schreiben: "(Zusammenfassen von Konstanten und literalen Zahlenangaben beim Compilieren)" :)
NicTheQuick hat geschrieben: Achja: True und False gibt es bei mir. Wieso bei dir nicht, weiß ich nicht
genau. Vielleicht sind die Konstanten nur in der Windows-Resident drin und
die PB-Demoversion hat die wahrscheinlich nicht.
Missverständnis. #True und #False gibt es bei mir auch, diese Konstanten sind aber nicht in der entspr. Liste der deutschen Hilfe (Ausgabe 4+) aufgeführt. Das hatte mich irritiert, und daher meine Überlegung, ob es noch andere Konstanten gibt, die nicht in der Hilfe aufgeführt sind.

Aber dank "Werkzeuge" > "Strukturverzeichnis" -- das ich vorher noch nicht gesehen hatte -- hat sich das nun geklärt. :)

POINT und COORD sind bei mir übrigens nicht vordefiniert, vielleicht liegt's an der Demoversion?

Nochmal Danke an alle!

Gruß, Little John