Trick 68: Gibt's ein Verzeichnis für das Ereignis?  
                Existiert der Pfad c:\abc\xyz?

Aufgabe: Geschwind mal nachschauen, ob ein bestimmtes Verzeichnis
         eigentlich auf dem System schon existiert.

Warum: Man will dann und wann eine Datei mit  "open x ..." anlegen und
       der Dateiname enthält einen Pfad. Dann klappt das ja nur, wenn
       der Pfad schon da ist. Im Fall seines Fehlens erfährt man aber
       mit "if no ..." nur, daß es nicht geklappt hat. Der Grund kann
       dafür auch ein anderer sein: z.B. mangelndes Schreibrecht auf
       dem Verzeichnis, oder Datei existiert schon und ist schreib-
       geschützt. Um sicher zu gehen, würde man gerne vorab die
       Existenz des Verzeichnisses schnell mal eben abchecken können.
       Weitere Gründe für einen solchen Wunsch sind denkbar.

Lösung:   [siehe dazu  h xfnam ]
       Es geht erfreulich schnell. Sagen wir, man will die Existenz des
       Verzeichnisses  c:\allegro\altdaten\kopie  prüfen. So geht's:

       fnam |.c:/allegro/altdaten/kopie
       if "" jump fehler

Was stünde in der iV als Ergebnis, wenn das Verzeichnis existiert?
Da stünde dann einfach nur "kopie" drin. Dasselbe passiert, wenn
man schreibt:
      fnam |.c:/allegro/altdaten/kop*

Hier sind also die bequemeren normalen Schrägstriche möglich, aber
der Backslash - verdoppelt - tut es auch. Dabei Vorsicht: Wenn der
Name des Verzeichnisses in einem Datenfeld vorkommt, dürfen die
Backslashe darin nicht verdoppelt sein. Sagen wir, es ist:

#uvz c:\allegro\altdaten\kopie

dann ist das OK, und man hätte zu schreiben:

var "|." #uvz
fnam
if "" jump fehler

Wäre es nicht unpraktisch, in solchen Fällen, wo man den Verzeichnis-
namen womöglich aus anderer Quelle hat, sich erst noch um die Striche
kümmern zu müssen? Muß man also nicht.

Vorsicht:
Am Ende des Namens darf kein Strich sein!
Was macht man, wenn man das nicht weiß? So kriegt man sie weg:

var "|." #uvz(F"/\\")

Und geht das auch mit $-Variablen? Ja, das geht:

var "|." $Verz (F"/\\")

Wichtig: Das Spatium zwischen dem Variablennamen und der Klammer! Denn
die Namen der $-Variablen sind ja variabel lang, da muß das Programm
erkennen können, wo der Name zu Ende ist: am Spatium eben.

ExtraTip:
Gibt es das Laufwerk K:?  Das prüft man so:
fnam |.k:\\*.*
if "" jump fehler

SonderTip:
Dürfen eigentlich bei den Befehlen "open" und "open x" die Striche
auch normal sein? Ja. Auch gemischt? Ja.


Hinweis: Trick 53 befaßte sich nur mit der Frage, welche Verzeichnisse
an einer bestimmten Stelle im System anzutreffen sind, nicht gezielt
mit der Frage, ob es ein bestimmtes gibt.