|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Запарка с комбобоксами
Здравствуйте, проблема такая-появилась потребность в "тесте-тренажере",
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, ToolWin, ComCtrls, StdCtrls, TabNotBk, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; Label2: TLabel; Label3: TLabel; GroupBox1: TGroupBox; ComboBox1: TComboBox; GroupBox4: TGroupBox; ComboBox2: TComboBox; GroupBox2: TGroupBox; ComboBox4: TComboBox; GroupBox3: TGroupBox; ComboBox3: TComboBox; GroupBox6: TGroupBox; ComboBox5: TComboBox; GroupBox7: TGroupBox; ComboBox6: TComboBox; GroupBox8: TGroupBox; ComboBox7: TComboBox; GroupBox9: TGroupBox; ComboBox8: TComboBox; GroupBox10: TGroupBox; ComboBox9: TComboBox; GroupBox11: TGroupBox; ComboBox10: TComboBox; ComboBox11: TComboBox; procedure Button1Click(Sender: TObject); procedure ComboBox11Change(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ball:integer; i:integer; y:Integer; type answers=array[1..10,0..16] of byte; const otv1:answers=((0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0),(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)); const otv2:answers=((0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0),(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1), (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)); implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ball:=otv1[1,ComboBox1.itemIndex]+otv1[2,ComboBox2.itemIndex]+ otv1[3,ComboBox3.itemIndex]+otv1[4,ComboBox4.itemIndex]+ otv1[5,ComboBox5.itemIndex]+otv1[6,ComboBox6.itemIndex]+ otv1[7,ComboBox7.itemIndex]+otv1[8,ComboBox8.itemIndex]+ otv1[9,ComboBox9.itemIndex]+otv1[10,ComboBox10.itemIndex]; if ball=10 then label2.Caption:='Правильно ответил' else label2.Caption:='Ответил не правильно'; end; procedure TForm1.ComboBox11Change(Sender: TObject); begin y:=0; i:=ComboBox11.itemIndex; if i=y then label3.Caption:='выбран 217'; end; procedure TForm1.Button2Click(Sender: TObject); begin ball:=otv1[1,ComboBox1.itemIndex]+otv1[2,ComboBox2.itemIndex]+ otv1[3,ComboBox3.itemIndex]+otv1[4,ComboBox4.itemIndex]+ otv1[5,ComboBox5.itemIndex]+otv1[6,ComboBox6.itemIndex]+ otv1[7,ComboBox7.itemIndex]+otv1[8,ComboBox8.itemIndex]+ otv1[9,ComboBox9.itemIndex]+otv1[10,ComboBox10.itemIndex]; if ball=10 then label2.Caption:='Правильно ответил' else label2.Caption:='Ответил не правильно'; end; end. Помогите пожалуйста, не могу разобраться Последний раз редактировалось lmikle, 04.03.2015 в 01:22. |
#2
|
|||
|
|||
Ну, видимо что-то типа:
Код:
Case ComboBox11.ItemIndex Of 0: Button1Click(Sender); 1: Button2Click(Sender); end; |
#3
|
||||
|
||||
А ещё можно код подсократить немного
Код:
procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin ball:= 0; for i := 1 to 10 do Inc(ball, otv1[i, (FindComponent('ComboBox' + IntToStr(i)) as TComboBox).ItemIndex]); with label2 do if ball = 10 then Caption:= 'Правильно ответил' else Caption:= 'Ответил не правильно'; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#4
|
|||
|
|||
Суть в том, что человеку нужно обязательно ответить на все вопросы правильно, иначе такие ошибки могут привести к потере ориентирования экипажа в пространстве. Было бы конечно очень хорошо, если бы показывалось где он ответил не правильно, но это пока я думаю отложить(я только разбираюсь).
Идея в том, чтобы в 11 комбобоксе выбиралась "тема", а в остальных вопросы.. |
#5
|
||||
|
||||
Может такое и подойдёт, посмотрите пжлст
З.Ы. Терпения хватило лишь на загрузку файл-вопросов в ComboBox-ы, но принцип виден и так, остальное аналогично Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
|||
|
|||
Спасибо большое, кажется это то что нужно))
|