Suchfunktion.
Profilpfad bei W2K des Users auslesen, aber wie?. Der Beitrag enthält auch weiterführende Links, so dass du auf jeden Fall eine vernünftige Lösung (für möglichst alle Windows-Versionen) finden solltest.
Entgegen der Aussage in der Borland-Hilfedatei (zumindest steht´s bei meinem D5 noch drin!) sollten INI-Dateien aber tunlichst
nicht im Windows- oder Systemordner gespeichert werden. Dass das mangels Rechte manchmal auch gar nicht klappt, ist die andere Sache.
Wobei mir das hier
| Zitat: |
| bei mir wird die INI zB: unter c:\Dokumente und Einstellungen\username\Windows\ gespeichert (Win2000) |
aber doch merkwürdig vorkommt. Normalerweise müsste deine INI-Datei (wenn du keinen Pfad angibst) direkt im Windows-Ordner landen, nicht aber im Profilpfad.

Sehr komisch.
Falls du die INI-Datei vielleicht im Ordner deines Programms speichern willst, dann wäre eine Variante diese hier:
Delphi-Quelltext
1:
| ini := TIniFile.Create(ExtractFilePath(paramstr(0)) + 'ininame.ini'); |
vor, mit der die Datei "ininame.ini" im Ordner deines Programms landet. Eine weitere Möglichkeit:
Delphi-Quelltext
1:
| ini := TIniFile.Create(ChangeFileExt(paramstr(0),'.ini')); |
Damit trägt die INI-Datei den selben Namen wie deine EXE, also bei "projekt1.exe" heißt sie dann "projekt1.ini" (durch
ChangeFileExt). Auf die gleiche Weise kannst du den Namen dann natürlich ermitteln und an
ShellExecute weiterreichen.
Aber, ehrlich gesagt!, finde ich die Idee mit dem Benutzerverzeichnis besser.

Damit ist deine Anwendung Multi-User-fähig, weil jeder User seine eigene INI und damit seine eigenen Einstellungen hat.