Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2008, 08:45   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и развели демагогию...
Нет бы сделать ченить наподобие:
Код:
if ComboBox1.Perform(CB_DELETESTRING,strtoint(Edit1.Text),0)<>CB_ERR then
  ComboBox1.Perform(CB_INSERTSTRING,strtoint(Edit1.Text),integer(pchar(Edit2.Text)));
Здесь в Edit1.Text указывается позиция итема, а в Edit2.Text то на что его заменить. А главное ошибки удобно обрабатывать.
Делов то...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2008, 15:40   #12
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

А как на счёт try...except...end. Помойму проще то и нет
try
combobox1.items[123]:='aaaa';
except
showmessage('Nu kuda ti lezew to a?')
end
Domovoy вне форума Ответить с цитированием
Старый 17.04.2008, 16:09   #13
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Вы все забываете, что программа кроме того чтобы не создавать исключения, должна правильно работать, выполнять свою функцию.
Что мне толку, что она не вылетает, если она не выполняет что от нее требуется?
Ведь это 'aaa' должно было куда-то записаться. Так что в каждом отдельном случае нужен индивидуальный подход и отладка.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 17.04.2008, 17:17   #14
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Ведь это 'aaa' должно было куда-то записаться
Вот и до собаки добрались
Код:
try
tmp:='aaaa';
combobox1.items[123]:=tmp;
except
//showmessage('Nu kuda ti lezew to a?')
ComboBox1.Items.Count:=ComboBox1.Items.Count+1;
ComboBox1.Items[ComboBox1.Items.Count-1]:=tmp;
end;
mihali4 вне форума Ответить с цитированием
Старый 17.04.2008, 17:32   #15
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Нельзя здесь использовать try. Его вообще нужно использовать с большой осторожностью при записи. Если "там" окажется другая переменная, или ещё хуже код, или ещё хуже - адрес возврата из функции, то есть если окажется, что запись возможна, то исключение поднято не будет, а целостность программы может быть полностью нарушена. Здесь, правда, нужно двойное совпадение - индекса и строки, но ничего невозможного в этом нет.
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComboBox Есет Помощь студентам 1 27.03.2008 09:10
ComboBox )Игнат( Компоненты Delphi 3 19.02.2008 16:59
Combobox Yana Помощь студентам 5 23.12.2007 02:16
Combobox и иже с ним Shawn Компоненты Delphi 7 13.12.2007 18:15
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45