Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Задача ;)


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]);


писал без Дельфи, так что могут быть орфаграфические ошибки.
Если что то не ясно, объясню.


Наверх

Титульная страница Поиск, карта сайта Написать письмо