Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в RichEdit? 
:(
    Опции темы
Guest
  Дата 25.2.2003, 04:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Товарищи программисты!

Запутался совсем. У меня тут RichEdit и ListBox. В RichEdit загружается динамически SourceCode определенной страницы. В этом SourceCode несклько линков, которые имеют одно и то-же начало и конец:

DataNr=xxxxxxxxxxxxxxxxxxx&DoSearch
DataNr=yyyyyyyyyyyyyyyyyyy&DoSearch
DataNr=zzzzzzzzzzzzzzzzzzzzzz&DoSearch


etc. Мне нужно найти все такие линки в RichEdit и запихнуть их в ListBox. Я попробовал вот так, но заносится только первый найденный результат:

Код
procedure TForm2.Button1Click(Sender: TObject);
var
 StartPos, EndPos: integer;
 search: string;
begin
 StartPos := pos('DataNr=', richedit1.text);
 EndPos := pos('&DoSearch', richedit1.text);
 richedit1.setfocus;
 StartPos := StartPos +  length('DataNr=');
 richedit1.selstart := StartPos;
 richedit1.sellength := EndPos -1 - StartPos;
 search := RichEdit1.SelText;
 ListBox1.Items.Add(search)
end;


Я думаю, я че-то напутал. Помогите разобраться
  Вверх
Pakshin A. S.
Дата 25.2.2003, 04:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Попробуй при помощи цикла читать строки из RichEditа, запихивая их в переменную типа String, и работать с этой переменной как с обычным массивом. Так проще следить за ходом выполнения программы.
PM   Вверх
Medved
Дата 25.2.2003, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Все правильно, находится первая строчка и заноситься, а где цикл?


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Pakshin A. S.
Дата 25.2.2003, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 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;
PM   Вверх
December
Дата 27.2.2003, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



PlainText точно в true установлен?


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.