Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: 1 Megabyte von einer großen Datei einlesen?

  Alt 14. Okt 2006, 07:48
Zitat von Sunlight7:
Zitat von Florian Bernd:
Wiederum lautet das Zauberwort TFileStream ...
Und wiedermal frag ich, warum mit den FileStreams abquälen?
Womit quälst Du Dich denn?

@ROBIN: Es fehlt eine Kleinigkeit: Wenn die Datei doch nicht groß genug ist, arbeitet die Routine nicht korrekt:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  LStream: TFileStream;
  LBuffer: String;
  laenge : integer;

begin
  laenge := 1024 * 1024 * 1;
  SetLength(LBuffer, laenge);
  LStream := TFileStream.Create(Edit1.Text, fmOpenRead);
  Try
    laenge := LStream.Read(LBuffer[1], laenge); // Read liefert die Anzahl wirklich gelesener Bytes
    SetLength (LBuffer, laenge); // Hier wird die Bufferlänge korrigiert
  Finally
    LStream.Free;
  End;
  memo1.text := LBuffer;
end;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat