Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

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

Re: File IO mit dem Windows-API?

  Alt 4. Jun 2008, 17:16
Hallo HHick123,

ich hab da etwas aus meinen alten Beständen herausgekramt (ursprünglich TP mit blockread):
Delphi-Quellcode:
procedure PPADATENLESEN(efile:string);
const
  lies=128;
  sl=sizeof(tpsatz1); {satzlänge=sizeof(tpsatz1)}
var
  pp : tfilestream;
  buffer : packed array [1..lies,1..sl] of byte;
  gelesen : integer;
  i : integer;
begin
  erstpasatz:=nil;
  leztpasatz:=nil;
  pp:=tfilestream.create(efile,fmopenread or fmsharedenywrite);
   while pp.position<pp.size do begin
    gelesen:=pp.Read(buffer,lies*sl);
    for i:=1 to gelesen div sl do begin
      new(actpasatz);
      move(buffer[i],actpasatz^.satz,sizeof(tpsatz1));
      actpasatz^.next:=nil;
      actpasatz^.last:=leztpasatz;
      if erstpasatz<>nil then
        leztpasatz^.next:=actpasatz
      else
        erstpasatz:=actpasatz;
      leztpasatz:=actpasatz;
    end;
  end;{while-----------------------}
  pp.free;
end;
wahrscheinlich gibts in der Zwischenzeit elegantere Lösungen, aber das Teil funktioniert seit ein paar Jahren.

Gruß
K-H
  Mit Zitat antworten Zitat