 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Gremlin

Anmeldungsdatum: 12.12.2004 Beiträge: 142 Wohnort: Heinsberg
|
Verfasst am: 07.02.2005, 22:41 Titel: Environ - QBasic streikt |
|
|
Hallo.
Wie im Thread zu meiner Benutzeroberfläche für den FreeBASIC-Compiler geschrieben, wollte ich daran arbeiten, dass die FBC.EXE automatisch gesucht wird.
Ich habe aber nun gemerkt, dass dieser Vorgang unheimlich lange dauert.
Also habe ich mich zusätzlich für draeal's Methode entschieden, mit ENVIRON$.
Nun wollte ich, falls FBC.EXE irgendwo gefunden wurde, den Pfad mit ENVIRON unter der Umgebungsvariablen FBC speichern, das geht aber nicht.
Anfangs sagte mir ein QBasic-Prompt, dass kein Speicherplatz verfügbar sei.
Nun sagt mir auf einmal meine Anwendung, dass ein Fehler beim Erstellen der Datei aufgetreten ist.
In meinem Fehlerbehandler habe ich das jetzt abgestellt, aber dank ERL weiß ich, dass diese Zeile gemeint war. (die Suchroutine hatte nämlich auch Probleme gemacht)
Hier mal der betroffene Codeteil:
Code: | ' ********** FBC.EXE suchen
IF ENVIRON$("FBC") = "" THEN
PRINT "Suche FBC.EXE..."
a% = 67
DO UNTIL a% > 90
IF a% = 65 OR a% = 66 THEN EXIT DO
1 CHDIR CHR$(a%) + ":\"
SHELL "dir /s /b>" + ENVIRON$("TEMP") + "\~D_I_R.TXT"
OPEN ENVIRON$("TEMP") + "\~D_I_R.TXT" FOR INPUT AS #1
DO UNTIL EOF(1)
INPUT #1, temp$
IF UCASE$(RIGHT$(temp$, 7)) = "FBC.EXE" THEN
fbc.Root$ = LEFT$(temp$, LEN(temp$) - 7)
2 ENVIRON "FBC=" + fbc.Root$
EXIT DO
END IF
LOOP
CLOSE #1
KILL ENVIRON$("TEMP") + "\~D_I_R.TXT"
Weiter:
a% = a% + 1
LOOP
IF fbc.Root$ = "" THEN
PRINT "FBC.EXE wurde nicht gefunden!"
PRINT "Der Compiler wurde anscheinend"
PRINT "nicht installiert."
END IF
ELSE
fbc.Root$ = ENVIRON$("FBC")
END IF
' [...] Hier kommt der unfertige, eigentliche Code
' Fehlerbehandler:
Fehler:
IF ERL = 1 THEN
RESUME Weiter
END IF
IF ERL = 2 THEN
PRINT "FBC="; fbc.Root$
PRINT "konnte nicht in AUTOEXEC.BAT"
PRINT "eingetragen werden."
PRINT
PRINT "Beliebige Taste drücken,"
PRINT "um trotzdem fortzufahren."
PRINT "Escape, um zu beenden."
SLEEP
IF INKEY$ = CHR$(27) THEN END
CLS
RESUME Weiter2
END IF |
EDIT: Seltsam, wenn ich den Compiler auf D:\ verschiebe, dann wird er ncith gefunden  _________________ Tja, hier konnte ihre Werbung stehen.
Pech gehabt.  |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
Gremlin

Anmeldungsdatum: 12.12.2004 Beiträge: 142 Wohnort: Heinsberg
|
Verfasst am: 08.02.2005, 00:17 Titel: |
|
|
Das Problem D:\ ist gelöst...
Ich hab anstatt Code: | 1 CHDIR CHR$(a%) + ":\"
SHELL "dir /s /b>" + ENVIRON$("TEMP") + "\~D_I_R.TXT" | einfach Code: | 1 SHELL "dir " + CHR$(a%) + ": /s /b>" + ENVIRON$("TEMP") + "\~DIR.TXT"
| geschrieben
Bleibt das Environ-Problem
EDIT: Jetzt hab ich es über eine (später versteckte) Datei gemacht, die im Ordner der (später) EXE abgelegt wird, hmpf. _________________ Tja, hier konnte ihre Werbung stehen.
Pech gehabt.  |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|