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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2014, 11:18   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

позволю себе вмешаться в обсуждение..

Цитата:
Сообщение от FleXik Посмотреть сообщение
----------
Прик, вы про это (приставку Form1 потом везде где лишняя - уберу)???
точно так. Везде, где выделено, лучше убрать.
Это, конечно, не ошибка, можете и так оставить, но, учтите, что:
1) такое указание бессмыслено (получается тавтология == масло маслянное)
2) если попытаетесь скопировать код в другую форму/проект (или, банально, переименовать Form1) - данный кусок кода придётся рефакторить ручками!


Код:
procedure TForm1.sComboBox1Select(Sender: TObject);
begin
  s:='';

  if Form1.sComboBox1.ItemIndex=1 then
  begin
    Form1.sComboBox2.Clear;
    Form1.sComboBox2.Items.Add('');
    Form1.sComboBox2.Items.Add('Один');
    Form1.sComboBox2.Items.Add('Два');
    Form1.sComboBox2.Items.Add('Три');
  end;

  if Form1.sComboBox1.ItemIndex=2 then
  begin
    Form1.sComboBox2.Clear;
    Form1.sComboBox2.Items.Add('');
    Form1.sComboBox2.Items.Add('Четыре');
    Form1.sComboBox2.Items.Add('Пять');
    Form1.sComboBox2.Items.Add('Шесть');
    Form1.sComboBox2.Items.Add('Семь');
  end;

  if Form1.sComboBox1.ItemIndex=3 then
  begin
    Form1.sComboBox2.Clear;
    Form1.sComboBox2.Items.Add('');
    Form1.sComboBox2.Items.Add('Восемь');
    Form1.sComboBox2.Items.Add('Девять');
  end;

end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.02.2014, 11:59   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
2) если попытаетесь скопировать код в другую форму/проект (или, банально, переименовать Form1) - данный кусок кода придётся рефакторить ручками!
там еще хуже, форма привязана к объекту Form1, то есть она строго одноразовая, и причем обязана быть создана через Form1.

Флексик, применяй Self если подсказка от среды нужна.

и формы старайся именовать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод ветвей и границ для задачи "Багдадский вор" Zavoorchik Помощь студентам 0 01.05.2012 12:04
двумерный массив. вывести все строки, содержащие хотя бы один "0"(ноль) (написать через функцию в Delphi) BLADIMIR Помощь студентам 4 07.09.2011 21:24
"Индекс вне границ массива". Строки. (Проблема еще не решена) Broken Angel Помощь студентам 5 18.01.2011 21:33
C# ошибка:"Индекс находился вне границ массива" potap88 Помощь студентам 16 18.04.2010 15:50
"Слепить" несколько документов в один Diego__ Microsoft Office Word 2 13.02.2010 19:10