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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2014, 09:53   #1
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Сообщение Тест. Помогите решить проблему ... их 2

Делфи Delphi
1.Короче говоря я сделал тест с RadioGroup , но у меня можно пройти тест при ответе лишь на 1 вопрос из 10 (даже не нажимая на остальные(1 ответа достаточно, что бы вывелось число балов). Подскажите как сделать что бы можно было вывести быллы только после ПОЛНОГО прохождения теста ?.

Кнопка вывода оценки:
Код:
unit Unit13;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Buttons, StdCtrls;

type
  TForm13 = class(TForm)
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    RadioGroup3: TRadioGroup;
    RadioGroup4: TRadioGroup;
    RadioGroup5: TRadioGroup;
    RadioGroup6: TRadioGroup;
    RadioGroup7: TRadioGroup;
    RadioGroup8: TRadioGroup;
    RadioGroup9: TRadioGroup;
    RadioGroup10: TRadioGroup;
    BitBtn1: TBitBtn;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    BitBtn2: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form13: TForm13;

implementation

uses Unit1, Unit14, Unit12;

{$R *.dfm}

procedure TForm13.BitBtn2Click(Sender: TObject);
begin
form13.Visible:=false;
form1.enabled:=true;
form1.visible:=true;
form13.enabled:=false;
end;
procedure TForm13.BitBtn1Click(Sender: TObject);
var n:integer;
begin
n:=0;
if radiogroup1.ItemIndex = 0  then n:=n+1;
if radiogroup2.ItemIndex = 0  then n:=n+1;
if radiogroup3.ItemIndex = 2  then n:=n+1;
if radiogroup4.ItemIndex = 1  then n:=n+1;
if radiogroup5.ItemIndex = 1 then n:=n+1;
if radiogroup6.ItemIndex = 1  then n:=n+1;
if radiogroup7.ItemIndex = 1  then n:=n+1;
if radiogroup8.ItemIndex = 2  then n:=n+1;
if radiogroup9.ItemIndex = 2  then n:=n+1;
if radiogroup10.ItemIndex = 0  then n:=n+1;
form14.label1.caption := form12.edit1.text;
form14.label2.caption := form12.edit2.text;
form14.label3.caption := form12.edit3.text;
form14.label4.caption := 'Ваш результат  '+inttostr(n)+' баллов';
form14.show;
form13.Visible:=false;
form14.enabled:=true;
form14.visible:=true;
form13.enabled:=false;
end;
end.
2. Как сделать что бы при регистрации запоминались (можно в txt файле) результаты Регистрации (Ф.И.О.) И после результат прохождения теста в быллах. Что бы после прохождения пользователь смог прочитать повторно лекцию и ответил на тест заново. Сравнив результат.
Кнопка регистрации:
Код:
unit Unit12;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, DB, ADODB;

type
  TForm12 = class(TForm)
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    BitBtn2: TBitBtn;
    Label4: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form12: TForm12;

implementation

uses Unit1, Unit13;

{$R *.dfm}

procedure TForm12.BitBtn1Click(Sender: TObject);
begin
form12.Visible:=false;
form1.enabled:=true;
form1.visible:=true;
form12.enabled:=false;
end;

procedure TForm12.Button1Click(Sender: TObject);
begin
form12.Visible:=false;
form1.enabled:=true;
form1.visible:=true;
form12.enabled:=false;
end;

procedure TForm12.BitBtn2Click(Sender: TObject);
begin
if (edit1.Text<>'') and (edit2.Text<>'') and (edit3.text<>'') then begin
form12.Visible:=false;
form13.enabled:=true;
form13.visible:=true;
form12.enabled:=false;
end;
end;
end.

Последний раз редактировалось maksim97maksim; 09.06.2014 в 09:57. Причина: забыл
maksim97maksim вне форума Ответить с цитированием
Старый 09.06.2014, 11:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Заведи себе глобальную переменную, увеличиваемую в конце прохождения каждого теста. Т.е. всем radiogroup задай один и тот же обработчик
Код:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  if Cnt=10 then begin
    form14.label4.caption := 'Ваш результат  '+inttostr(n)+' баллов';
    form14.show;
    form13.Visible:=false;
    form14.enabled:=true;
    form14.visible:=true;
    form13.enabled:=false;
  end;
  inc(cnt);
end;
cnt - та самая переменка, считающая кол-во обработанных тестов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.06.2014, 14:22   #3
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Заведи себе глобальную переменную, увеличиваемую в конце прохождения каждого теста. Т.е. всем radiogroup задай один и тот же обработчик
Код:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  if Cnt=10 then begin
    form14.label4.caption := 'Ваш результат  '+inttostr(n)+' баллов';
    form14.show;
    form13.Visible:=false;
    form14.enabled:=true;
    form14.visible:=true;
    form13.enabled:=false;
  end;
  inc(cnt);
end;
cnt - та самая переменка, считающая кол-во обработанных тестов.
Как то у меня не выходит, немогу вписать эту самую Cnt переменную, пожалуйсто напиши как правельно.
maksim97maksim вне форума Ответить с цитированием
Старый 09.06.2014, 14:43   #4
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
немогу вписать эту самую Cnt переменную, пожалуйсто напиши как правельно.
А поиском пользоваться тоже не можешь? Или не хочешь?
doktor255 вне форума Ответить с цитированием
Старый 09.06.2014, 15:22   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
немогу вписать эту самую Cnt переменную
Ай-яй-яй... Майор военкомата смотрит на тебя с улыбкой.
Лови:
Код:
var cnt:integer;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.06.2014, 18:35   #6
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ай-яй-яй... Майор военкомата смотрит на тебя с улыбкой.
Лови:
Код:
var cnt:integer;
Блин так же и писал только с попракой vir ))) Перелапатил весь код блин )
СПАСИБО
Можешь ли подсказать по 2 проблеме ?
maksim97maksim вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему. Nikromantik Общие вопросы C/C++ 9 12.02.2014 22:39
ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ !!!!!!!!!!!! ЛиЛу Помощь студентам 5 29.12.2008 15:36
Помогите решить проблему nismo Microsoft Office Excel 7 12.09.2008 08:59
помогите решить проблему 1234 Общие вопросы Delphi 2 04.07.2008 11:52
помогите решить проблему ... alexey7 Microsoft Office Excel 2 16.10.2007 13:25