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 Wie erstelle ich ein aktuelles Dateiverzeichnis (https://www.delphipraxis.net/94742-wie-erstelle-ich-ein-aktuelles-dateiverzeichnis.html)

Willi1960 26. Jun 2007 12:01


Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Hallo,

ich habe ein Problem.

ich möchte gerne eine Textdatei in ein Unterverzeichnis schreiben, doch das geht so ohne weiteres nicht, weil ich dazu einen gültige Pfad erstellen muß ? :gruebel:

Ich habe folgenden Code


Delphi-Quellcode:
  {$i-}
   mkdir('c:\jowisoft');
   mkdir('c:\jowisoft\kasse');
   mkdir('c:\jowisoft\kasse\kassendaten');
   {$i+}
   assignfile(f,'c:\jowisoft\kasse\kassendaten\bondaten.txt');
   rewrite(f);
   for i:=1 to 6 do writeln(f,bonzeile[i]);
   writeln(f,bonstadt);
   writeln(f,bonmwst);
   closefile(f);
   {$i+}
beim Programmablauf erscheint dann der Fehler Programmname nicht gültig

Wer kann mir helfen ?

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]

lbccaleb 26. Jun 2007 12:04

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
schau mal hier, ungefähr so??:


neuer ordner


und hier

datei schreiben

Willi1960 26. Jun 2007 12:12

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Hallo,

Danke für den Tip, aber die Ordner sind bereits erstellt. Der Quelltext will einfach die Datei nicht in die unterordner hineinschreiben. Wenn ich den gleichen Quellcode in das Hauptverzeichnis schreibe funktioniert es.

:roll:

RavenIV 26. Jun 2007 12:25

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Zitat:

Zitat von Willi1960
Hallo,

Danke für den Tip, aber die Ordner sind bereits erstellt. Der Quelltext will einfach die Datei nicht in die unterordner hineinschreiben. Wenn ich den gleichen Quellcode in das Hauptverzeichnis schreibe funktioniert es.

:roll:

Erste Idee:
Wenn die Ordner bereits angelegt sind, vielleicht stimmen dann die Rechte nicht?
Darfst Du (Deine Software) in diese Ordner schreiben, Dateien anlegen, Dateien verändern?

Zweite Idee:
Versuch mal bei AssignFile die Backslashes als Doppel-Backslash anzugeben
AssignFile (..., 'C:\\temp\\sonstwas\datei,txt');

CCRDude 26. Jun 2007 12:28

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Zum Ordner-Anlegen: ForceDirectories dürfte da besser geeignet sein, da es gleich mehrere Ebenen auf einmal anlegt und man nicht mit $I rumspielen muss ;)

Luckie 26. Jun 2007 12:42

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Zitat:

Zitat von RavenIV
Versuch mal bei AssignFile die Backslashes als Doppel-Backslash anzugeben
AssignFile (..., 'C:\\temp\\sonstwas\datei,txt');

Und warum das? Wir progarmmieren hie rin Delphi und nicht in C, wo "\" ein Steuerzeichen markiert.

Hawkeye219 26. Jun 2007 12:51

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Hallo,

Zitat:

Zitat von Hilfe zu MkDir
Mit dem Compiler-Schalter {$I+} können Laufzeitfehler durch Exceptions behandelt werden. Wird {$I-} verwendet, muß explizit mit IOResult auf E/A-Fehler geprüft werden.

Der Versuch, ein bereits bestehendes Verzeichnis erneut zu erzeugen, löst einen Laufzeitfehler aus, den du durch den Compilerschalter {$i-} unterdrückst. Solange du diese Fehlercodes nicht mit IOResult abfragst, bleiben sie stehen und verhindern die Ausführung weiterer Ein-/Ausgabeoperationen.

Also: folge dem Vorschlag von CCRDude.

Gruß Hawkeye

Chemiker 26. Jun 2007 12:56

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Hallo Willi1960,


Vielleicht hilft dir das weiter:


Delphi-Quellcode:
var
  OrdnerName: String;
  DateiName: String;
  f: TextFile;
begin
  OrdnerName:= 'h:\jowisoft\kasse\kassendaten\';
  DateiName:= 'bondaten.txt';
  ForceDirectories(OrdnerName);

  AssignFile (f, OrdnerName+DateiName);
  {$I-}
  Rewrite (f);
  {$I+}
  If IOResult = 0 then
  begin
    Writeln (f, 'Test');
    // Deine Daten
    closefile(f);
  end;

end;
Fehlerbehandlung usw. fehlen.

Bis bald Chemiker

Willi1960 26. Jun 2007 19:27

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
Hallo,
funktioniert leider auch nicht vielleicht muß ich mit chdir das aktuelle verzeichnis wecheln, ich habe das auch schon probiert, geht aber auch nicht. und forcedirectoriers erzeugt sofort eine fehlermeldung :wall:

lbccaleb 26. Jun 2007 19:40

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis
 
was für ne delphi version benutzt du??


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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