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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2012, 17:20   #1
romanln2012
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 30
По умолчанию оптимизация кода программы

КОД:
Код:
for i := 1 to length(end_ch) do begin
if end_ch[i] = '1' then edit1.Text:=edit1.Text +'1';
if end_ch[i] = '2' then edit2.Text:=edit2.Text +'2';
if end_ch[i] = '3' then edit3.Text:=edit3.Text +'3';
if end_ch[i] = '4' then edit4.Text:=edit4.Text +'4';
if end_ch[i] = '5' then edit5.Text:=edit5.Text +'5';
if end_ch[i] = '6' then edit6.Text:=edit6.Text +'6';
if end_ch[i] = '7' then edit7.Text:=edit7.Text +'7';
if end_ch[i] = '8' then edit8.Text:=edit8.Text +'8';
if end_ch[i] = '9' then edit9.Text:=edit9.Text +'9';
end;
возможно как то сократить?

Последний раз редактировалось artemavd; 13.06.2012 в 17:39.
romanln2012 вне форума Ответить с цитированием
Старый 13.06.2012, 17:40   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А чем это не устраивает?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.06.2012, 17:44   #3
romanln2012
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 30
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А чем это не устраивает?)
Преподаватель не любит когда много однотипных повторений)
romanln2012 вне форума Ответить с цитированием
Старый 13.06.2012, 17:47   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,323
По умолчанию

Код:
var
   edit: TComponent;
 ...
for i := 1 to length(end_ch) do begin
if end_ch[i] in ['1'..'9'] then 
begin
edit:=findcomponent('edit'+end_ch[i]);
if edit<>nil then
	tedit(edit).text:=tedit(edit).text+end_ch[i];
end;
Хотя лучше создать массив эдитов, которые будут автоматически генерироваться при запуске формы, и тогда к ним легко можно будет обращаться.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 13.06.2012 в 17:49.
BDA на форуме Ответить с цитированием
Старый 13.06.2012, 19:59   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Код:
case end_ch[i] of
'1':  edit1.Text:=edit1.Text +'1';
'2':  edit2.Text:=edit2.Text +'2';
'3':  edit3.Text:=edit3.Text +'3';
'4':  edit4.Text:=edit4.Text +'4';
'5':  edit5.Text:=edit5.Text +'5';
'6':  edit6.Text:=edit6.Text +'6';
'7':  edit7.Text:=edit7.Text +'7';
'8':  edit8.Text:=edit8.Text +'8';
'9':  edit9.Text:=edit9.Text +'9';
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 13.06.2012, 21:28   #6
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Код:
for i := 1 to Length(end_ch) do
  if end_ch[i] in ['1' .. '9'] then
    with TEdit(FindComponent('edit'+end_ch[i]) do Text := Text + end_ch[i];
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 13.06.2012, 21:33   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

romanln2012, между прочим Ваш код оптимальней всех представленных. Хоть он и китайский, но в данном случае наилучший. Ну если только код от evg_m, более лаконичен.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.06.2012, 21:54   #8
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

С точки зрения процессора - да С точки зрения ТС и любого человека - нет ТС наверное имел в виду второе все же.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оптимизация кода GerNick Общие вопросы C/C++ 3 24.12.2010 16:40
Оптимизация кода Shouldercannon Общие вопросы Delphi 23 22.07.2010 22:45
Оптимизация кода в си dampirik Помощь студентам 4 07.07.2009 11:30
Оптимизация кода. MAKTECYMA Общие вопросы C/C++ 2 05.06.2008 16:48
Оптимизация кода программы insi Фриланс 2 17.05.2008 18:30