  | 
					
						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, 21: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: 07.02.2005, 23: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.
  | 
   
 
     |