Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
maest
79 / 34 / 6
Регистрация: 11.11.2010
Сообщений: 496
1

Не работает switch

30.11.2015, 10:39. Просмотров 965. Ответов 5
Метки нет (Все метки)

Добрый день!

Не работает следующий код:

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
int T1 = 5;
 switch( T1 )
 {
     case 0:
         SpeedButton3->Down;
         SpeedButton6->Down;
         break;
 
     case 1:
         SpeedButton3->Down;
         SpeedButton5->Down;
         break;
 
     case 2:
         SpeedButton3->Down;
         SpeedButton4->Down;
         break;
 
     case 3:
         SpeedButton2->Down;
         SpeedButton6->Down;
         break;
 
     case 4:
         SpeedButton2->Down;
         SpeedButton5->Down;
         break;
 
     case 5:
         SpeedButton2->Down;
         SpeedButton4->Down;
         break;
 
     case 6:
         SpeedButton1->Down;
         SpeedButton6->Down;
         break;
 
     case 7:
         SpeedButton1->Down;
         SpeedButton5->Down;
         break;
 
     case 8:
         SpeedButton1->Down;
         SpeedButton4->Down;
         break;
 
 }
В чем ошибка? Пишу в XE5.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2015, 10:39
Ответы с готовыми решениями:

Не корректно работает switch() case
Мне нужно сделать switch case строк не подскажите как это реализовать?...

Оператор switch не работает со строками
switch(DBGrid1->DataSource->DataSet->FieldByName("Äèàãíîç")->AsString){ case...

Не работает Process::Start в конструкции Switch Case
Не понимаю почему не работает Process::Start в C++ Builder...

Switch изменить на If
Помогите изменить свич на иф...( 18-30 строки ) Оператор должен выйти...

ComboBox и switch
Как можно реализовать выбор данных данных лучше чем при помощи switch? Еслы...

5
Sasha
4923 / 2387 / 530
Регистрация: 05.06.2008
Сообщений: 7,477
Записей в блоге: 3
30.11.2015, 10:54 2
Лучший ответ Сообщение было отмечено maest как решение

Решение

Так может надо значение задать по типу
C++
1
SpeedButton1->Down = true;
1
nick42
Практикантроп
4278 / 2298 / 398
Регистрация: 23.09.2011
Сообщений: 4,914
30.11.2015, 11:06 3
Цитата Сообщение от maest Посмотреть сообщение
Не работает следующий код
И в чём это заключается? SpeedButton->Down возвращает булево значение (true - false) состояния нажатия на кнопку. И ВСЁ; в вашем коде оно никак не используется. См. пост выше.
0
Почтальон
Модератор
694 / 572 / 118
Регистрация: 22.03.2015
Сообщений: 3,916
Завершенные тесты: 2
30.11.2015, 11:35 4
Цитата Сообщение от maest Посмотреть сообщение
Не работает следующий код:
Отладчиком проверяли ?
0
nick42
Практикантроп
4278 / 2298 / 398
Регистрация: 23.09.2011
Сообщений: 4,914
30.11.2015, 11:45 5
.. и вообще, когда в собственном коде встречается больше пяти однотипных манипуляций, - тянет их как-то обобщить и не писать десять-двадцать раз подряд case:
Вот примерно так (tbar - TrackBar):__
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::tbarChange(TObject *Sender)
{
    int Pc[9]= {36,35,34,26,25,24,16,15,14}, T1=tbar->Position;
    for(int i=0;i<ComponentCount;i++) {
     if(Components[i]->ClassNameIs("TSpeedButton")) ((TSpeedButton*)Components[i])->Down=false;
     if(Components[i]->Name == String().sprintf("SpeedButton%d",1+Pc[T1]/10)) ((TSpeedButton*)Components[i])->Down=true; 
     if(Components[i]->Name == String().sprintf("SpeedButton%d",1+Pc[T1]%10)) ((TSpeedButton*)Components[i])->Down=true;  
    }
1
maest
79 / 34 / 6
Регистрация: 11.11.2010
Сообщений: 496
30.11.2015, 13:32  [ТС] 6
Цитата Сообщение от nick42 Посмотреть сообщение
И в чём это заключается?
Не заходило внутрь, отладчиком проверял.

Sasha, спасибо, заработало. Всем спасибо за помощь!
0
30.11.2015, 13:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2015, 13:32

Randomize + Switch()
Создается массив, рандомится число и подается в Switch для выбора индекса Case....

Меню без if и switch
Как реализовать меню без использования операторов if и switch при помощи...

Switch ( в чем ошибка???)
вот есть процедура для 3 Image (onClick) - общая процедура Image1 имеет Tag=1;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru