Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ordner automatisch erstellen? (https://www.delphipraxis.net/4651-ordner-automatisch-erstellen.html)

Stephan 7. Mai 2003 18:07


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

Duffy 7. Mai 2003 18:11

Hallo Stephan,
das Zauberwort heißt "ForceDirectories"
Zitat:

Die Funktion erstellt ein neues Verzeichnis (bei Bedarf werden auch die übergeordneten Verzeichnisse angelegt).
bye

Alexander 7. Mai 2003 18:11

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.

ssach 7. Mai 2003 18:13

hy,

du musst sie mit nem savedialog (savedialog in die form einbinden) speichern :

Delphi-Quellcode:
if Savedialog.Execute then
   memo1.Lines.Savetofile(SaveDialog.Filename);
das wars schon, jetzt wenn du dies in einen button einbindest geht ein dialog auf wie in den meisten gaengisten programmen!

cu

City Light 7. Mai 2003 18:15

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;

Alexander 7. Mai 2003 18:28

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

City Light 7. Mai 2003 18:43

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;

S - tefano 7. Mai 2003 19:06

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:

City Light 7. Mai 2003 19:11

ja stimmt *ggg* hab daran gar nicht mehr gedacht *logisch*
Danke
:oops:

S - tefano 7. Mai 2003 19:30

Moakt nix.
War vielleicht auch n bissken zu spitzfindig von mir.

S - tefano


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.
Seite 1 von 2  1 2      

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