Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
radion111
1 / 1 / 0
Регистрация: 20.04.2014
Сообщений: 50
1

Проверка нескольких ComboBox

17.03.2017, 19:16. Просмотров 163. Ответов 10
Метки нет (Все метки)

Здравствуйте, проблема заключается в проверке нескольких комбобоксов. При нажатии на кнопку идет проверка содержимого, выполнение условий. Нужно реализовать такоедля 4-х комбобоксов. А вот само условие проверки для одного бокса.
Delphi
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
if Combobox1.Text='Паули X' then  
 begin
   Ex[1]:= (PauliX[1] * Base[1]) + (PauliX[3] * Base[2]);
   Ex[2]:= (PauliX[2] * Base[1]) + (PauliX[4] * Base[2]);
   Base[1] := Ex[1];
   Base[2] := Ex[2]
end;
 
   if Combobox1.Text='Паули Z' then     
begin
   Ex[1]:= (PauliZ[1] * Base[1]) + (PauliZ[3] * Base[2]);
   Ex[2]:= (PauliZ[2] * Base[1]) + (PauliZ[4] * Base[2]);
   Base[1] := Ex[1];
   Base[2] := Ex[2]
end;
 
   if Combobox1.Text='Единичный гейт' then     
begin
   Ex[1]:= (One[1] * Base[1]) + (One[3] * Base[2]);
   Ex[2]:= (One[2] * Base[1]) + (One[4] * Base[2]);
   Base[1] := Ex[1];
   Base[2] := Ex[2]
end;
 
   if Combobox1.Text='Адамара' then    
begin
   Ex[1]:= (Hadamar[1] * Base[1]) + (Hadamar[3] * Base[2]);
   Ex[2]:= (Hadamar[2] * Base[1]) + (Hadamar[4] * Base[2]);
   Base[1] := Ex[1];
   Base[2] := Ex[2]
end;
 
    if Combobox1.Text='Измерение' then 
   begin
 
   Label1.Caption:='';
   for i:=1 to 2 do
   Label1.Caption:=Label1.Caption+FloatToSTR(Base[i]);
 end;
P.s: В программировании не силен Было бы проще, если работало Combobox[i].Text
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2017, 19:16
Ответы с готовыми решениями:

Определить активный ComboBox из нескольких
Здравствуйте. На форме имеется несколько комбобоксов, они в массиве, и в...

Combobox и выбор сразу нескольких значений
Есть Combobox в нём есть имена, как сделать выбор нескольких имён сразу и как с...

Проверка Combobox и Edit
Подскажите как сделать проверку: Если у меня выбран в Combobox1 первый эл. к...

Проверка строк в ComboBox
Здравствуйте. Проблема в следующем: когда я ввожу первые буквы какой-то строки...

Проверка двух combobox
Всем привет Помогите с таким делом. Есть на форме 2 комбобокса, которые...

10
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
17.03.2017, 20:33 2
ну, у вас вообще один и тот же Combobox1 проверяется
а в результате проверки делается одно и то же
как узнать глубокий смысл, который должен быть заложен в код

Если сделать
var Combobox:array[0..3] of TComboBox;

ComboBox[0] := ComboBox1;
ComboBox[1] := ComboBox2;
ComboBox[2] := ComboBox3;
ComboBox[3] := ComboBox4;

то замечательно работать будет и ComboBox[i].text
но понятнее от этого задача не стала
0
virtual[ity]
157 / 137 / 64
Регистрация: 05.06.2010
Сообщений: 610
17.03.2017, 20:46 3
Я так понял тут 4х4. То есть cbb1 проверяем 4 раза, потом cbb2 4 раза и так до cbb4. Верно?
0
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
17.03.2017, 20:50 4
O_O ???
два раза одно и то же проверять - уже надежно, три - это прямо паранойя, но четыре...
0
virtual[ity]
17.03.2017, 21:22
  #5

Не по теме:


четыре тут уже полный привод

