Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > элементы TreeView в ListBox


Автор: Delphiec 1.8.2010, 03:22
следующий код добавляет выделенный элемент TreeView в ListBox.

Код

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin

 if treeview1.Selected = nil then
 showmessage('в TreeView занеси че нить, потом сохраню и в ListBox')

 else
  ListBox1.Items.Add(TreeView1.Selected.Text);

end;


все нормально если нажать кнопку один раз,
но если нажать еще раз, то появится еще такой же элемент.... еще и еще (зависит сколько раз нажал).

помогите плиз, выйти из этой ситуации

Автор: xkor 1.8.2010, 13:24
Код

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
 if treeview1.Selected = nil then
   showmessage('в TreeView занеси че нить, потом сохраню и в ListBox')
 else if ListBox1.Items.IndexOf(TreeView1.Selected.Text)=-1 then
   ListBox1.Items.Add(TreeView1.Selected.Text);
end;

Автор: Delphiec 1.8.2010, 21:54
xkor,  отлично, все работает. спасибо огромное!  smile

Добавлено через 3 минуты и 11 секунд
тока объясни пожалста этот момент

Код

if ListBox1.Items.IndexOf(TreeView1.Selected.Text)=-1 then


что означает   IndexOf  и -1(в конце)?

Автор: Dom 2.8.2010, 07:57
IndexOf возвращает номер итема в ЛистБоксе (номера итемов начинаются с 0). Если такой элемент не найден, то возвращается -1.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)