Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: DrawText Speicher-problem

  Alt 8. Jul 2006, 21:55
Hi,
hier ein einfaches Beispiel, wie du das ganze mit einem Stream machen könntest:

Delphi-Quellcode:
procedure saveToFile(const FileName : String);
var stream : TMemoryStream;
    s : String;
    stringLength : Integer;
begin
  s := 'Dies ist ein Mehrzeiliger' + chr(13) + chr(10) + 'Text';
  stringLength := length(s);

  stream := TMemoryStream.Create;

  try
    stream.Position := 0;

    stream.Write(stringLength, sizeOf(Integer));
    stream.Write(s[1], stringLength);

    stream.SaveToFile(FileName);
  finally
    stream.Free;
  end;
end;

function loadFromFile(const FileName : String) : String;
var stream : TMemoryStream;
    stringLength : Integer;
begin
  result := '';

  stream := TMemoryStream.Create;

  try
    stream.LoadFromFile(fileName);
    stream.Position := 0;

    stream.read(stringLength, sizeOf(Integer));

    if stringLength > -1 then
    begin
      setLength(result, stringLength);
      stream.read(result[1], stringLength);
    end;

  finally
    stream.Free;
  end;
end;
Das ganze solltest du dann ohne Probleme auch auf ein Canvas mehrzeilig zeichnen können

Gruß Der Unwissende
  Mit Zitat antworten Zitat