SYSfullPath

Top  Previous  Next

Generiert einen Pfadnamen aus Environmentvariablen.

Als Eingaben erhält SYSfullPath den Namen einer Environmentvariablen, konstante Teile der Pfadbezeichnung, die Benutzereingabe und eine Defaultextension. Mit dieser Prozedur erhält der Anwender die größtmögliche Freiheit bei der Angabe von Dateien, ohne auf Grundeinstellungen zu verzichten. Wird ein Name ohne Extension angegeben, so wird eine Datei mit der Defaultextension erzeugt. Wenn der Pfad, den der Anwender angibt, relativ ist, dann wird die Environmentvariable vor diesen Pfad gestellt. Beginnt der Pfad des Anwenders mit einem Laufwerksnamen oder einem '\' oder '.\', so wird die Pfadangabe nicht modifiziert.

Parameter

envVar (const char *)                                  [IN]

Wenn hier der Name einer Environmentvariablen angegeben wird, dann wird diese als Beginn des generierten Pfadnamens verwendet. Diese Angabe wird nur verwendet, wenn der Anwenderpfad relativ ist.

vorname (const char *)                               [IN]

Wenn der Pfad über die Environmentvariable verändert wird, dann wird hinter die Variable dieser Pfadanteil kopiert.

name (const char *)                                     [IN]

Dies ist die vom Anwender gemachte Eingabe für den Dateinamen.

extension (const char *)                              [IN]

Wenn der vom Anwender spezifizierte Name keine Extension enthält, dann wird diese Extension angehängt. Die Extension muss den Punkt davor enthalten.

ergebnis (char *)                                [IN/OUT]

In diesen Puffer wird als Ergebnis der vollständige Pfadname eingetragen. Die Variable muss auf einen genügend großen Puffer zeigen.

defaultPath (const char *)                           [IN]

Hiermit kann ein Pfadname angegeben werden, der eingesetzt wird, falls in der Enviromentvariablen envVar kein gültiger Pfad steht.

initial (const char *)                                      [IN]

Mit initial kann eine Umgebungsvariable angegeben werden. Über diese Umgebungsvariablen wird dann ein zuvor eingestellter Pfad angesprochen. Wird keine Umgebungsvariablen benutzt, kann NULL oder eine leere Zeichenkette übergeben werden.

forceExtension (int)                                     [IN]

Mit TRUE wird eine Dateiendung erzwungen, also angehangen. Wenn hier FALSE übergeben wird, braucht keine Dateiendung angehangen zu werden.

Deklaration

#include "basic.h"

 

void DLLENTRY SYSfullPath (

     const char *      envVar,

     const char *      vorname,

     const char *      name,

     const char *      extension,

     char *            ergebnis,

     const char *      defaultpath,

     const char *      initial

     int            forceExtension

);

Beispiel

char ergebnis[200];

setenv("ENVI","pfad");

SYSfullpath("ENVI","VORNAME","USERNAME","EXT",ergebnis,"","",TRUE);

Ergebnis enthält: „pfad\VORNAME\USERNAME.EXT“

SYSfullpath("ENVI",".\VORNAME","USERNAME","EXT",ergebnis,"","",TRUE);

Ergebnis enthält: „.\VORNAME\USERNAME.EXT“

SYSfullpath("ENVI","C:VORNAME","USERNAME","EXT",ergebnis,"","",TRUE);

Ergebnis enthält: „C:VORNAME\USERNAME.EXT“

SYSfullpath("ENVI","","USERNAME.X","EXT",ergebnis,"","",FALSE);

Ergebnis enthält: „pfad\USERNAME.X“