| Henry hat folgendes geschrieben: |
| Nun möchte ich aber meine Programmdateien im Programmverzeichnis in einem eigenen Ordner z.B. \bin ablegen und die Dateien im Programmverzeichnis ebenfalls in eigene Ordner ablegen. |
Darüber würde ich noch mal nachdenken. An sich spricht nichts gegen die Idee, aber in Mehrbenutzerumgebungen greifen alle angemeldeten Benutzer dann auf die selben Dateien zu (schlecht bei privaten, gespeicherten Infos), unter NT-Systemen kann es aber auch (auf Grund eingeschränkter Rechte des jeweiligen Benutzers) zu Problemen beim Erstellen dieser Dateien kommen. Dazu könnte ich ein Beispiel nennen, bei dem beides passiert ist, aber das wäre unfair, weil derjenige das Problem mittlerweile kennt und sicher auch beheben wird.
| Zitat: |
| Wie kann ich ein Verzeichnis höher gehen (also von meinem Pfad ins Programmverzeichnis)? |
Na ja, entweder den umständlichen Weg, indem du das ermittelte Verzeichnis als Arbeitsverzeichnis setzt, dann eins höher springst und das übergeordnete Verzeichnis ermittelt
Delphi-Quelltext
1: 2: 3:
| SetCurrentDir(ExtractFilePath(paramstr(0))); ChDir('..'); szDummy := GetCurrentDir; |
oder du bemühst copy und ermittelst aus dem Pfad der Anwendung das übergeordnete Verzeichnis:
Delphi-Quelltext
1: 2: 3: 4: 5:
| szDummy := ExtractFileDir(paramstr(0)); i := length(szDummy); while not(szDummy[i] in['\',':']) do dec(i);
ShowMessage(copy(szDummy,1,i)); |
Als Beispiel. Kann man sicher noch eleganter machen.
PS: Weil "ExtractFilePath" den schließenden Backslash liefert, solltest du vielleicht "ExtractFileDir" benutzen, oder du entfernst den Backslash am Ende, bevor du die paar Beispielzeilen aufrufst.