![]() |
TXT - Datei in IF - Abfrage löschen.
Hi :hi:,
wieder mal eines meiner Probleme: ich habe eine IF - Abfrage, ob eine Datei existiert. Dann lösche ich diese in der IF - Abfrage und mache danach noch etwas.
Delphi-Quellcode:
Warum löscht er die Datei mit
var
zeilen, i: integer; inhalt: array [1..100] of string; hilf: string; datei: textfile; geloescht: boolean; begin if fileexists(ExtractFilePath(ParamStr(0))+'\Ressourcen\'+edtTitel2.Text+'.txt') then //Sie existiert. begin geloescht:=false; deletefile(ExtractFilePath(ParamStr(0))+'\Ressourcen\'+edtTitel2.Text+'.txt'); // Macht er nicht. assignfile(datei,ExtractFilePath(ParamStr(0))+'\Ressourcen\liste.txt'); //Ab hier an, macht er alles reset(datei); zeilen:=0; repeat zeilen:=zeilen+1; readln(datei,hilf); if hilf <> edtTitel2.Text then inhalt[zeilen]:=hilf else geloescht:=true; until eof(datei); closefile(datei); ...
Delphi-Quellcode:
nicht? Er fragt ob, ob sie exisitiert, und dann löscht er sie nicht? :gruebel:
deletefile(ExtractFilePath(ParamStr(0))+'\Ressourcen\'+edtTitel2.Text+'.txt');
Habe ich irgendetwas übersehen? |
Re: TXT - Datei in IF - Abfrage löschen.
Hi Christopher,
probiere es nochmal so:
Delphi-Quellcode:
ExtractFilePath liefert schon einen TrailingPathDelimiter - und den Dateinamen würde ich nur einmal zusammenbauen.
var
fn: TFileName; begin fn := ExtractFilePath(ParamStr(0)) + 'Ressourcen\' + edtTitel2.Text + '.txt'; if FileExists(fn) then begin DeleteFile(fn); if FileExists(fn) then ShowMessage('delete failed') else ShowMessage('file deleted'); end else ShowMessage('file not found'); Grüße vom marabu |
Re: TXT - Datei in IF - Abfrage löschen.
aus der Delphi.Hilfe:
Zitat:
|
Re: TXT - Datei in IF - Abfrage löschen.
Zitat:
Zitat:
Also soll ich mir den Fehler anzeigen lassen. Der Rückgabewert könnte 0 sein. :gruebel: |
Re: TXT - Datei in IF - Abfrage löschen.
Hallo RavenIV,
auch für mich lohnt sich scheinbar hin und wieder ein Blick in die Online-Hilfe. Du hast die Hilfe zur API Funktion zitiert - es gibt aber eine Delphi Kapsel in SysUtils, die aufgerufen wird:
Delphi-Quellcode:
Freundliche Grüße vom marabu
var
fn: TFileName; begin fn := ExtractFilePath(ParamStr(0)) + 'Ressourcen\' + edtTitel2.Text + '.txt'; if DeleteFile(fn) then ShowMessage('file deleted') else ShowMessage(SysErrorMessage(GetLastError)); |
Re: TXT - Datei in IF - Abfrage löschen.
Zitat:
bei Fileoperationen sollte man immer den Rückgabewert prüfen und entsprechend darauf reagieren. (z.B. den Benutzer aufmerksam machen) |
Re: TXT - Datei in IF - Abfrage löschen.
Aha. Danke Marabu. Durch GetLastError konnte ich herausfinden, dass icht auf die Datei zugegriffen werden konnte. Es kam eine deutsche Fehlermeldung(Ich habe doch aber die englische D7 PE):gruebel:
Ich habe in einer anderen Procedure das "Closefile" vergessen. ^^ Danke an alle, die mir geholfen haben. :angel2: Da ist das Geburtstaggeschenk für meinen Vater noch rechtzeitig fertig. ^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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