0
radion111
1 / 1 / 0
Регистрация: 20.04.2014
Сообщений: 50
17.03.2017, 22:21  [ТС] 6
Проверка бокса на содержание. Не вижу, что при проверке выполняется одно и то же
One
Hadamar
Pauli
По-моему даже названия не сходятся
0
Matan!
Delphi/Java/DB Dev + Math
447 / 312 / 118
Регистрация: 31.05.2013
Сообщений: 2,474
Записей в блоге: 5
Завершенные тесты: 2
17.03.2017, 22:28 7
radion111, везде у Вас здесь фигурирует только один комбобокс.
Вы хотите сказать, что собираетесь проверять такой же код для остальных CB?

Добавлено через 2 минуты
По-хорошему, Вы можете воспользоваться событием ComboboxChange(Sender:TObject).
И так для каждого бокса.
0
radion111
1 / 1 / 0
Регистрация: 20.04.2014
Сообщений: 50
17.03.2017, 22:29  [ТС] 8
Я спрашиваю как реализовать это

Добавлено через 37 секунд
Спасибо, попробую
0
Matan!
Delphi/Java/DB Dev + Math
447 / 312 / 118
Регистрация: 31.05.2013
Сообщений: 2,474
Записей в блоге: 5
Завершенные тесты: 2
17.03.2017, 22:30 9
Вот пример одного обработчика события:
Delphi
1
2
3
4
5
6
7
procedure TForm1. Combobox1Change(Sender:TObject);
begin
Ex[1]:= (PauliZ[1] * Base[1]) + (PauliZ[3] * Base[2]);
   Ex[2]:= (PauliZ[2] * Base[1]) + (PauliZ[4] * Base[2]);
   Base[1] := Ex[1];
   Base[2] := Ex[2]
end;
Добавлено через 1 минуту
Таким образом вместо проверок содержимого, Вы просто обрабатываете комбобокс, когда пользователь кликает по нему.
0
radion111
1 / 1 / 0
Регистрация: 20.04.2014
Сообщений: 50
17.03.2017, 22:32  [ТС] 10
Мне важно то, что он выбрал, от этого зависит какое именно условие будет выполнено
0
Matan!
Delphi/Java/DB Dev + Math
447 / 312 / 118
Регистрация: 31.05.2013
Сообщений: 2,474
Записей в блоге: 5
Завершенные тесты: 2
17.03.2017, 22:52 11
Хотя...Прошу простить, не уверен, что правильно понял задачу..

Добавлено через 6 минут
Тогда воспользуйтесь свойством ItemIndex.

Добавлено через 11 минут
Предлагаю такой вариант:
Delphi
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    procedure ComboBox1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
   {if Combobox1.Text='Паули X' then
   begin
     ShowMessage('Паули X');
   end;
 
   if Combobox1.Text='Паули Z' then
    begin
      ShowMessage('Паули Z');
    end;
 
   if Combobox1.Text='Единичный гейт' then
    begin
      ShowMessage('Единичный гейт');
    end;
 
   if Combobox1.Text='Адамара' then
    begin
      ShowMessage('Адамара');
    end;
 
    if Combobox1.Text='Измерение' then
     begin
       ShowMessage('Измерение');
     end;     }
 
     case ComboBox1.ItemIndex of
        -1: ShowMessage('Нет данных');
        0: ShowMessage('Паули X');
        1: ShowMessage('Паули Z');
        2: ShowMessage('Единичный гейт');
        3: ShowMessage('Адамара');
        4: ShowMessage('Измерение');
     end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Items.Add('Паули X');
  ComboBox1.Items.Add('Паули Z');
  ComboBox1.Items.Add('Единичный гейт');
  ComboBox1.Items.Add('Адамара');
  ComboBox1.Items.Add('Измерение');
end;
 
end.
Добавлено через 1 минуту
Комментарии можете убрать.
1
17.03.2017, 22:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2017, 22:52

Проверка ComboBox на пустоту
ОЧ дурацкий вопрос :- Unit3.pas(142): Type of expression must be BOOLEAN

Проверка строк в Combobox
Проблема следующая: для курсовой необходима регистрация - она подразумевает...

Проверка значения в ComboBox
Помогите застрял на проверке значений в CombooBox Вкратце есть combobox, в...


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

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

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