Einzelnen Beitrag anzeigen

Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#13
  Alt 23. Jan 2003, 14:37
So, lieber Braincode, teste mal den folgenden Code:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
const
  Count = 1024;
var
  Datei: TFileStream;
  Buffer: array[0..(Count-1)] of Char;
  l,i: Word;
  Result: TCaption;
begin
if not OpenDialog1.Execute then Exit;

Memo1.Clear;
Result := '';

Datei := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
try
  while true do
    begin
      l := Datei.Read(Buffer, Count);
      if l <> Count then
        begin
          if not (l = 0) then
            for i := 0 to (l - 1) do
              Result := Result + Buffer[i];
          Break;
        end;
      Result := Result + Buffer;
    end;
finally
  Datei.Free;
end;

Memo1.Text := Result;
end;
sollte eigentlich jede Datei brav einlesen. Nur nicht Count auf 0 stellen, oder andere idiotische Sachen. Ähm, so Sachen wie Fortschrittsanzeige oder so, kann man wenn man Lust hat auch noch einbauen.


PS: nochmal zu deinem Ursprungscode:

r := datei.Read(buffer[1],sizeof(buffer)); Scheint mir ein wenig verdächtig.

Edit: ich nenne nie mehr eine Variable "l" (kleines L) das ist ja schlimm zu lesen, wenn die Zahlen keine andere Farbe bekommen.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat