Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Anzahl der Eintragungen in einer Datei ermitteln. (https://www.delphipraxis.net/16011-anzahl-der-eintragungen-einer-datei-ermitteln.html)

Nikolas 8. Feb 2004 22:10


Anzahl der Eintragungen in einer Datei ermitteln.
 
Ich will aus einer .dat Datei die Anzahl der gespeicherten Elemente auslesen. Da ich keine function dazu gefunden habe, habe ich's mit dieser Schleife versucht:
Delphi-Quellcode:
repeat
readln(Datei,muell);
inc(k);
until eof(Datei);
k müsste mir dann die Anzahl zurückgeben. Nur leider wird das eine Endlosschleife.
Kennt jemand eine passende function oder sieht den (Denk-)Fehler?

THXbyTOX

MikeS 8. Feb 2004 22:27

Re: Anzahl der Eintragungen in einer Datei ermitteln.
 
wie lang ist denn deine .dat datei?

vielleicht dauert das einfach nur eine weile!
Mir fällt sonst nix auf, nutze die gleiche schleife wie du auch,
allerdings nur im zusammenhang mit textdateien!

Nikolas 9. Feb 2004 05:30

Re: Anzahl der Eintragungen in einer Datei ermitteln.
 
Ich bin erst am Testen des ganzen Progs und da sind nur 8 Eintragungen in der Datei. Und wenn ich die Schleife weglasse und manuell im Quelltext k auf 8 setzte, wird alles sofort gelesen.

Toxman

MikeS 9. Feb 2004 09:10

Re: Anzahl der Eintragungen in einer Datei ermitteln.
 
moin zusammen,

vielleicht liegt das dateiende auch viel weiter unten!? :?:

Luckie 9. Feb 2004 14:03

Re: Anzahl der Eintragungen in einer Datei ermitteln.
 
Was ist ein Element? Handlet es sich um eine typisierte datei kannst du die Anzahl der datensätze mit FileSize bestimmen.:
Zitat:

Call FileSize to determine the size of the file specified by the file variable F. The size is expressed as the number of records in a record file. Thus:

If the file is declared as a file of byte, then the record size defaults to one byte, and FileSize returns the number of bytes in the file.
The Reset procedure can set the record size (in bytes) when it opens the file. In this case, FileSize returns the number of records in the file.

Note: If the file is declared as an untyped file and you don’t specify a record size when you call Reset, then FileSize assumes a record size of 128. That is, FileSize gives the number of bytes divided by 128.

To use FileSize, the file must be open. If the file is empty, FileSize(F) returns 0.

Note: FileSize can't be used on a text file.

Ulf346C 10. Feb 2004 15:30

Re: Anzahl der Eintragungen in einer Datei ermitteln.
 
handelt es sicht um eine "richtige" Textdatei?
Wenn eine, sind die Ergebnisse wirklich unvorhersehbar,
da readln() erstens Zeilenende = chr(10) und dann
Textende = chr(26) erwartet


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