AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem Dateiagröße

Ein Thema von foerster7892 · begonnen am 2. Dez 2008 · letzter Beitrag vom 2. Dez 2008
Antwort Antwort
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Problem Dateiagröße

  Alt 2. Dez 2008, 18:20
Zitat von foerster7892:
Delphi-Quellcode:
AssignFile(Buecher, 'C:\Users\user\Documents\Bücher\111Buchtitel111.dat');
  if (FileExists('C:\Users\user\Documents\Bücher\111Buchtitel111.dat')) then
  reset(Buecher)
  else
  rewrite(Buecher);
  Groesse:= FileSize(Buecher);//<---- is File of ShortString(dort sind die Namen aller eingetragenen Bücher gespeichert)
  for AlleBuecher := 1 to Groesse do
  begin
    read(Buecher, x);
    Form3.RadioGroup2.Items.Add(x);
  end;
  closefile(Buecher)
end;

allerdings hab ich mitbekommen das FileSize nciht die Anzahl der Elemente die auf der Datei gespeichert sind feststellt sondern einfach nur die größe an sich.

Wie könnte ich die Größe der Elemente in der datei feststellen???

Du arbeitest hier mit einer typisierten Datei. Ein Datensatz, Element, hat die Größe Deiner Typisierung, hier also SizeOf("ShortString"), gibt also 256 Byte.
Die Dateigröße wird bei einem Write immer um diese Größe vergrößert.

Einfacher ist es, einfach durch die Datei zu gehen, ohne for:
Delphi-Quellcode:
  reset(Buecher);
  while not Eof(Buecher) do
  begin
    read(Buecher, x);
    Form3.RadioGroup2.Items.Add(x);
  end;
  closefile(Buecher);
Hierbei spielt die Datensatzgröße keine Rolle, denn nach jedem Read wird der Datensatzzeiger um eins nach vorne gesetzt. Und am Ende der Datei steht dann EOF.

Falls Du Interesse an einem von mir in der MIF-Vorlesung erstellten Beispieles hast, einfach nochmal melden, dann suche ich die Quellen raus. Dort haben wir ein kleines Adressverwaltungsprogramm erstellt, welches mit Records arbeitet.



mfg
Michael
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:24 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 by Thomas Breitkreuz