SelfProfan²:Pf�de

Pfäde

Manche Funktionen erwarten ganze Pfäde von dem Programm. Wenn das Programm
aber nun auf einem anderen Rechner installiert ist, und der Benutzer dort
einen anderen Pfad als du für die Installation vorgesehen hast, benutzt hat, funktioniert
das Programm nicht richtig. Dein Programm könnte so aussehen:
Print "Hier können sie meinen Lieblingssound hören!"
PlaySound "C:\Meinprog\Meindata\Meinsound\favorite\sound.wav",1

Der Befehl PlaySound wird später erklärt(Windows-Modus). Hier wird auf die
Datei C:\Meinprog\Meindata\Meinsound\favorite\sound.wav zugegriffen. Der
andere Benutzer hat als Verzeichniss aber C:\Programme\Tollesprog\ gewählt und
bekommt eine Fehlermeldung. Es gibt die Funktion GetDir$($) um ein Verzeichniss
zu ermitteln. Mit GetDir$("@") wird das jetztige Verzeichniss ermittelt. Beispiel:
Declare pfad$,pfad2$
pfad$=GetDir$("@")
pfad2$=Add$(pfad$,"\Meindata\Meinsound\favorite\sound.wav")
PlaySound pfad2$,1

Hier wird das selbe getan, nur bei dem anderen Benutzer funktioniert es jetzt.
Die Funktion Add$($,$) wurde schon erklärt.


Es kann mit der oben genannten Methode allerdings ein Fehler entstehen:
Sobald ein anderes Arbeitsverzeichniss angegeben ist, funktioniert es nicht mehr.
Deshalb sollte man eine zweite möglichkeit nutzen:
Par$(%)
Dieser Befehl gibt die Parameter an, die beim Aufruf angegeben werden. Beispiel:
Du startest das Programm meinprog1.exe aus der MS-DOS Eingabeaufforderung
so:
C:\meinord > meinprog1.exe 1para 2para 3para -4 .5
Nun kann das Programm seine eigenen Parameter auslesen. Diese Funktionen
würden folgendes zurückgeben:
Par$(1) = 1para
Par$(2) = 2para
Par$(3) = 3para
Par$(4) = -4
Par$(5) = .5
Verständlich, oder?Nun steht in %ParCount die Anzahl der Parameter. In diesem
Beispiel sind es 5. In Par$(0) steht der Name des Programmes. In dem oberen
Beispiel ist Par$(0) = meinprog1.exe
Nun ein kurzes Beispiel, wie man das Verzeichniss mit Hilfe von Par$(0)
herausbekommen kann:
Declare laufwerk$,pfad$
pfad$=Par$(0)
laufwerk$=Left$(pfad$,2)
pfad$=Del$(pfad$,1,2)
WhileNot Equ$(Right$(pfad$,1),"\") ' Solange,wie das letzte Zeichen
' von pfad$ NICHT ein \ ist...

pfad$=Left$(pfad$,Len(pfad$)-1) ' ...ziehe das letzte Zeichen ab.
Wend ' Ende der Bedingung

Es muss immer das letzte Zeichen abgezogen werden, da der Pfad ja sonst
z.B. C:\Programme\Profan70\Profan.exe heißen würde. Da das letzte Zeichen
dieses Pfades kein \ ist,wird ein Zeichen abgezogen. Das Ergebniss ist:
C:\Programme\Profan70\Profan.ex
Das wird solange wiederholt, bis das letzte Zeichen ein \ ist,also:
C:\Programme\Profan70\
In pfad$ steht jetzt das Verzeichniss. In diesem Beispiel wird ein Befehl verwendet,
der noch nicht erklärt wurde. While. Hiebei handelt es sich um eine Schleife.


Einführung
Grundlagen
Windows-Modus
Anhang

(©) Michael Stapelberg