Ausdrücke, Konstanten und Strukturen

Anfängerfragen zum Programmieren mit PureBasic.
Little John

Ausdrücke, Konstanten und Strukturen

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag 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.
Zuletzt geändert von NicTheQuick am 10.10.2006 13:23, insgesamt 1-mal geändert.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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
Zuletzt geändert von Kaeru Gaman am 10.10.2006 13:26, insgesamt 1-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

PureBasic.exe öffnen
Werkzeuge / Structurverzeichnis
Sollte alles beantworten, auch #True findeste unter Konstanten T

Ansonsten
Bild

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Little John

Beitrag 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
Antworten