Only a litteral string ...

Anfängerfragen zum Programmieren mit PureBasic.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Only a litteral string ...

Beitrag von Tombi »

Wenn ich folgenden Code ausprobiere:

Code: Alles auswählen

Repeat
If ExamineDirectory(0,pluginfolder$+"/"+a$,"*.*")
  FileType = NextDirectoryEntry()
    If FileType = 1
      FileName$ = DirectoryEntryName()
      
      Name$ = pluginfolder$+"/"+a$+"/"+FileName$
        IncludeFile Name$
        
    EndIf
  
Else
 MessageRequester("Error: Plugins",pluginfolder$+"/"+a$+" not found.",0)
 End
EndIf
  
Until FileType = 0
Bekomme ich immer nur bei IncludeFile Name$ folgendes:
[quote=Fehlermeldung]Only a litteral string can be put after 'IncludeFile'[/quote]

Wie könnte ich das anders lösen?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

garnicht ^^

IncludeFiles werde/müssen vor dem Compilieren des Codes in die Gesamtquellcode eingebaut werden.

Somit kannst du das nicht einbauen wärend das Programm schon läuft.

Du musst also selber alle Includes zusammschreiben.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Wie alle Includes zusammenschreiben?

Ich will alle Dateien die in einem Ordner sind includieren.
Wie soll ich das anderst lösen?

Ich will/kann nicht vorher sagen welche Dateien drinne sind alles und wie die alle heißen!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Wie STARGÅTE schon schrieb, geht das nicht. Du wirst dir ein anderen
Weg suchen muessen, um Plugins zu laden. Mit IncludeDings bist du
voellig falsch.

Du koenntest aber mal erzaehlen was du da genau vorhast, dann findet
sich sicherlich eine Lösung.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

schreibe dir ein Programm, was diesen Ordner ausließt und dann selber erst mal eine "Main.pb" Include schreibt.
In diese steht dann alle deine Files drinne, sodass du bei deinem Hauptcode nur noch eine Main.pb includen musst, welche dann alle Includes beinhaltet, die zZ an dem du den Ordner ausgelesen hast im Ordner waren.
So oft werde sich ja deine Includes nicht vermehrern ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hi,

ich stimme StarGate zu so würde ich das auch machen...

Und hier die Funktion deines Vertrauens:
http://www.purebasic.fr/german/viewtopi ... highlight=

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Kapiere ich irgendwie nicht :mrgreen:
Außerdem soll es ja wie ein "Plugin-System" sein, da kann jeder `ne PureBASIC Datei (mit PureBASIC-Script darin ^^) einfügen und die soll dann entsprechend geladen werden. Da weiß ich ja nicht, wie welche Datei heißt, höchstens durch mein oberes Script was ja nicht funktioniert.

Ist es vielleicht möglich auch einfach eine Datei über ReadFile() bzw. OpenFile() zu öffnen und dann jede Einzelne Zeile aufzurufen, ist ja alles PureBASIC Code.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hi,

du musst in 2 Schritten arbeiten:

1. Programm a) erstellen eine include.pbi mit allen IncludeFiles darin aufgelistet aus dem Verzeichnis.

Code: Alles auswählen

IncludeFile "dir\dateia.pb"
IncludeFile "dir\dateib.pb"
IncludeFile "dir\dateic.pb"
2. Das eigentliche Programm braucht dann als Include nur noch die eine include.pbi

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Tombi hat geschrieben:Kapiere ich irgendwie nicht :mrgreen:
Außerdem soll es ja wie ein "Plugin-System" sein, da kann jeder `ne PureBASIC Datei (mit PureBASIC-Script darin ^^) einfügen und die soll dann entsprechend geladen werden. Da weiß ich ja nicht, wie welche Datei heißt, höchstens durch mein oberes Script was ja nicht funktioniert.

Ist es vielleicht möglich auch einfach eine Datei über ReadFile() bzw. OpenFile() zu öffnen und dann jede Einzelne Zeile aufzurufen, ist ja alles PureBASIC Code.
Nein, PB ist keine Scriptsprache. Nach dem Kompilieren ist schicht
im Schacht. Mach es dir einfach und vergiss den Gedanken.
Tombi
Beiträge: 369
Registriert: 05.03.2008 22:05

Beitrag von Tombi »

Achso... Cool :mrgreen:
Danke für den Tipp probiere ich gleich aus...
Antworten