![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#8
|
|||
|
|||
|
Вообще, в этом случае нужны регэкспы для разбиения строки.
Но можно и самому написать, хотя это будет слишком "прибито гвоздями". Допустим, все записи в нашем случае имеют формат: Код:
МДОУ №#(#) Тогда делаем так. Берем строку и заменяем все "МДОУ №" на #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; |