Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

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

Re: Textdatei (txt) in Stringgrid einlesen

  Alt 10. Nov 2009, 16:14
Hallo pascall,

das mit Try finally funktioniert so, daß wenn ein Fehler zwischen try und finally auftritt, die Verarbeitung sofort zur Anweisung nach finally springt.
In Uwes Beispiel befindet sich vor Finally der "Leseabschnitt" und hinter finally der "Aufräumabschnitt" der auf jeden Fall ausgeführt werden sollte. Man könnte darüber streiten ob das unbedingt notwendig ist, ein Fehler ist es aber auf keinen Fall, da dann sicher gestellt ist, daß z.B. lst wieder aus dem Speicher verschwindet.

[Edit]
wenn Die Daten so erfasst sind, wie Du beschrieben hast, dann kommst Du mit CommaText oder Value nicht weiter, dann mßt Du mit pos('(',...) die eingelesenen Zeilen auseinander nehmen.
[/Edit]

"Puffern":

Delphi-Quellcode:
const
  maxpuff = $FFFF;
var
  puffer : array [0..maxPuff] of byte;
  fs : tfilestream;

...

fs:=tfilestream.create(MyFilename,myAttributes);
repeat
  gelesen:=fs.read(puffer,sizeof(puffer));
  for i:=0 to gelesen do
   //....verarbeite puffer[i] .........
until gelesen<>sizeof(puffer);
fs.free;
So in etwa sieht eine solche Leseroutine aus. Wobei für Dich der maxPuff der interessanteste Teil ist, da sollte man nicht zu sparsam sein. Puffer kann allerdings auch ein array of byte, oder array of char oder ... sein.
wichtig ist hier nur, daß Du das nicht zu klein wählst.


Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat