| rammelteid 
 
 
 Anmeldungsdatum: 26.08.2005
 Beiträge: 1
 
 
 | 
			
				|  Verfasst am: 26.08.2005, 11:04    Titel: Compilerpfadsetzen für mobiles FreeBASIC |   |  
				| 
 |  
				| Vielleicht interessiert es ja keinen, aber das soll mich nicht abhalten   
 In den letzten Tagen habe ich mir ein "Cross-Platform-Development-Kit" gebastelt, d.h. alle Betriebssystemversionen zusammengenommen und auf USB-Stick gespielt. Nun fand ich es recht störend, daß FBIDE sich auf den verschiedenen (Windows-)Rechnern aufgrund verschiedener Laufwerke jedesmal beschwerte, der Compilerpfad sei nicht gesetzt.
 Deswegen verzapfte ich folgendes kleines Programm:
 
 
 
'###################
 '#    setcompilerpath.bas
 '###################
 
 OPTION EXPLICIT
 OPTION BASE 1
 
 DIM currentdir AS STRING
 DIM prefs AS STRING
 DIM prefsini(256) AS STRING
 DIM drive AS STRING
 DIM doublepoint AS INTEGER
 DIM path AS STRING
 DIM backslash(256) AS INTEGER
 DIM compiler AS STRING
 DIM datname AS STRING
 DIM position,index,row AS INTEGER
 
 currentdir=CURDIR$
 PRINT "Retrieving path: ";TAB(10);currentdir;" ..."
 
 compiler="fbcwin32.exe"
 PRINT "Setting Compilername to: ";TAB(10);compiler;" ..."
 
 doublepoint=INSTR$(currentdir,":")
 drive=Left$(currentdir,doublepoint)
 
 currentdir=right$(currentdir,LEN(currentdir)-doublepoint)
 
 position=0
 index=1
 DO
 position=INSTR$(position+1,currentdir,"\")
 IF position<>0 THEN
 backslash(index)=position
 index=index+1
 END IF
 LOOP UNTIL position=0
 
 prefs=""
 FOR position=1 TO index-1
 prefs=prefs+"\"+mid$(currentdir,backslash(position),backslash(position+1)-backslash(position))
 NEXT
 
 prefs="fbc="+drive+prefs+"\\"+compiler
 PRINT "prefs.ini entry will be: ";TAB(10);prefs;" ..."
 
 datname=CURDIR$+"\IDE\prefs.ini"
 PRINT "Opening prefs.ini: ";TAB(10);datname;" ..."
 OPEN datname FOR INPUT AS #1
 row=1
 DO
 LINE INPUT #1,prefsini(row)
 row=row+1
 LOOP UNTIL EOF(1)
 CLOSE
 
 OPEN datname FOR OUTPUT AS #1
 FOR index=1 TO row
 IF left$(prefsini(index),3)="fbc" THEN
 PRINT "Replacing current entry: ";TAB(10);prefsini(index)
 prefsini(index)=prefs
 PRINT "with";TAB(10);prefsini(index)
 PRINT "Saving ..."
 END IF
 PRINT #1,prefsini(index)
 NEXT
 
 PRINT "Done..."
 
 END
 
 
 Das ganze noch in eine *.bat verpackt:
 
 
 
setcompilerpath.exe
 .\fbide.exe
 
 
 Das ".\" hat seinen Sinn, ansonsten findet FBIDE sein Logo nicht.
 
 MfG
 |  |