Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

использование TListBox и TEdit   Найти похожие ветки 

 
SergeiX   (2005-06-01 12:28) [0]

Решаю задачу:"Создать Приложение,  содержащее компоненты TEdit и TListBox и работающее следующим образом. При двойном нажатии на TEdit  происходит добавление текста из строки TEdit в список TListBox при условии отсутствия такой строки в списке. Если такая строка уже есть в списке,  она сначала удаляется из списка, а затем добавляется в него из строки TEdit."
    Проблема в удалении из сприска TListBox элемента совпадающего с TEdit.
    Начало у меня такое:
procedure TForm1.dobavka(Sender: TObject);
var i:integer;
   n:integer;
   s:string;
begin
{ListBox1.Items.Add(Edit1.Text);}
n:=-1;
for i:=0 to ListBox1.Count-1 do
begin
 s:=ListBox1.Items[i];
 if s=Edit1.Text then
                      begin
                      n:=i;
                        {ListBox1.Items.Clear; }
                        {delete (ListBox1.Items[i]);}
                       {ListBox1.DeleteSelected;}
                      end;;
end;
 ListBox1.Items.Add(Edit1.Text);
end;


 
Kerk ©   (2005-06-01 12:30) [1]

ListBox.Items.Delete(ListBox.Items.IndexOf(Edit1.Text));


 
SergeiX   (2005-06-01 12:52) [2]

Теперь работает до того момента пока повторяешь последний элемент
,а если повторить предпоследний то выдает ошибку встроке выделенной жырным. Я не очень разбираюсь что-то про индексацию?
begin
 s:=ListBox1.Items[i];
 if s=Edit1.Text then
                      begin
                      n:=i;
                        {ListBox1.Items.Clear; }
                        {delete (ListBox1.Items[i]);}
                       {ListBox1.DeleteSelected;}
    ListBox1.Items.Delete(ListBox1.Items.IndexOf(Edit1.Text));
                      end;;
end;


 
msguns ©   (2005-06-01 13:02) [3]

Вместо всей лабуды 2 строки:
with ListBox1.Items do begin
  Delete(IndexOf(Edit1.Text));
  Add(Edit1.Text);
 end;


 
msguns ©   (2005-06-01 13:04) [4]

А так вааще в одну:

with ListBox1.Items,Edit1 do begin Delete(IndexOf(Text)); Add(Text); end;

;)

Это чего, лаба такая ?


 
SergeiX   (2005-06-01 13:34) [5]

msguns спасибо конечно но твоим способом в списке ListBox1 всеравно появляются одинаковые элементы чего нельзя по условию например:
edit1
edit2
edit3
edit2
такого не должно быть. Мож я что не так желаю . Мне эту контрольную завтра сдавать. И голова уже плохо соображает :)


 
SergeiX   (2005-06-01 13:59) [6]

msguns Спасибо когда я все потер кроме твоей одной строки все
пошло. Классно. контрольная решена. А еще вопрос если не трудно я так понимаю сдесь отключалась индексация а я пробовал при включеной  вобщем помоему способу выхода небыло наверно? Но ладно в принципе это уже не важно . А еще где мне можно найти добрую помощь руссифицированную к 7 delphi?



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
6-1111819417
ctranik
2005-03-26 09:43
2005.06.29
как узнать имя html-файла, использую компонент IdHttp


4-1115255968
nickmas
2005-05-05 05:19
2005.06.29
Как перехватить сообщение об ошибке...


14-1117446788
Ajax
2005-05-30 13:53
2005.06.29
Покупка цифровой мыльницы в Питере


1-1118130236
makle
2005-06-07 11:43
2005.06.29
TreeView. Количество вложенных уровней у нода


1-1117881436
Frozzen
2005-06-04 14:37
2005.06.29
Работа с диалогом ShowModal