Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Программист по неволе
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
1

Возможно ли минимизировать такой код?

07.12.2015, 14:06. Показов 780. Ответов 1

Author24 — интернет-сервис помощи студентам
При помощи тракбаров создаю шесть чисел.
На каждое число по три тракбара (единицы, десятки, сотни).
Создал функцию, которая генерирует число по положениям тракбаров.
Но вот вопрос. Выполнять её надо получается надо при смене положения любого тракбара (что бы любое изменение сразу же отображалось). Это приводит к появлению длинного однообразного кода:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
int a[6], b[6], c[6], input[6];
void TForm1::makeinput()
{
  TTrackBar *tbara;
  TTrackBar *tbarb;
  TTrackBar *tbarc;
  for (int j=0; j<6; j++)
  {
    tbara = dynamic_cast<TTrackBar*>(FindComponent("TrackBar"+IntToStr(j+1)+"a"));
    tbarb = dynamic_cast<TTrackBar*>(FindComponent("TrackBar"+IntToStr(j+1)+"b"));
    tbarc = dynamic_cast<TTrackBar*>(FindComponent("TrackBar"+IntToStr(j+1)+"c"));
    a[j]=tbara->Position;
    b[j]=tbarb->Position;
    c[j]=tbarc->Position;
  }
  for (int i=0; i<6; i++)
  {
    input[i]=a[i]*100+b[i]*10+c[i];
    TLabel* label;
    label = dynamic_cast<TLabel*>(FindComponent("Label"+String(i+1)));
    label->Caption=IntToStr(input[i]);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1aChange(TObject *Sender)
{
  makeinput();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1bChange(TObject *Sender)
{
  makeinput();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1cChange(TObject *Sender)
{
  makeinput();
}
...
//много такого кода
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar6bChange(TObject *Sender)
{
 makeinput();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar6cChange(TObject *Sender)
{
makeinput();
}
}
Можно ли минимизировать кода?
Может есть способ объяснить компилятору, выполнять makeinput() при изменении положения любого тракбара?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2015, 14:06
Ответы с готовыми решениями:

Рисунок клавиш пианино. Нужно минимизировать код
Мне нужно объединить некоторые метки в циклы ,желательно с комментариями .model small...

Возможно ли использование такой конструкции?
echo &quot;&lt;option value=&quot;.$row.&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;.if($row===1){echo...

Возможно ли подключить такой диск к ПК
Я нашел диск ну просто очень дешево что мигом продался и купил его. Только когда доставили дошло...

Возможно ли сделать такой запрос?
Всем доброго времени суток! У меня имеется 2 таблицы, первая - Заказы, вторая - Клиенты. В таблице...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32991 / 21297 / 8180
Регистрация: 22.10.2011
Сообщений: 36,591
Записей в блоге: 8
07.12.2015, 14:15 2
Удали все обработчики кроме одного, а при создании формы обойди все TrackBar-ы, и назначь им всем один оставшийся обработчик OnChange.

Добавлено через 50 секунд
Ну, или в дизайнере - выбери все TrackBar-ы и назначь всем один и тот же обработчик
0
07.12.2015, 14:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2015, 14:15
Помогаю со студенческими работами здесь

Возможно ли составить такой запрос!!!
Помогите пожалуйста составить запрос!!! Есть таблица id, price, tarea (площадь), и т.д. и многое...

Возможно ли сделать такой функционал на JS
http://stick.kz/img/2016-02/12/n48w4rdo3ywf3hz50mvx0tgj3.png Основные функции, которые нужно...

Возможно ли улучшить такой компьютер?
Всем привет. Подскажите, пожалуйста, как можно улучшить древний компьютер, в котором стоит вот это:...

Возможно ли реализовать такой вывод
Возможно ли реализовать такой вывод как на представленной странице ...

Возможно ли сделать такой запрос
Приветствую! Есть такая проблемка! Нужно создать запрос, который бы &quot;остаток&quot; из первой строки...

Возможно ли починить такой монитор?
Извиняюсь за такой вопрос, меня интересует можно ли починить разбитый монитор? Разбили степлером,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru