Вообще, в этом случае нужны регэкспы для разбиения строки.
Но можно и самому написать, хотя это будет слишком "прибито гвоздями".
Допустим, все записи в нашем случае имеют формат:
Т.е. фиксированная строка "МДОУ №" и далее следует номер.
Тогда делаем так.
Берем строку и заменяем все "МДОУ №" на #13#10.
Результат записываем в TStringList.
Далее выкидываем все пустые строки.
Теперь проходимся по листу и выкидываем все повторы.
Ну и последний шаг - переносим все в Memo добавляя нужную нам строку.
Примерно будет выглядеть так:
Код:
var
I,J : Integer;
Buf : TStringList;
begin
Buf := TSTringList.Create;
Buf.Text := StringReplace(Memo1.Lines.Text,'МДОУ №',#13#10,[rfReplaceAll]);
For I := Buf.Count-1 DownTo 0 Do
If Trim(Buf[i]) = '' Then Buf.Delete(I) Else Buf[i] := Trim(Buf[i]);
For I := Buf.Count-1 DownTo 1 Do
Begin
For J := I-1 DownTo 0 Do
If Buf[i] = Buf[J] Then
Begin
Buf.Delete(I);
Break;
End;
End;
For I := 0 To Buf.Count-1 Do
Memo2.Lines.Add('МДОУ №' + Buf[i]);
Buf.Free;
end;