Hai ihr,
um auch mal einen Beitrag zu leisen
Ich mache das ganz einfach so:
Wenn es im Verzeichniss der Exe eine INI für das Programm gibt und in dieser in einem bestimmten Abschnitt ein Pfad zu einem Datenverzeichniss steht wird dieser verwendet. Wenn dieser Eintrag nicht vorhanden (oder leer) ist wird das APPDIR verwendet.
Dadurch hat der Anwender die Möglichkeit zu bestimmen ob die Daten an einer von ihm bestimmten stelle stehen sollen.
Den Pfad zu dem Datenverzeichniss speichere ich dann einfach in einer globalen Variabel.
Delphi-Quellcode:
const
Programmname = 'Test';
var
AppDir: string;
procedure TDataModule1.ProgrammInit;
var
IniFile: string;
myIni: TIniFile;
begin
IniFile := ChangeFileExt(ParamStr(0), '.ini'); // Ininame = Exename
AppDir := '';
myIni := TIniFile.Create(IniFile);
try
AppDir := myIni.ReadString('programm', 'appdir', '');
finally
myIni.Free;
end;
if (AppDir = '') then
begin
AppDir := GetShellFolder(CSIDL_APPDATA);
AppDir := AppDir + 'Sharky\' + Programmname;
end;
AppDir := IncludeTrailingBackslash(AppDir);
end;
procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
ProgrammIni;
end;
Die Ini:
Code:
[programm]
;datadir = c:\test
Stephan B.
"Lasst den Gänsen ihre Füßchen"