Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2014, 13:03   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию ListBox И парсинг ссылок...

В общем задача такая, хочу в один Listbox Собрать ссылки... Только не нужны ссылки типа
http://www.site.ru
а надо сделать так чтоб не ссылка выводилась а Listbox а название вот к примеру
Я спарсил 3 видео обзора
Среднесрочный анализ валютных курсов на Форекс от 09.10.2014
Внутридневной фундаментальный анализ рынка Форекс от 08.10.2014
Среднесрочный анализ валютных курсов на Форекс от 08.10.2014

Вот и надо это записать в Listbox и при клике например на
Внутридневной фундаментальный анализ рынка Форекс от 08.10.2014
у меня в WebBrowser загрузилась страничка которую я тоже спарсил....
Подскажите как сделать такое?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.10.2014, 14:24   #2
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Что именно сделать? Найти "заголовки" ссылок? Что-то типа из
Код:
<a href="http://yandex.ru">Яндекс</a>
вытащить Яндекс?
Ship_1 вне форума Ответить с цитированием
Старый 09.10.2014, 14:30   #3
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Добавлять в ListBox текст вида "Среднесрочный анализ валютных курсов на Форекс от 08.10.2014=http://site.ru" без кавычек, включить ручную перерисовку ListBox (style := lbOwnerDrawFixed), обработать отрисовку, чтоб выводились лишь параметры
Код:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListBox) do
    begin
      Canvas.FillRect(Rect);
      Canvas.TextOut(Rect.Left, Rect.Top + 1, Items.Names[index]) else
    end;
end;
Значение параметра (саму ссылку) получаем следующим образом
Код:
ListBox1.Items.ValueFromIndex[ItemIndex])
indexx вне форума Ответить с цитированием
Старый 09.10.2014, 14:41   #4
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Ship_1

Значение не надо так как я парсю ссылки по другому...

Вот смотрите....

Memo1

Среднесрочный анализ валютных курсов на Форекс от 09.10.2014
Внутридневной фундаментальный анализ рынка Форекс от 08.10.2014


а в мемо2 спарсил так

http://www.alpari.ru/ru/analytics/re...6579_09102014/
http://www.alpari.ru/ru/analytics/re...6576_08102014/

и хотел сделать так:
В ListBox я хотел скопировать все строки что имеются в мемо1
и например при клике на "Внутридневной фундаментальный анализ рынка Форекс от 08.10.2014" у меня веб браузер перейдет по ссылке "http://www.alpari.ru/ru/analytics/reviews/videos/6576_08102014/"
то есть надо вычислить по какому индексу я кликну и открыть ссылку в браузере с тем же индексом из мемо2 так как ссылки лежат там.... может есть у кого лучше предложения я не знаю, готов выслушать...
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.10.2014, 14:57   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
ListBox.clear;
ListBox.Add(Memo1.Lines);//В ListBox я хотел скопировать все строки что имеются в мемо1
Код:
j:=Listbox.ItemIndex; //надо вычислить по какому индексу я кликну 
ShowMessage(Memo2.Lines.string[j]);
согласованность списков (Listbox|Memo1|Memo2) лежит на программисте!
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 09.10.2014, 15:18   #6
Dmitry33RU
Пользователь
 
Регистрация: 09.10.2014
Сообщений: 62
По умолчанию

держи пример
Вложения
Тип файла: rar Новая папка (2).rar (3.7 Кб, 26 просмотров)
Dmitry33RU вне форума Ответить с цитированием
Старый 09.10.2014, 15:38   #7
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
ListBox.clear;
ListBox.Add(Memo1.Lines);//В ListBox я хотел скопировать все строки что имеются в мемо1
Код:
j:=Listbox.ItemIndex; //надо вычислить по какому индексу я кликну 
ShowMessage(Memo2.Lines.string[j]);
согласованность списков (Listbox|Memo1|Memo2) лежит на программисте!
не робит....
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 09.10.2014, 16:09   #8
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
и хотел сделать так:
В ListBox я хотел скопировать все строки что имеются в мемо1
и например при клике на "Внутридневной фундаментальный анализ рынка Форекс от 08.10.2014" у меня веб браузер перейдет по ссылке "http://www.alpari.ru/ru/analytics/reviews/videos/6576_08102014/"
то есть надо вычислить по какому индексу я кликну и открыть ссылку в браузере с тем же индексом из мемо2 так как ссылки лежат там.... может есть у кого лучше предложения я не знаю, готов выслушать...
Я дал рабочую реализацию. Что не устраивает???
indexx вне форума Ответить с цитированием
Старый 09.10.2014, 18:32   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Задай вопрос вот так: хочу функцию
Код:
function(const Source: string): string;
begin
  { тут аццкий мегакод }
end;
На входе функция получает: [примеры вх. данных]
На выходе хочу шоб было вот так: [примеры вых. данных]

Реально сэкономишь вагон времени себе и окружающим.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 09.10.2014 в 19:08.
min@y™ вне форума Ответить с цитированием
Старый 09.10.2014, 19:02   #10
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Ему не функция нужна, а хранение в ListBox текста ссылок, а по клику на текст ссылок переходить на адреса, соответствующие адресу этих ссылок. Пример реализации я описал выше. Если очень хочется, можно и StrringList/array с ссылками запилить в пару с ListBox, но нафига, если можно обойтись методами самого контролла???
indexx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с потоками (парсинг всех ссылок сайта) chex01 Работа с сетью в Delphi 13 17.04.2013 14:05
парсинг ссылок сайта Jadson Работа с сетью в Delphi 19 13.05.2012 22:02
Парсинг ссылок сайта demiancz Общие вопросы Delphi 9 27.02.2012 01:00
preg_match? парсинг и вывод списка ссылок? taurii PHP 1 07.02.2012 16:16
Парсинг ссылок cashmail PHP 1 01.07.2011 16:39