Einzelnen Beitrag anzeigen

orion3000

Registriert seit: 28. Aug 2003
Ort: Betzdorf
63 Beiträge
 
Delphi 4 Standard
 
#7

Re: Exe Dateien als Text laden

  Alt 22. Jun 2006, 12:37
Hallo Zusammen!
Du kannst mal fogende Procedure versuchen.
Du benötigst ein Richedit1 und eine Statusbar1 mit 3 Panels.
Der Aufruf wird gestartet mit Loadfile.

Delphi-Quellcode:
Procedure TfrmMain.LoadFile(Filename:String);
begin
Screen.Cursor:=crhourglass;

    With Richedit1 do
    begin
    Lines.BeginUpdate;
    text := FileToString(Filename);
    Lines.EndUpdate;

Screen.Cursor:=crdefault;

statusbar1.Panels[0].Text:='Zeilen gesamt: '+formatfloat('0.00',Lines.Count);
statusbar1.Panels[1].Text:=Filename;
ReadOnly:=true;

 end;
Delphi-Quellcode:
function TfrmMain.FileToString(const FileName: String): String;
var
  F: TStream;
  k: Integer;
begin

  With Richedit1 do
  begin
   Readonly:=false;
   lines.Clear;

   font.Name:='Arial';
   font.Color:=clBlack;
   font.Style:=[fsbold];
   Font.Size:=10;

   SelAttributes.Color:=clblack;
   SelAttributes.Name:='Arial';
   SelAttributes.Style:=[fsbold];
    SelAttributes.Size:=10;
   end;

application.ProcessMessages;

     F := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
      try
      SetLength(Result, F.Size);
      F.ReadBuffer(PChar(Result)^, F.Size);

      finally
statusbar1.Panels[2].Text:=winapi1.FileSizeToString(f.Size);
      F.Free;
  end;


      for k :=1 to length(Result) do
      begin
     Gauge1.Progress:=winapi1.CalcProzentsatz(length(Result),k);

     if not (result[k] in [#9, #10, #13, #32..#255]) then result[k] := ' ';
     end;

end;

Gruß Orion
  Mit Zitat antworten Zitat