Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
sebi
Anmeldungsdatum: 07.01.2006 Beiträge: 10
|
Verfasst am: 21.02.2007, 20:17 Titel: Aktuellen Pfad / Dateinamen einer *.bas-Datei auslesen |
|
|
Hi!
Gibt es in QBasic eine Möglichkeit, den aktuellen Pfad und/oder Dateinamen der gerade verwendeten *.bas-Datei während des Programmablaufs zu ermitteln?
Gruß
Sebi |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 21.02.2007, 20:59 Titel: |
|
|
Es gibt nur eine möglichkeit, den Pfad der kompilierten EXE zu ermitteln, da ein BAS-Programm nicht ausgeführt, sondern interpretiert wird. Wenn ud diese funktion bei einer bas-datei einsetzt, wird der pfad der qb.exe zurückgeliefert. (weiß nicht ob's mit qbasic.exe geht, aber mit qb4.5 geht's in jedem fall, das kann auch exe-dateien erstellen.)
EXEPATH
edit: sebi war schneller...
edit2: sebi hat sebi geantwortet _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
sebi
Anmeldungsdatum: 07.01.2006 Beiträge: 10
|
Verfasst am: 22.02.2007, 20:19 Titel: |
|
|
Hi!
Vielen Dank für die Tipps
Das Programm EXEPATH.BAS läuft und lässt sich problemlos kompilieren.
Wenn ich die entsprechenden FUNCTIONs in meine bestehende bas-Datei einbinde, kann ich das Programm zwar ablaufen lassen und bekomme erwartungsgemäß den Pfad für die Datei QBX.exe angezeigt.
Leider bekomme ich dann beim Kompilieren eine Fehlermeldung
"Program Memory Overflow"
Hab mal ein Screenshot von der Fehlermeldung hochgeladen
Jemand eine Idee, warum der Fehler auftritt? Einzeln lässt sich sowohl EXEPATH.BAS als auch meine bas-Datei ja kompilieren.
Gruß
Sebi |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.02.2007, 20:21 Titel: |
|
|
Hm, ich würde das so deuten, dass die beiden programm zusammen einfach zu groß sind. notfalls musst du dein programm in mehrere dateien aufsplitten... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 22.02.2007, 20:23 Titel: |
|
|
Dann ist dein Programm wahrscheinlich zu umfangreich und du musst ein bisschen optimieren. Sachen wie
Code: | PSET (10,100), 12
PSET (20, 100), 12
PSET (30, 100), 12
... |
kann man beispielsweise in eine Schleife packen oder feste Textstrings wie
Code: | PRINT "Drücken Sie dies und das, um in folgendes Menü zu gelangen." |
oder auch alles, was du in DATA-Anweisungen drin hast (z.B. Bilder) kannst du in externe Dateien auslagern. Dadurch sinkt die Programmgröße auch noch mal. Du könntest auch deinen Code mal posten, dann schauen wir mal, ob sich noch was machen lässt. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
sebi
Anmeldungsdatum: 07.01.2006 Beiträge: 10
|
Verfasst am: 24.02.2007, 00:48 Titel: |
|
|
Hi!
Es liegt tatsächlich an der Größe der Quelldatei. Hab in den FAQs zu dem Thema auch mal nachgeschaut.
Bin mittlerweile dabei, den Programmcode zu optimieren und Teile in externe Dateien auszulagern, wie es vorgeschlagen wurde.
Das Programm ist ziemlich komplex geworden im Laufe der Zeit und so haben sich in der BAS-Datei über 80kB angesammelt
Vielen Dank für eure Ratschläge
Gruß
Sebi |
|
Nach oben |
|
|
|