![]() |
|
|
#16
|
|||
|
|||
|
Ну вот, опять тупой копи-пастинг, люди учитесь думать, это очень сильно помогает.
Код:
if ListBox1.items[0].Text='' then |
|
#17
|
|||
|
|||
|
ок, а что насчет ссылок? Можно как-то реализовать без подключения посторонних излишеств...
|
|
#18
|
|||
|
|||
|
в Uses подключите ShellAPI и на событие OnChange (OnClick, шо у вас там)
Код:
ShellExecute(Handle,'open',PChar(ListBox1.Items[ListBox1.ItemIndex]),nil,nil,1); |
|
#19
|
|||
|
|||
|
Огромное спасибо. Возникает еще одна проблема...
Без добавления проблемной строки все работает нормално. ![]() Код: PHP код:
Listbox2 присутствует на форме. lineadd: string; В чем может быть такая проблема. Если нужно код функции могу скинуть полностью. Код:
function Add(lineadd:string): string;
begin
lineadd:=inputbox('Адрес rss-ленты','Вводите адрес правильно!','');
if (lineadd<>'') then lineaddtemp := lineadd[1]+lineadd[2]+lineadd[3]+lineadd[4]+lineadd[5]+lineadd[6]+lineadd[7];
if (lineadd='')or(lineaddtemp<>'http://') then showmessage('Неправильно введен адрес')
else
begin
//записываем в массив, массив файл, а из файла в ListBox спомощью функции раз здесь код не робит!
// add to array
i:=1;
while i<100 do
begin
if p[i]='' then
begin
p[i]:=lineadd;
numar:=i+1;
i:=i+200;
end;
i:=i+1;
end;
//массив в файл
AssignFile(f,'1.txt');
ReWrite(f);
j:=1;
while j<numar do
begin
Writeln(f,p[j]);
j:=j+1;
end;
CloseFile(f);
Listbox2.Items.Add(lineadd);
end;
end;Последний раз редактировалось Admin, 16.03.2011 в 10:31. |
|
#20
|
|||
|
|||
|
функция Add не принадлежит классу TForm1, там и находится ListBox2
сделайте так: объявите в классе TForm1 функцию Add вот так: Код:
...... type TForm1 = class(TForm) // блаблабла function Add(lineadd: string): string; ...... function TForm1.Add(lineadd: string): string; begin ... // lineadd вводится ... Listbox2.Items.Add(lineadd); ... end; Последний раз редактировалось Assistant, 15.03.2011 в 23:20. |
|
#21
|
|||
|
|||
|
Огромное спасибо! Функция add стала работать, но при компиляции выделяет красным эту строку:
function TForm1.delete(host:string):string; и пишет ошибку [DCC Error] Unit1.pas(60): E2037 Declaration of 'delete' differs from previous declaration Обе функции объявлены в type, но работает только одна: type .... procedure ListBox1Click(Sender: TObject); procedure ListBox2Click(Sender: TObject); function Add(lineadd: string): string; function delete(lineadd: string): string; В чем на этот раз проблема? |
|
#22
|
|||
|
|||
|
Метод Delete уже определен для формы, выберите другое название, к примеру DeleteItem.
|
|
#23
|
|||
|
|||
|
После небольшой передышки, все-таки почти дописал программу, но как избавиться от такого рода ошибок:
![]() Слышал о перехватчике ошибок: PHP код:
Подскажите пожалуйста, как пользоваться или ссылку на тему про ошибки. |
|
#24
|
|||
|
|||
|
Цитата:
|
|
#25
|
|||
|
|||
|
Индекс выбранная строки здесь - ListBox.ItemIndex.
Это если ListBox.ItemIndex = -1 - строка не выбрана. Проверка на кол-во елементов ListBox.Count = 0. Код:
var Index : integer; begin if ListBox.Count = 0 then Exit; Index := ListBox.ItemIndex; if Index < 0 then Exit; ListBox.Items[Index].Do_Miracle; // or whatever you want. end; |