Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.03.2011, 18:46
hatsub hatsub вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 18
Репутация: 10
Вопрос TListBox

Есть ли возможность в TListBox к конкретной строке создать событие двойной клик мышью?
При этом мне нужно запомнить id строки в TListBox и нужно написать код события. Подскажите пожалуйста как это сделать?
Ответить с цитированием
  #2  
Старый 12.03.2011, 19:19
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

можно, через OnDblClick, и потом в процедуре делаешь проверку через case:
0: нажали на первую строку;
1: нажали на вторую
и т.д....

p.S.: подробнее опиши что именно нужно
Ответить с цитированием
  #3  
Старый 12.03.2011, 20:12
hatsub hatsub вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 18
Репутация: 10
По умолчанию

С листбоксом разберусь чуть позднее, мне для курсовой нужно rss reeder написать... Возможно перемудрил, но все строки прокомментированы.
Все работает за исключением: не могу найти номер строки где идет закрывающий тег </title>(до какого символа использовать функцию copy())
Прошу помочь:

PHP код:
procedure TForm1.Button1Click(SenderTObject);
begin
  c
:=IdHTTP1.Get('http://mobile-review.com.feedsportal.com/c/33244/f/557683/index.rss');
  if 
c='' then showmessage('Ошибка'+#13+'невозможно получить html-код...')
  
else
  
begin
    n
:=length(c);
    for 
i:=1 to n do
    
begin
      temp
:=c[i]+c[i+1]+c[i+2]+c[i+3]+c[i+4]+c[i+5]+c[i+6]; // <title>
      
tempclose:=c[i]+c[i+1]+c[i+2]+c[i+3]+c[i+4]+c[i+5]+c[i+6]+c[i+7];  // </title>
      
if temp='<title>' then
      begin
        
//отсчитываем цикл начинаю от i и далее дабы найти закрывающий тег не перескакиваю в задницу
        //например i = 265
        
for j:=i to n do
        
begin
          
if tempclose='</title>' then
          begin
            
//находим номер до какого вкл функцию copy
            
title:=copy(c,i+7,j-1);
          
end;
        
end;
      
end;
    
end;
    
//проверка
    
showmessage('defined <title>');
    
showmessage(title);

  
end;
end
Ответить с цитированием
  #4  
Старый 12.03.2011, 20:24
hatsub hatsub вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 18
Репутация: 10
По умолчанию

Еще проблема в том что он находит этот <title>, но не первый по счету, а где то ближе к конце....Не знаю в чем дело
Ответить с цитированием
  #5  
Старый 12.03.2011, 20:29
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

а Pos или PosEx не пробовал использовать?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  c: string;
  n1,n2: integer;
  title: string;
begin
  c := IdHTTP1.Get('http://mobile-review.com.feedsportal.com/c/33244/f/557683/index.rss');
  if c = '' then
    ShowMessage('Ошибка'+#13+'невозможно получить html-код...')
  else
  begin
    n1 := Pos('<title>',c) + Length('<title>');
    n2 := Pos('</title>',c) - n1;
    title := Copy(c,n1,n2)
    ShowMessage(title);
  end;
end;

Последний раз редактировалось Assistant, 12.03.2011 в 20:36.
Ответить с цитированием
  #6  
Старый 12.03.2011, 20:38
hatsub hatsub вне форума
Прохожий
 
Регистрация: 12.03.2011
Сообщения: 18
Репутация: 10
По умолчанию

Есть способ по проще, на панели internet есть XMLDocument1
насколько я понимаю прямая ссылка на rss ленту - xml.

нашел исходник как пример работы с xml:

PHP код:
procedure TForm1.Button3Click(SenderTObject);
var 
b:string;
begin
XMLDocument1
.LoadFromFile('http://mzilla.ru/news/rss');
XMLDocument1.Active := true;
:= XMLDocument1.DocumentElement.ChildNodes['lastBuildDate'].Text;
// "lastBuildDate" - присутствует в исходнике http://mzilla.ru/news/rss
XMLDocument1.Active := false;
//проверка
showmessage(b);
end

Выводит пустой showmessage, подскажие в чем проблема
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter