You got me, that I have no idea, what "currentDir" really means.
I just copied the line and was happy it worked.
Still not sure about the consequences. Is it crucial, which is the working directory? (I risk, that you say, this is a very stupid question).
The files I use are set in the create event.
My organization is like this (as your name is KodeZwerg, I suspect you understand German) in OnCreate
// findet den Ordner "Eigene Dateien" in Win 7 und Win 10
Pfad:=GetWindowsSpecialDir(CSIDL_PERSONAL); // benöigt windirs
Pfad:=Pfad + '\TermineAb_2022\';
Pfad_Texte:=Pfad + 'Texte\'; // 7/ 22: zfür Textdateien
Pfad_Sound:=Pfad + 'hilfsdateien\Sound\'; // 7/ 22: Signalton
So my problem is (was?) this:
When I opened a file from e.g. downloads, the way to my text-directories means quite an annoying high amount of clicks to get back there.
The open method is this
// öffnet eine übergebene Datei für RichMemo default in rtf-Format oder startet den open-Dialog
procedure TForm_Notizen.ToolButton_oeffneClick(Datei: string);
Var ch: PChar;
s: string;
Text_Pfad: string;
begin
s:= 'Änderungen speichern in ' + RichMemoName+ '?'; // formt s in PChar
ch:=PChar(s);
if not Saved_dasRichMemo then // ungespeicherte Änderungen sichern
case Application.MessageBox(ch, 'Achtung', MB_YESNOCANCEL)
of IDYES : ToolButton_speichernClick(self); // Speichern; diese Medhode auflassen, sie funktioniert nicht
IDCANCEL : exit;
end;
Text_Pfad:=Pfad + 'Texte\'; // dort werden rtf Dateien primär gesucht
SetCurrentDir(Text_Pfad);
OpenDialog_RichMemoNotizen.InitialDir:=Text_Pfad;
if OpenDialog_RichMemoNotizen.Execute then begin
datei := Text_Pfad + OpenDialog_RichMemoNotizen.Filename;
If ExtractFileExt(datei) = '.txt'
then begin
RichMemo_wichtig.Lines.LoadFromFile(datei);
ShowMessage('Die Textdatei wird zwar geladen, doch ein Speichern auch als rtf führt zum Einfügen von Formatierungszeichen. D.h. der Text sollte hier nicht bearbeitet werden.');
end
else LoadRTFFile(RichMemo_wichtig, datei);
IstVeraendert(self);
RichMemoName:= datei; // OpenDialog_RichMemoNotizen.Filename; // diese Var hält den Pfad der Datei im Arbeitsspeicher
Caption := RichMemoName;
end;
end;