Includefile aus übergeordnetem Ordner?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Includefile aus übergeordnetem Ordner?

Beitrag von Franky »

Tja, kurzum: Geht das? :?

Code: Alles auswählen

IncludeFile "..\var.pb"
IncludeFile "\..\var.pb"
IncludeFile "\\var.pb"
Jedes einzelne liefert Fehler und mehr versionen fallen mir da nich ein ;)


Hintergrund ist der, dass ich ein paar Zeilen schreiben wollte, mit der ich mir automatisiert Bilder erstellen kann. Die Farben wollt ich aus der Var-Datei des Hauptprogramms auslesen, dann brauch ich nich immer kopieren. :D
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

das erste geht, wenn man vom PureBasic-ordner ausgeht und eine echte
Datei erzeugt.
Win11 x64 | PB 6.20
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Ok, Danke. Vom PB-Ordner is n bissen blöd, aber ok, dann muss ich halt kopieren :roll:
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
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 »

Nur das erste kann gehen, die anderen sind syntaktisch falsch.
Die funktionieren natürlich nur, wenn das aktuelle Verzeichnis gesetzt wurde!
siehe SetCurrentDirectory, und am besten das Compilerhäkchen für Compilieren im Sourcedir setzen
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
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

ich wollte das mit SetCurrentDirectory auch schreiben, mir fiel aber die Funktion
nicht ein.
Win11 x64 | PB 6.20
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Beitrag von helpy »

Hallo,

SetCurrentDirectory ????

IncludeFile und XIncludeFile sind doch Befehle für den Compiler und werden zur Compile-Zeit ausgeführt.

SetCurrentDirectory jedoch wird zur Laufzeit des Programms ausgeführt.

SetCurrentDirectory hat daher keine Auswirkung auf [X]IncludeFile.

Bei [X]IncludeFile wird entweder ein absoluter Pfad oder ein relativer Pfad verwendet. Der relative Pfad bezieht sich auf das Verzeichnis, in dem sich die Source-Datei der Hauptdatei befindet.

Mit IncludePath kann das Verzeichnis gesetzt werden, auf das sich [X]IncludeFile bei relativen Pfaden bezieht.

Um zu erreichen, dass sich in inkludierten Dateien [X]IncludeFile bei relativen Pfaden, auf das Verzeichnis bezieht, in dem sich auch die aktuelle Source-Datei befindet, kann man folgendes schreiben:

Code: Alles auswählen

[X]IncludeFile #PB_Compiler_FilePath + "include.pbi"

Wenn die FarbInformationen jedoch zu Laufzeit (vom bereits kompilierten Programm) eingelesen werden sollen, dann würde ich eher Preferences verwenden.

cu, guido
Windows 10
PB Last Final / (Sometimes testing Beta versions)
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 »

@helpy
:oops: Hab übersehen, das es hier ja eine CompilerDirective ist.
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
Antworten