Ну тогда алгоритм простой.
1. Получение строки для работы:
Код:
function GetStr(AMemo : TMemo) : String;
var
I : Integer;
begin
Result := '';
For I := 0 To AMemo.Count-1 Do
Result := Result + AMemo.Lines[i];
end;
2. Разбивка
Код:
S := GetStr(Memo1);
While Length(S) > K Do
begin
F := True;
For I := K To Length(S) Do
If S[i] = '.' Then
Begin
Memo2.Lines.Add(Copy(S,1,I));
S := Copy(S,I+1,Length(S) - I +1);
F := False;
Break;
End;
If F Then Break;
end;
If S <> '' Then Memo2.Lines.Add(S);