Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Anfänger - wie Zahlen zum rechnen in Datei speichern ?

  Alt 6. Jul 2009, 12:00
Hallo Zusammen,

ich möchte einmal aus der Delphi-Hilfe zitieren:
Zitat:
Alle anderen Methoden eines Handle-Streams zum Lesen von Daten (ReadBuffer, ReadComponent) rufen die Methode Read für den eigentlichen Lesevorgang auf.
gleiches gilt sinngemäß für Write und WriteBuffer

Write/Read-Buffer sind Proceduren denen der Buffer und die Anzahl Bytes übergeben wird. Sollte beim Lesen bzw. Schreiben ein Fehler auftauchen wird eine Exception ausgelöst, die ggf. zu verarbeiten ist.

Read/Write sind Funktionen, denen der der Buffer und die Anzahl Bytes übergeben wird. Zurück gegeben wird die Anzahl der tatsächlich gelesenen/geschriebenen Bytes. Daher Kann man ohne eine Exception-Behandlung auf "Fehler" beim Lesen/Schreiben reagieren.

Für mich ist es daher Geschmackssache welche Routine man einsetzt. Da ich des öfteren das ältere BlockRead/Blockwrite zu ersetzen habe, bevorzuge ich Read und Write.

Delphi-Quellcode:
......
fs:=tfilestream.create(meinedatei);
lies:=x;
repeat
  gelesen:=fs.read(buffer,lies);
  if gelesen >0 then
  {tuwas
  for i:=0 to gelesen-1 do ........ }

until gelesen<>lies;
fs.free;

....

fs:=tfilestream.create(meinedatei);
counter:=0;
lies:=x;
repeat
  try
  fs.readbuffer(buffer,lies);
  {tuwas
  for i:=0 to lies-1 do ........ }

  except
    showmessage('lesefehler');
    exit;
  end;
  inc(counter,1);
until counter>y;
fs.free;
....
Da intern fs.read/fs.write von fs.readbuffer/fs.writebuffer aufgerufen wird sehe ich keinen Grund es nicht gleich zu verwenden.

Gruß
K-H
  Mit Zitat antworten Zitat