Показать сообщение отдельно
  #4  
Старый 09.02.2009, 00:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну тогда алгоритм простой.
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);
Ответить с цитированием