Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 15:44
Hallo H.

Mit der folgenden Funktion kannst du einen String in einen Text mit einer bestimmten Zeilenlänge verwandeln:

Delphi-Quellcode:
procedure LineToText(var line: String; len: Integer; sep: String = sLineBreak);
var
  chunks: integer;
begin
  chunks := Length(line) div len + Ord(Length(line) mod len > 0);
  while chunks > 1 do begin
    Dec(chunks);
    Insert(sep, line, Succ(chunks * len));
  end;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  DialogStr: String;
begin
  DialogStr := '12345678901234567Text2';
  LineToText(DialogStr, 17);
  ListBox.Items.Text := DialogStr;
end;
Warum du Steuerzeichen einer StringList nicht per Insert() oder Add() hinzufügen kannst, das kannst du hier nachlesen: klick. Bei deiner Vorgehensweise würde nur die erste Zeile 17 Stellen aufweisen, die nächste hätte nur 15 Stellen ...

Grüße vom marabu
  Mit Zitat antworten Zitat