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 2 von 2     12   
Willi1960

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

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 20:49
hallo
ich habe das jetzt mal alles abgeändert aber es will immer noch nicht funktionieren
Delphi-Quellcode:

procedure TForm3.Button2Click(Sender: TObject);
var
   f: TextFile;
   i: integer;
begin
  {$I-}
  mkdir('c:\jowisoft');
  mkdir('c:\jowisoft\kasse');
  mkdir('c:\jowisoft\kasse\kassendaten');
  {$i+}
  if ioresult=0 then i:=i+1; {dient einfach nur zur abfrage von ioresult}
  AssignFile (f,'c:\jowisoft\kasse\kassendaten\bondaten.txt');
  {$I-}
  Rewrite (f);
  {$I+}
  If (IOResult = 0) or (ioresult <>0) then
  begin
    Writeln (f, 'Test');
    closefile(f);
  end;
end;
[edit=MrSpock]Code Tag geschlossen. Mfg, MrSpock[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

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

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 20:54
Delphi-Quellcode:
procedure TForm3.Button2Click(Sender: TObject);
var
f: TextFile;
i: integer;
begin
{$I-}
mkdir('c:\jowisoft');
mkdir('c:\jowisoft\kasse');
mkdir('c:\jowisoft\kasse\kassendaten');
{$i+}
if ioresult=0 then i:=i+1; {dient einfach nur zur abfrage von ioresult}   //wozu das??? hat keinen sinn
AssignFile (f,'c:\jowisoft\kasse\kassendaten\bondaten.txt');
{$I-}
Rewrite (f);
{$I+}
If (IOResult = 0) or (ioresult <>0) then //was soll denn das?? wenn ioresult = 0 oder <> 0 dann mache... das blödsinn
begin
Writeln (f, 'Test');
closefile(f);
end;
end;
Martin
  Mit Zitat antworten Zitat
Willi1960

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

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 20:57
natürlich stelle ich das auf ioresult =0 um, aber das programm kommt ja gar nicht so weit bei rewrite steigt das programm aus b.z.w die prozedur wird nicht weiter fortgeführt
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

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

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 21:11
Delphi-Quellcode:
uses
  sysutils; // <-- das muss unbedinkt oben in die uses klausel


procedure TForm3.Button2Click(Sender: TObject);
const
  thepath = 'c:\jowisoft\kasse\kassendaten\';
  thefile = 'bondaten.txt';
var
  F: TextFile;
  S: string;
begin
  if not DirectoryExists(thepath) then
    ForceDirectories(thepath);
  try
    AssignFile(F, thepath + thefile);
    Reset(F);

//reset wenn die datei "bondaten.txt" bereits vorhanden ist und rewrite wenn sie neu erstellt werden soll

    Writeln(F, 'Test');
  finally
    CloseFile(F);
  end;
end;

ansonnsten kann ich dir auch nur emfehlen hier mal ein wenig in der codelib rum zu schnüffeln oder was sowieso auch gerade in solchen fällen gut ist, mal die delphi hilfe benutzen... da steht das auch alles drin, mit bsp und quellcode
Martin
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 21:23
Hallo Willi,

wenn dein ReWrite() schon nicht ausgeführt wird, dann solltest du mal den FehlerCode anschauen. Vielleicht hast du die Datei ja zur Erfolgskontrolle in einem Editor offen, was den exklusiven Zugriff verhindert.

Statt TextFile kannst du auch problemlos mit dem moderneren FileStream arbeiten:

Delphi-Quellcode:
resourcestring
  JOWI_DIR = 'C:\JoWiSoft\Kasse\KassenDaten';
  JOWI_FILE = 'BonDaten.txt';

procedure WriteLine(s: TStream; const line: string);
begin
  s.Write(line[1], Length(line));
  s.Write(sLineBreak[1], Length(sLineBreak));
end;

procedure TDemoForm.TestButtonClick(Sender: TObject);
var
  s: TStream;
  fn: TFileName;
begin
  if not DirectoryExists(JOWI_DIR) then
    ForceDirectories(JOWI_DIR);
  fn := IncludeTrailingPathDelimiter(JOWI_DIR) + JOWI_FILE;
  s := TFileStream.Create(fn, fmCreate);
  WriteLine(s, 'success finally');
  s.Free;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Wie erstelle ich ein aktuelles Dateiverzeichnis

  Alt 26. Jun 2007, 22:45
Hallo Willi1960,

wir kommen hier so nicht weiter. Beantworte erst mal folgende Fragen!

1. Delphi-Version?

Zitat von lbccaleb:
was für ne delphi version benutzt du??
2. Welche Rechte?
Zitat von RavenIV:
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?

3.Stehen noch Laufzeitfehler an?

Zitat von Hawkeye219:
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.
4. Wo treten die Fehlermeldungen auf?


Zitat von marabu:
wenn dein ReWrite() schon nicht ausgeführt wird, dann solltest du mal den FehlerCode anschauen. Vielleicht hast du die Datei ja zur Erfolgskontrolle in einem Editor offen, was den exklusiven Zugriff verhindert..

5. Welches Windows?


Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:30 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