|
#1
|
|||
|
|||
TListBox
Есть ли возможность в TListBox к конкретной строке создать событие двойной клик мышью?
При этом мне нужно запомнить id строки в TListBox и нужно написать код события. Подскажите пожалуйста как это сделать? |
#2
|
|||
|
|||
можно, через OnDblClick, и потом в процедуре делаешь проверку через case:
0: нажали на первую строку; 1: нажали на вторую и т.д.... p.S.: подробнее опиши что именно нужно |
#3
|
|||
|
|||
С листбоксом разберусь чуть позднее, мне для курсовой нужно rss reeder написать... Возможно перемудрил, но все строки прокомментированы.
Все работает за исключением: не могу найти номер строки где идет закрывающий тег </title>(до какого символа использовать функцию copy()) Прошу помочь: PHP код:
|
#4
|
|||
|
|||
Еще проблема в том что он находит этот <title>, но не первый по счету, а где то ближе к конце....Не знаю в чем дело
|
#5
|
|||
|
|||
а 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
|
|||
|
|||
Есть способ по проще, на панели internet есть XMLDocument1
насколько я понимаю прямая ссылка на rss ленту - xml. нашел исходник как пример работы с xml: PHP код:
Выводит пустой showmessage, подскажие в чем проблема |
#7
|
|||
|
|||
Код:
var b: string; begin XMLDocument1.LoadFromFile('http://mobile-review.com.feedsportal.com/c/33244/f/557683/index.rss'); XMLDocument1.Active := True; b := XMLDocument1.DocumentElement.ChildNodes['channel'].ChildValues['title']; XMLDocument1.Active := False; ShowMessage(b); end; |
#9
|
|||
|
|||
Код который Вы мне скинули работает, теперь проблема в том как перейти на след. тег ['title']. Их на стр. как минимум 10.
|
#10
|
|||
|
|||
яж написал ссылки, которые стоит почитать
|
#11
|
||||
|
||||
Код:
unit Unit1; interface uses msxml, ComObj, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var XMLHTTP: Variant; xmldomdocument: IXMLDOMDocument; xmldomnodelist: IXMLDOMNodeList; i: Integer; begin XMLHTTP:=CreateOleObject('Microsoft.XMLHTTP'); XMLHTTP.open('GET', 'http://mobile-review.com.feedsportal.com/c/33244/f/557683/index.rss', False); XMLHTTP.send(''); if XMLHTTP.status=200 then begin xmldomdocument:=(IUnknown(XMLHTTP.responseXML) as IXMLDOMDocument); xmldomnodelist:=xmldomdocument.getElementsByTagName('title'); for i:=0 to xmldomnodelist.length-1 do if xmldomnodelist[i].parentNode.nodeName='item' then Memo1.Lines.Add(xmldomnodelist.item[i].text); end; end; end. http://data.cod.ru/93233 Пишу программы за еду. __________________ |
#12
|
|||
|
|||
Теперь у меня не большие проблемы с этим:
PHP код:
Пишет ошибку: Unit1.pas(160): E2001 Ordinal type required |
#13
|
|||
|
|||
listbox1.ItemIndex наверное
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#14
|
|||
|
|||
и еще нумерация с нуля, спасибо огромное
|
#15
|
|||
|
|||
И все-таки возникает несколько проблем с ListBox
Как проверить пустой ли он? if ListBox1.items[0]='' then Пробовал еще с itemindex пишет ошибку... И еще вопрос как оформить текст/объект в виде ссылки..т.е. при клике открывался браузер...или это нужно еще много чего писать? Последний раз редактировалось hatsub, 15.03.2011 в 17:24. |