AGB  ·  Datenschutz  ·  Impressum  







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

Typorisierte Datei wird nicht gelesen

Ein Thema von arbu man · begonnen am 7. Jul 2006 · letzter Beitrag vom 8. Jul 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#11

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:22
Hab das ganze so veränder das der array als var übergeben wird:
Delphi-Quellcode:
procedure FunktionenLesen(FileName: String; var f :TFunktionenArray);
var
  Datei: TFunktionenDatei;
  i, count: integer;
begin
  AssignFile(Datei, FileName); // Datei zuweisen
  Reset(Datei); // Datei öffnen
  count:= FileSize(Datei) div sizeof(TFunktion);
  setlength(f, count);
  for i:=0 to count -1 do begin
    Seek(Datei, i); // Datensatzzeiger an gewünschte Position
                                  // bewegen
    Read(Datei, f[i]); // die aktuellen Werte lesen
  end;
  CloseFile(Datei); // Datei schließen
end;
[OT]
Ne ich meinte recordierte Dateien
[/OT]
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
marabu

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

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:27
Hi.

FileSize liefert die Anzahl der Datensätze, die integer division durch RecordSize (relative große Zahl) ergibt 0 als Count ...

Grüße vom marabu
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:29
Delphi-Quellcode:
procedure FunktionenLesen(FileName: String; var f :TFunktionenArray);
var
  Datei: TFunktionenDatei;
  i, count: integer;
begin
  AssignFile(Datei, FileName); // Datei zuweisen
  Reset(Datei); // Datei öffnen
  count:= FileSize(Datei);
  setlength(f, count);
  for i:=0 to count -1 do begin
    Read(Datei, f[i]); // die aktuellen Werte lesen
  end;
  CloseFile(Datei); // Datei schließen
end;
Nachgeschoben noch einige Erklärungen:

seek(datei,i) brauch man nur wenn man sich frei in der Datei bewegen will.
Du wolltest die Datei von vorne bis hinten lesen.
Mit reset hast Du Dich bereits an den Dateianfang bewegt.
Ein read bewegt Dich immer einen einen Datensatz weiter.

FileSize liefert bei einer typisierten Datei die Anzahl der Datensätze und
nicht die Größe der Datei in Bytes.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#14

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:31
Das war es := Danke
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Typorisierte Datei wird nicht gelesen

  Alt 8. Jul 2006, 01:16
Wenn die Datei ganz gelesen werden soll, dann geht das auch so:

Delphi-Quellcode:
procedure FunktionenLesen (const FileName: String; var f: TFunktionenArray);
begin
  with TFileStream.Create(FileName, fmOpenRead) do
    begin
      SetLength (f, Size div SizeOf(f[0]));
      if (Size > 0) then
        Read (f[0], Size);
      Free;
    end;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#16

Re: Typorisierte Datei wird nicht gelesen

  Alt 8. Jul 2006, 13:06
Gar kein Resourcen-Schutzblock um bei einem Lesefehler immernoch die Datei zu schliessen bzw. den FileStream freizugeben?
  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 20:44 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