GetPrivateFileName()

extern KADMOS_ERROR KADMOS_API GetPrivateFileName
  (char *file_title, const char *filter, unsigned int mode,
  const char *boxtext,const char *inifile, const char *section, 
  const char *entry);
      

Parameter:

file_title
Pointer auf zurückgelieferten Dateinamen.
filter
Wie bei GetFileName unter Windows.
mode
Wie bei GetFileName unter Windows.
OF_READ Öffen nur zum Lesen.
OF_CREATEErstellen und öffnen zum Schreiben.
OF_PROMPTPrompt des Dateinamens.
OF_EXIST Datei muss exisieren.
boxtext
Wie bei GetFileName unter Windows.
inifile
Ini-Datei, in der die Einträge abgelegt sind.
section
Sektion in der Ini-Datei, unter der der Eintrag abgelegt ist.
entry
Eintrag mit dem Dateinamen in der Sektion.

Rückgabewert:

RE_SUCCESS oder KADMOS-Fehlertyp.

Bemerkungen:

Zur Vereinfachung unserer eigenen Arbeit haben wir uns eine Funktion GetPrivateFileName() bereitgestellt, mit welcher sich auch die Beispielprogramme einfacher gestalten lassen. Diese Funktion ist in Anlehnung an die Windows-Funktionen GetPrivateProfileString() und WritePrivateProfileString() gestaltet. Findet sich in inifile unter section und entry ein Dateiname, der den unter Mode gegebenen Anforderungen (OF_EXIST, OF_CREATE) genügt, so wird dieser Dateiname unter file_title zurückgeliefert. Es ist dabei sicherzustellen, dass unter file_title genügend Speicherplatz (_MAX_PATH) zur Verfügung steht. Ist in IniFile unter section und entry noch kein Eintrag, jedoch unter file_title bereits ein Dateiname eingetragen, so wird dieser geprüft, ob er den unter Mode gegebenen Anforderungen entspricht. Bei OF_EXIST wird geprüft, ob die gegebene Datei existiert. Bei OF_CREATE wird geprüft, ob sich eine derartige Datei erstellen lässt. Ist kein Dateiname angegeben oder eine der durch Mode gegebenen Bedingungen nicht erfüllt, so wird im Dialog ein gültiger Dateiname angefordert. BoxText bildet dabei die Anforderungs-Meldung für den Dialog. Wird der Dialog ohne gültigen Dateinamen vom Bediener abgebrochen, so gibt der Funktionsaufruf den Wert RE_FILEERROR zurück, ansonsten den Wert RE_SUCCESS. Ist unter Mode zusätzlich der Wert OF_PROMPT gesetzt, so wird in jedem Fall ein Dialog zur Eingabe eines Dateinamens gestartet. Der gegebenenfalls in inifile unter section und entry oder unter file_title vorgegebene Dateiname wird als Voreinstellung des Dialoges genutzt. Bei positiver Prüfung des vorgegebenen oder eingegebenen Dateinamens wird dieser in der Inifile unter section und entry abgelegt, die Funktion mit RE_SUCCESS beendet. GetPrivateFileName() ist nur für Windows (auch für Consol-Applikationen) verfügbar.

Verweise: