Zitat:
pathlang1:='Vokabellisten\'+lang1+'\'+ok
Arbeite
niemals mit relativen Pfaden!
Nein, relative Pfade sind nicht relativ zum Verzeichnis wo die EXE liegt,
sondern sie liegen relativ zum aktiellen Arbeitsverzeichnis. (und das kann sich ändern, z.B. der FileDialog spielt gerne damit rum
)
Tja, wenn du versuchst eine Datei in einem Verzeichnis zu speichern, welches nicht existiert, dann muß es zwangsläufig knallen.
Tipp:
ExtractFilePath(ParamStr(0))
oder
ExtractFilePath(Application.ExeName)
z.B. siehe
http://www.delphipraxis.net/168206-d...-new-post.html
So, wenn deine Pfade irgendwann mal stimmen (absolut sind), dann darfst du dir auch DirectorYExists, CreateDirectory oder ForceDirectories angucken, oder du erstellst die Verzeichnisstruktur außerhalb deines Programms. (z.B. manuell über den Explorer)
PS:
SaveDialog1.Execute
ist eine Funktion.
Drück mal auf Abbrechen und wundere dich dann, daß dennoch gespeichert wird, obwohl du es doch nicht mehr wolltest.
Zitat:
Delphi-Quellcode:
back:='';
i:=length(savedialog1.filename);
while not (savedialog1.filename[i]='\') do
begin
part:=savedialog1.filename[i];
back:=back+part;
i:=i-1;
end;
Das soll nicht zufällig ein
ExtractFileName darstellen?
ReverseString