' CurrentDir.LST von Sandro Paolini
'                    Freiligrathstr. 79
'                    W-5600 Wuppertal 2
'                    Tel.: 0202 / 62 88 66
'
' CurrentDir.LST ist Freeware! (Es darf also nicht ohne meine Genehmigung
' in andere FD-Serien übernommen oder irgendwo abgedruckt werden!!!)
'
'
' Der "DIR$(0)"-Befehl ist fehlerhaft!!! Nach jedem Aufruf wird eine Lock-
' Struktur nicht wieder freigegeben, so daß z.B. Diskicons nicht mehr ver-
' schwinden, obwohl die entsprechende Diskette schon nicht mehr im Laufwerk
' ist.
'
' Da mein Programm DCM das Verzeichnis wechselt, wollte ich dieses am Ende des
' Programmes wieder restaurieren. Dazu speicherte ich das aktuelle Verzeichnis
' mittels "DIR$(0)" in einer Variable und setzte diese am Ende des Programmes
' mit "CHDIR variable$" wieder.
'
' Ohne DIR$(0) sieht das ganze bei mir nun so aus:
'
zugriff$="SYS:"+CHR$(0)
'
' Es ist eigentlich egal, was für ein Pfad hier angegeben wird, da dieser
' nicht benötigt wird. "SYS:" (bzw. Boot-Directory) wird aber jeder haben, so
' daß es hier keine Probleme gibt. Das Nullbyte muß wie immer bei Library-
' Befehlen dabei sein. zugriff$ wird gleich zum aktuellen Directory.
'
lock%=Lock(V:zugriff$,-2)
'
' Eine Lockstruktur für zugriff$ wird eingerichtet. lock% zeigt auf diese.
'
oldlock%=CurrentDir(lock%)
'
' Nun wird in das Verzeichnis gewechselt, auf das lock% zeigt. In oldlock%
' haben wir nun den Zeiger auf das alte aktuelle Directory!
'
' ------------------------------------------------------------------------
' Hier befindet sich nun das Hauptprogramm. Das aktuelle Directory ist im
' Moment zugriff$.
' ------------------------------------------------------------------------
'
lock%=CurrentDir(oldlock%)
'
' Nun wird wieder in das Directory gewechselt, in dem man sich beim Programm-
' start befand. Man hat also nicht plötzlich ein CLI mit einem anderen Pfad.
' In oldlock% befand sich der Zeiger auf das alte aktuelle Directory. In lock%
' wird nun der Zeiger auf zugriff$ bzw. "SYS:" zurückgegeben.
'
~UnLock(lock%)
'
' Nun muss die Lockstruktur wieder freigegeben werden, da sonst die ganze
' Sache überhaupt nix gebracht hätte! Das entsprechende Diskicon (diesmal aber
' für zugriff$) würde wieder nicht von der Workbench verschwinden.
'
EDIT
'
' schöööööö .......
'
