Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   txt datei leer? (https://www.delphipraxis.net/118972-txt-datei-leer.html)

cRayZo 18. Aug 2008 21:57


txt datei leer?
 
wie kann ich am schnellsten prüfen, ob eine .txt Datei leer ist, also keine Buchstaben/zahlen/Sonderzeichen drin sind?

ich hätte es jetzt so ähnlich gemacht
Delphi-Quellcode:
var F:File; sl:stringlist; begin
assingfile(F,Pfad)
sl.crate;
sl.loadfromfile(Pfad);
aber wie kann ich am leichtesten Prüfen ob etwas drin ist?
ich habe mir überlegt, dass es doch eigentlich um einiges leichter sein würde, wenn ich prüfe, ob die txt datei 0byte groß ist, aber wie kann ich das prüfen?



Delphi-Quellcode:
//so bisher txt dateien erstellt:
if not FileExists('pfad\x.txr')
         then CreateTextFile2('pfad\x.txt');
aber selbst wenn ich es so mache, wenn ich eine txt erstelle ist sie immer 2byte groß, weil sieimmer einen Zeilenumbruch drin hat.
Wie bekomme ich den schon während des erstellens raus?

mkinzler 18. Aug 2008 21:59

Re: txt datei leer?
 
Zitat:

sl := TStringList.Create;
statt
Delphi-Quellcode:
sl.crate;

omata 18. Aug 2008 22:02

Re: txt datei leer?
 
Delphi-Quellcode:
function isEmpty(Dateiname:string):boolean;
var Datei:file of byte;
begin
  try
    assignfile(Datei, Dateiname);
    reset(Datei)
    Result:=(filesize(Datei) = 0);
  finally
    closefile(Datei);
  end;
end;

cRayZo 18. Aug 2008 22:04

Re: txt datei leer?
 
super vielen Dank omata!
weiß jemand noch wie ich das Problem mit dem erstellen von den txts lösen kann, sodass sie ohne Zeilenumbruch erstellt werden?
sprich 0 byte?

Delphi-Quellcode:
//so bisher txt dateien erstellt:
if not FileExists('pfad\x.txr')
         then CreateTextFile2('pfad\x.txt');
aber es ist halt immer ein Zeilenumbruch entstanden

omata 18. Aug 2008 22:08

Re: txt datei leer?
 
Delphi-Quellcode:
procedure CreateEmptyFile(Dateiname:string);
var Datei:textfile;
begin
  try
    assignfile(Datei, Dateiname);
    rewrite(Datei);
  finally
    closefile(Datei);
  end;
end;

mkinzler 18. Aug 2008 22:09

Re: txt datei leer?
 
Am Ende der Datei oder wo?

cRayZo 18. Aug 2008 22:12

Re: txt datei leer?
 
danke omata, echt klasse^^
nur bei deinem Code vom lesen ob die Datei leer ist fehlt der Ergebnistyp, ich bin zu blöd dafür, kannst du mir da pls noch helfen?

omata 18. Aug 2008 22:13

Re: txt datei leer?
 
Ups, habe ich korrigiert.

Luckie 18. Aug 2008 22:14

Re: txt datei leer?
 
Warum nicht einfach MSDN-Library durchsuchenCreateFile benutzen und nichts reinschreiben?

omata 18. Aug 2008 22:17

Re: txt datei leer?
 
Nichts anderes macht assignfile + rewrite + closefile.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Seite 1 von 2  1 2      

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