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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2008, 11:30   #11
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
Не вижу, если честно, ничего хорошего в методе Alter'а. Вместо нескольких операторов if объявлять классовую переменную, несколько функций, удваивать, как минимум, объем памяти под строки и в конечном счёте получить те же if'ы внутри "VL.IndexOf(Match)". И какая разница между несколькими if-elseif-elseif-else и case, кроме "косметической"? А если строк очень много, я уже говорил, лучше смотреть в сторону хеш-таблиц и подбирать подходящую хэш-функцию.
Ну, я особо не разбирался, просто он мне подал идею, как это провернуть.
Код:
var
command_array: array [1..3] of string = ('exit', 'max', 'min');

procedure aMain_form.find_buttonClick(sender: tObject);
var
counter: byte;
begin
   for counter := 1 to 3 do
   begin
      if command_array[counter] = command_input.text then
      break;
   end;
   case counter of
   1: showMessage('Выходим');
   2: showMessage('макс');
   3: showMessage('мин');
   end;
end;
Ну вот так, в принцепе можно...
Altera вне форума Ответить с цитированием
Старый 24.02.2008, 12:12   #12
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Ну, дело хозяйское. Просто обычно такие комбинации кончаются или какими-нибудь странными глюками в странных местах, или невозможностью нормально прочитать свой собственный код, вставить или добавить еще одну-две строчки - целое дело, приходится менять код сразу в нескольких местах, а если надо строк эдак с полсотни, придется всё время лазить в объявление массива, выискивая там нужную, потом выяснять, какая она по индексу - практически с гарантией где-нибудь перепутать и т.д.
B_N вне форума Ответить с цитированием
Старый 24.02.2008, 12:17   #13
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ну это как код написать...
Altera вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в другом месте программы вызвать case 0? student_) Общие вопросы по Java, Java SE, Kotlin 9 11.10.2008 13:55
ошибка в операторе case wowka Помощь студентам 5 24.07.2008 11:47
Задача на case klop.92 Помощь студентам 4 28.04.2008 21:17
Аналог паскалевского case MusicMan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 21.04.2008 22:10
Конструкция case of работает некорректно! Как исправить? SkAndrew Общие вопросы Delphi 6 06.04.2008 00:21