![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Товарищи программисты!
Запутался совсем. У меня тут RichEdit и ListBox. В RichEdit загружается динамически SourceCode определенной страницы. В этом SourceCode несклько линков, которые имеют одно и то-же начало и конец: DataNr=xxxxxxxxxxxxxxxxxxx&DoSearch DataNr=yyyyyyyyyyyyyyyyyyy&DoSearch DataNr=zzzzzzzzzzzzzzzzzzzzzz&DoSearch etc. Мне нужно найти все такие линки в RichEdit и запихнуть их в ListBox. Я попробовал вот так, но заносится только первый найденный результат:
Я думаю, я че-то напутал. Помогите разобраться |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Попробуй при помощи цикла читать строки из RichEditа, запихивая их в переменную типа String, и работать с этой переменной как с обычным массивом. Так проще следить за ходом выполнения программы.
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Все правильно, находится первая строчка и заноситься, а где цикл?
-------------------- |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Разберись со следующей функцией:
function FindTxt(const BeginText, EndText: string; const Text: TRichEdit; var Res: TListBox):boolean; var BeginID, EndID: longint; s: string; i:longint; begin Result:=false; if (Text.ScrollBars = ssBoth) or (Text.ScrollBars = ssHorizontal) then begin Res.Items.Clear; for i:=0 to Text.Lines.Count - 1 do begin s:=Text.Lines.Strings[i]; BeginID:=Pos(BeginText, s); EndID:=Pos(EndText, s); if (BeginID > 0) and (EndID > 0) and (BeginID <> EndID) then begin Res.Items.Add(Copy(s, BeginID + Length(BeginText), EndID - (BeginID + Length(BeginText)))); Result:=True; end; end; end else Application.MessageBox('Функция FindTxt корректно работает только в том случае, если свойство ScrollBars компонента типа TRichEdit равно ssBoth или ssHorizontal.', '', mb_ok + mb_iconstop); end; procedure Form1.Button1Click(Sender: TObject); begin if not FindTxt('begin', 'end', RickEdit1, ListBox1) then Application.MessageBox('Текст не найден.', '', mb_ok + mb_iconexclamation); end; |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
PlainText точно в true установлен?
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |