![]() |
Ordner automatisch erstellen?
Hi,
wenn ich z.B. per Memo1.lines.savetofile eine Datei speichere (z.B. in c:\irgendwas\ass\fjk) speicher, kommt ja normalerweise der Fehler, dass der Ordner nicht existiert. Aber wie kann ich die Ordner automatisch erstellen lassen? Also schon vor dem speichern die Ordner erstellen. Das geht mit mkdir. Aber wie kann ich das hier bei mehreren Verzeichnissen machen? viele Grüße Stephan |
Hallo Stephan,
das Zauberwort heißt "ForceDirectories" Zitat:
|
du musst das wohl abfangen und den String dann zerlegen oder du nimmst ein Save-Dialog...
Einfacher geht das glaub ich nicht. Wenn du den String zerlegen willst, kuck dir am besten mal POS und COPY in der Hilfe an. |
hy,
du musst sie mit nem savedialog (savedialog in die form einbinden) speichern :
Delphi-Quellcode:
das wars schon, jetzt wenn du dies in einen button einbindest geht ein dialog auf wie in den meisten gaengisten programmen!
if Savedialog.Execute then
memo1.Lines.Savetofile(SaveDialog.Filename); cu |
Delphi-Quellcode:
Zu diesem Beispiel gehören eine Beschriftung (Label) und eine Schaltfläche. Nach einem Klick auf die Schaltfläche werden ausgehend vom aktuellen Pfad alle Verzeichnisse angelegt, die noch nicht existieren. Die Ergebnisse werden im Beschriftungstext ausgegeben.
procedure TForm1.Button1Click(Sender: TObject); var Dir: string; begin Dir := 'C:\APPS\SALES\LOCAL'; if ForceDirectories(Dir) then Label1.Caption := Dir + ' wurde erstellt.' end; |
mhm das mit dem ForceDirectory kannte ich auch noch nicht...
Werde gleich mal meine Programme überarbeiten gehen und das einbauen... Habe es vorher auch so umständlich gemacht wie beschierben |
Hallo ich noch mal ,ich hab hier noch mal was geschrieben wie es aussehen müßte. Habs jetzt aber nicht getestet!!!
Wichtig Rufe ForceDirectories nicht mit einem leeren String auf. Dies kann dazu führen, daß ForceDirectories eine Ausnahme auslöst.
Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject);
begin if DirectoryExists('C:\irgendwas\ass\fjk') then begin Memo1.Lines.LoadFromFile('C:\irgendwas\ass\fjk' + 'Dateinamen.txt'); end else begin ForceDirectories('C:\irgendwas\ass\fjk'); Memo1.Lines.LoadFromFile('C:\irgendwas\ass\fjk' + 'Dateinamen.txt'); end; end; |
Hi City Light,
das ForceDirector(y/ies; war jetzt zu faul die Hilfe um den richtigen Namen zu bemühen) hast du ja richtig eingebunden, aber funktionieren wirds trotzdem nicht. Du erstellst zwar den Ordner, wenn er noch nicht existiert, aber die Datei wird dann trotzdem nicht da sein. Da müsste das LoadFromFile dann ne Exeption auslösen, denk ich. Bis dann, S - tefano P.S.: Coole Funktion übrigens (also dieses ForceDirectory), kannte ich auch noch nich. Gleich mal ausprobiern... :coder: |
ja stimmt *ggg* hab daran gar nicht mehr gedacht *logisch*
Danke :oops: |
Moakt nix.
War vielleicht auch n bissken zu spitzfindig von mir. S - tefano |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz