Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как разбить текст на строки?


Страницы:   1 2 3 4

ekto ©   (2008-07-11 13:11:00) 

Есть текст: (х А х А х......)

 где:  х - любая последовательность слов
        А - искомая последовательность слов (хранятся в БД).

 Нужно разбить текст на строки вида: (х А х)
                                                    (А х)
                                                    ... ,
 т.е. находится нужная фраза и все последующие слова до следующей, формируется строка  и т.д.


ekto   (2008-07-11 14:02:00) [61]


> Поросенок Винни-Пух ©   (11.07.08 14:00) [13]


> Они как-то "разбивают" строку?

на мелкие кусочки)


Поросенок Винни-Пух   (2008-07-11 14:00:00) [62]

Ой , а я то и не в кусре. И шо?
Они как-то "разбивают" строку?


han_malign   (2008-07-11 13:59:00) [63]


> Поросенок Винни-Пух ©   (11.07.08 13:41) [8]

- "Это какие-то неправильыне пчелы."©...
#$13 - Carriage Return - Возврат Каретки
#$10 - LineFeed - Перевод Строки


ekto   (2008-07-11 13:53:00) [64]


> oldman ©   (11.07.08 13:52) [10]


> Кстати, а зачем искомая последовательнось хранится в БД?
>
> Судя по задаче, она единственная. Или нет?

пока порядка тысячи, потом будет больше.


> Если нет, что на выходе? N результатов разбивки текста?

дальше обрабатывать


oldman   (2008-07-11 13:52:00) [65]

Кстати, а зачем искомая последовательнось хранится в БД?
Судя по задаче, она единственная. Или нет?
Если нет, что на выходе? N результатов разбивки текста?

Ничего не понимаю ©


Dennis I. Komarov   (2008-07-11 13:50:00) [66]

> [7] ekto ©   (11.07.08 13:41)

with TStringList.Create ... do begin
 Text:=q.FieldByName('n').AsString;

 ...  дальше сам
 Free;
end;


> [8] Поросенок Винни-Пух ©   (11.07.08 13:41)


Это смотря где и чего надо автору. ИМХО ему достаточно...


Поросенок Винни-Пух   (2008-07-11 13:41:00) [67]

Ищи где надо разбить и вставляй #$13 #$10.

Это неправильно.
Так на строки не разбить


ekto   (2008-07-11 13:41:00) [68]


> Dennis I. Komarov ©   (11.07.08 13:30) [6]


while not q.Eof do
begin
MyPos := Pos(q.FieldByName('n').AsString, tmpText);
if  MyPos <> 0 then
begin
  tmpText := Copy(tmpText, 1, MyPos - 1) + #13#10 + Copy(tmpText, MyPos, Length(tmpText) );
 
...

 StringList.Text := tmpText;
end;


Dennis I. Komarov   (2008-07-11 13:30:00) [69]

> а где хранить - не важно

Очень даже важно, в виду упомянутой тобой БД...


ekto   (2008-07-11 13:29:00) [70]


> Dennis I. Komarov ©   (11.07.08 13:23) [4]


 да, точно, протормозил. а где хранить - не важно


Dennis I. Komarov   (2008-07-11 13:23:00) [71]

> [2] ekto ©   (11.07.08 13:19)

Бред какой...
Ищи где надо разбить и вставляй #$13 #$10. Токма я не понял где результат хранить...


Ega23   (2008-07-11 13:22:00) [72]


> POS + F1 Спасет отца русской демократии...

И + COPY


ekto   (2008-07-11 13:19:00) [73]


> Dennis I. Komarov ©   (11.07.08 13:12) [1]


Забыл добавить "по-быстрее".

есть набор данных( в котором искомые фразы). Ну и как, по твоему должен выглядеть код?
while not q.Eof do
begin
 MyPos := Pos(q.FieldByName('n').AsString, tmpText);
 if  MyPos <> 0 then
 begin
   StrArr[i] := ...
   Inc(i)
...
end;

а, если в StrArr[i], окажется пропущенная фраза?


Dennis I. Komarov   (2008-07-11 13:12:00) [74]

POS + F1 Спасет отца русской демократии...


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо