AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie erstelle ich ein aktuelles Dateiverzeichnis
Thema durchsuchen
Ansicht
Themen-Optionen

Wie erstelle ich ein aktuelles Dateiverzeichnis

Ein Thema von Willi1960 · begonnen am 26. Jun 2007 · letzter Beitrag vom 26. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
Willi1960

Registriert seit: 18. Nov 2006
Ort: Goslar
29 Beiträge
 
#1

Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:01
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ß ?

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]
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:04
schau mal hier, ungefähr so??:


neuer ordner


und hier

datei schreiben
Martin
  Mit Zitat antworten Zitat
Willi1960

Registriert seit: 18. Nov 2006
Ort: Goslar
29 Beiträge
 
#3

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:12
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.

  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:25
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.

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');
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#5

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:28
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:42
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:51
Hallo,

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
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 12:56
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Willi1960

Registriert seit: 18. Nov 2006
Ort: Goslar
29 Beiträge
 
#9

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 19:27
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
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 19:40
was für ne delphi version benutzt du??
Martin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz