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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2015, 01:30   #1
KiberVioNet
 
Регистрация: 12.12.2014
Сообщений: 4
Сообщение Помощь с программой тестом на Delphi. Не знаю как сделать чтобы был выбор ответа и определение верного/не верного ответа и итог?

Помогите кодом, пожалуйста... Очень нужна ваша помошь

У меня есть уже оформленная программа теста (показана в скрине). Но в ней не прописан код действий...
Мне надо чтобы пользователь выбрал ответ и нажал на кнопку "Итог" и в поле TEdit появилось число верных ответов.
То есть в программе есть верные и не верные ответы и как это прописать и то чтобы в конце было выведено число я не знаю - помогите!


Код имеющийся:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Memo4: TMemo;
    Memo5: TMemo;
    Memo6: TMemo;
    Panel1: TPanel;
    RadioButton1: TRadioButton;
    RadioButton10: TRadioButton;
    RadioButton11: TRadioButton;
    RadioButton12: TRadioButton;
    RadioButton13: TRadioButton;
    RadioButton14: TRadioButton;
    RadioButton15: TRadioButton;
    RadioButton16: TRadioButton;
    RadioButton17: TRadioButton;
    RadioButton18: TRadioButton;
    RadioButton19: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton20: TRadioButton;
    RadioButton21: TRadioButton;
    RadioButton22: TRadioButton;
    RadioButton23: TRadioButton;
    RadioButton24: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    RadioButton7: TRadioButton;
    RadioButton8: TRadioButton;
    RadioButton9: TRadioButton;
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    RadioGroup3: TRadioGroup;
    RadioGroup4: TRadioGroup;
    RadioGroup5: TRadioGroup;
    RadioGroup6: TRadioGroup;
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

end.
Дайте пример как должен делаться выбор ответа вообще и выбор правильного и итог (количество правильных ответов)
Изображения
Тип файла: jpg 73$7.jpg (92.8 Кб, 125 просмотров)

Последний раз редактировалось Stilet; 29.09.2015 в 06:33.
KiberVioNet вне форума Ответить с цитированием
Старый 29.09.2015, 03:05   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вы что, все свои РадиоГруппы вручную наполняли РадиоБутонами ?
То то я гляжу у вас аж 24 штуки их прописано. Нельзя чтоли было использовать свойство Items у RadioGroup и заполнить как на рисунке?

Так что, зря вы пишете ..
Цитата:
Сообщение от KiberVioNet Посмотреть сообщение
..У меня есть уже оформленная программа теста (показана в скрине)...
считайте, нет у вас ничего. Легче заново сделать.
Изображения
Тип файла: jpg lazzz.jpg (92.3 Кб, 137 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 29.09.2015, 05:46   #3
KiberVioNet
 
Регистрация: 12.12.2014
Сообщений: 4
Сообщение

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
считайте, нет у вас ничего. Легче заново сделать.
А что так нельзя что ли (я же не на продажк этот тест несу) ?! Мы на парах было и в ручную добавляли эти батоны в группу и ни чего... Токо тогда у меня готовый код был, а щас нету...

Может всё таки поможете и скажете как сделать выбор ответа и итог...
KiberVioNet вне форума Ответить с цитированием
Старый 29.09.2015, 13:18   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

1. создаете обработчик события OnClick кнопки Итог.
2. СЧИТАЕТЕ количество правильных RadioButton (содержащих правильный ответ), которые являются выбранными(отмеченными).
3. выводите результат подсчета в Edit1.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 29.09.2015, 18:03   #5
KiberVioNet
 
Регистрация: 12.12.2014
Сообщений: 4
Вопрос

evg_m

А можно код?
KiberVioNet вне форума Ответить с цитированием
Старый 29.09.2015, 18:38   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу предложить такой простецкий вариант:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
			StdCtrls;

type

			{ TForm1 }

      TForm1 = class(TForm)
						Button1: TButton;
						procedure Button1Click(Sender: TObject);
      procedure FormCreate(Sender: TObject);
      private
            { private declarations }
      public
       procedure AddGroup(quest:String;answers:array of string;good:integer);
            { public declarations }
      end;

var
      Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Align:=alBottom;
  Button1.Caption:='Я усе.';
  AddGroup('Кто такой Чехов?',['Я','Ты','Мы','Писатель'],3);
  AddGroup('Почему гладиолус?',['Прост...','Забей.','Потому что арбуз','Где?'],1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var n,i:integer;
begin          n:=0;
 for i:=0 to ControlCount-1 do
  if Controls[i] is TRadioGroup then
   inc(n,byte(TRadioGroup(Controls[i]).Tag=TRadioGroup(Controls[i]).ItemIndex));
 ShowMessage(format('Правильных ответов: %d',[n]));
end;

procedure TForm1.AddGroup(quest: String; answers: array of string; good: integer
			);
var i:integer;
begin
  with TRadioGroup.Create(self) do begin
    Caption:=quest;
    for i:=Low(answers) to High(answers) do
     Items.Append(answers[i]);
    Tag:=good;
    Align:=alTop;
    Parent:=Self;
    Show;
	end;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2015, 19:29   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

чот такое подобное я недавно делал одному халявщику, надо поискать...











о, нашёл!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 30.09.2015, 09:02   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
evg_m

А можно код?
1. форма -> Инспектор объектов ->события -> ...
2.
Код:
rez:=0;
// проверяем только нужные
if RadiobuttonXXX.checked then Inc(rez); //считаем только отмеченные
......
3.
Код:
EditZ.text:=inttostr(rez);//выводим то, что насчитали
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 30.09.2015 в 09:04.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте, разработка программы с тестами (выбор ответа на вопросы) nikytt Visual C++ 7 05.09.2015 19:38
Не знаю как сделать что бы во всех браузерах текст был по середине в своём сайте Babchuk Помощь студентам 2 19.04.2012 20:19
как сделать, чтобы полукруг был пунктирным? gylayko Помощь студентам 7 18.12.2011 16:01
Как сделать чтобы фокус всегда был на мой форме gufon Общие вопросы Delphi 1 01.06.2011 12:45