![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Задача ;)
DeMoN-777 © (2002-06-01 21:36:00)Дано: ListBox1, ListBox2, Button1
Узнать: При нажатие на кнопку выделенная строка ListBox1 добавляется в ListBox2. Если в ListBox2 уже существует такая строка, тогда вывести соответствущее сообщение и игнорировать добавление.
Решение: ?
Зы.
Как вам такое оформление вопроса ?
Song (2002-06-02 10:00:00) [1]IF ListBox2.Items.IndexOf(ListBox1.Items[ListBox1.ItemIndex])=-1 then ListBox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]) else ShowMessage("Строка уже присутствует.");
DeMoN-777 (2002-06-02 06:03:00) [2]Это оптимальный вариант ?
procedure TForm1.ToolButton6Click(Sender: TObject);
begin
if listbox1.ItemIndex <> -1 then
begin
if listbox2.items.IndexOf(listbox1.items.strings[listbox1.itemindex])<0 then
begin
listbox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]);
ListBox2.Items.SaveToFile(ExtractFilePath(Application.ExeName)+"Темы\"+combobox1.text+"\избранное.txt");
ListBox2.Items.LoadFromFile(ExtractFilePath(Application.ExeName)+"Темы\"+combobox1.text+"\избранное.txt");
end
else
ShowMessage("Данный вопрос уже существует в избранном");
end
else
showmessage("Выберите вопрос для добавления");
end;
VID (2002-06-02 00:30:00) [3]if listbox2.items.IndexOf(listbox1.items.strings[listbox1.itemindex])<0 then ListBox2.items.Add(ListBOx1.items.strings[listbox1.itemindex])
else ShowMessage("String Exists");
[NIKEL] (2002-06-01 23:45:00) [4]var index: Integer;
if ListBox2.Items.Find(ListBox1.Items[ListBox1.ItemIndex],index) Then
ShowMessage("Уже Есть!");
else
ListBox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]);
попробуйте так... хотя я могу и накорявить :)
Новеньки в Делфи (2002-06-01 23:22:00) [5]:))) я так отклинулся быстро, у меня похожая задача была:) ...так вот мну тоже будет интересно, есть ли способ проще?
DeMoN-777 (2002-06-01 23:19:00) [6]Блин, надо было предупредить что хотелось-бы увидеть ответ в одну или несколько строк.
>Новеньки в Делфи (01.06.02 22:49)
Спасибо, но предложенный вами вариант не очень подходит (IMXO, кривоват немного).
Я про него уже думал,но хочется получить более правельный(грамотный) ответ на поставленную задачу.
Если мастера помогут, мы с тобой узнаем один из самых правельных(грамотных) вариантов на заданный вопрос.
Новеньки в Делфи (2002-06-01 22:49:00) [7]..кхм ну так значит, для кнопки следующее
if ListBox1.itemIndex<0 then exit;
if ListBox2.items.capacity=0 then
begin
ListBox2.items.add(ListBox1.items[Listbox1.itemIndex]);
exit;
end;
for i:=0 to ListBox2.items.capacity-1 do
if Listbox1.items[ListBox1.itemIndex]=ListBox2.items[i] then
begin
ShowMessage("Allready exists");
exit;
end;
ListBox2.items.add(ListBox1.items[ListBox1.itemindex]);
писал без Дельфи, так что могут быть орфаграфические ошибки.
Если что то не ясно, объясню.