Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.02.23;
Скачать: CL | DM;

Вниз

Пишу тест на делфи   Найти похожие ветки 

 
Дмитрий   (2013-04-23 14:52) [0]

здравствуйте, помогите пожалуйста, я не знаю какой код нужно чтобы результаты тестов с каждой формы отображались на результативной форме


 
O'ShinW ©   (2013-04-23 15:02) [1]

У вас по форме на вопрос?! :)


 
Дмитрий   (2013-04-23 15:06) [2]

да на каждую форму 1 вопрос, и вот при выборе варианта ответа всё должно переходить на последнюю форму


 
Kilkennycat ©   (2013-04-23 15:10) [3]

ничего не должно переходить.
на первой форме варианты ответов:
radiobutton1
radiobutton2
на второй форме варианты ответов:
radiobutton1
radiobutton2
на последней форме результат теста:

if (not form1.radiobutton1.checked) or (not form2.radiobutton1.checked) then showmessage("Учи мотать портянки - тебя ждет стройбат");


 
brother ©   (2013-04-23 15:16) [4]

достаточно 1й формы!


 
Дмитрий   (2013-04-23 15:21) [5]

у меня задание такое 5 вариантов в каждом по 15 вопросов, и каждый вопрос на отдельной форме, и мне нужно чтоб с каждой формы на результативную форму где находиться Memo выводил вариант №.. Вопрос №.. правильно или не правильно


 
O'ShinW ©   (2013-04-23 15:24) [6]

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private     { Private declarations }
 public      { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessageFmt(" %d", [MyShow("2+2=?",["4","5","6" ])]);
 ShowMessageFmt(" %d", [MyShow("2+2=?",["er","eeer","df" ])]);

==========

type
 TForm2 = class(TForm)
   ComboBox1: TComboBox;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private    { Private declarations }
 public     { Public declarations }
 end;

var
 Form2: TForm2;
 function MyShow(Q: string; A: array of string): integer;
implementation
{$R *.dfm}

function MyShow(Q: string; A: array of string): integer;
var
 i: Integer;
begin
 Form2 := TForm2.Create(Application);
 Form2.Caption := Q;
 for i := 0 to High(A) do
 begin
   Form2.ComboBox1.Items.Add(A[i]);
 end;
 Result := Form2.ShowModal;
 FreeAndNil(Form2);
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
 ModalResult :=  ComboBox1.ItemIndex + 1;
end;


 
Дмитрий   (2013-04-23 15:31) [7]

я что то не понял у меня все выглядит так :
unit Unit2;

interface

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

type
 TForm2 = class(TForm)
   MainMenu1: TMainMenu;
   N2: TMenuItem;
   N6: TMenuItem;
   BitBtn1: TBitBtn;
   Image1: TImage;
   Label1: TLabel;
   XPManifest1: TXPManifest;
   Label2: TLabel;
   RadioButton1: TRadioButton;
   RadioButton2: TRadioButton;
   RadioButton3: TRadioButton;
   Label3: TLabel;
   Label4: TLabel;
   Label5: TLabel;
   procedure BitBtn1Click(Sender: TObject);
   procedure RadioButton1Click(Sender: TObject);
   procedure RadioButton2Click(Sender: TObject);
   procedure RadioButton3Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation

uses Unit6, Unit3, Unit1;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
Form2.Hide;
Form3.ShowModal;
end;

procedure TForm2.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.Checked=True then
BitBtn1.Enabled:=true;
end;
procedure TForm2.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.Checked=True then
BitBtn1.Enabled:=true;
end;

procedure TForm2.RadioButton3Click(Sender: TObject);
begin
if RadioButton3.Checked=True then
BitBtn1.Enabled:=true;
end;

end.


 
O'ShinW ©   (2013-04-23 15:42) [8]

у тебя плохо.

в [6]
одна форма вызывает вторую с параметрами
function MyShow(Q: string; A: array of string): integer;
Q: string - вопрос
A: array of string - ответы
возвращается номер выбранного в комбобоксе ответа (можно радио-группу создать, как нравится )

и далее, перечисляем все вопросы
ShowMessageFmt(" %d", [MyShow("2+2=?",["4","5","6" ])]);
ShowMessageFmt(" %d", [MyShow("34343+2=?",["er","eeer","df" ])]);

или
if MyShow("2+2=?",["4","5","6" ]) = 1  then
 // правильно ответили
 Test_PUS_1 := Test_PUS_1  +1;

if MyShow("много+много=?",["4","5","очень много" ]) = 3  then
 // правильно ответили
 Test_PUS_1 := Test_PUS_1  +1;
и т.п.


 
brother ©   (2013-04-23 15:43) [9]

> и каждый вопрос на отдельной форме

еще раз, зачем?


 
Дмитрий   (2013-04-23 15:49) [10]

такое вот задание....я не знаю


 
Ega23 ©   (2013-04-23 15:51) [11]


> такое вот задание....я не знаю


Приведи полный текст задания. Только действительно полный текст, без отсебятины.


 
Дмитрий   (2013-04-23 15:53) [12]

O"ShinW © а нельзя чтобы:
if RadioButton1.Checked=True then
BitBtn1.Enabled:=true;
выбранный RadioButton переходил на memo и говорил правильно или не правильно
по вашему коду получается задействована 1 форма. на которой всплывающиеся окна?


 
brother ©   (2013-04-23 15:53) [13]

я думаю ты не так понял препода)


 
Дмитрий   (2013-04-23 15:56) [14]

Ega23 © Мне нужно создать цифровой образовательный ресурс для среза знаний по МДК ТРПО "технологии разработки программного обеспечения"


 
Плохиш ©   (2013-04-23 16:04) [15]


> я не знаю какой код нужно


> Мне нужно создать цифровой образовательный ресурс для среза
> знаний по МДК ТРПО "технологии разработки программного обеспечения"

Ты уже "среза"-лся...


 
O'ShinW ©   (2013-04-23 16:06) [16]


> а нельзя чтобы:

можно.
Но это плохо. Каждую форму вынужден создавать руками.
А что будет, если захочешь добавить/ удалить вопрос? Опять создавать?


>  задействована 1 форма. на которой всплывающиеся окна?

да
Вопрос один, больше-то не нужно.
Ответов переменное кол-во.
Можно вообще все (в файл, текстовый) вынести, и если захотим добавит/удалить вопрос, не надо ничего переписывать
Надо просто отредактировать данные (файл, текстовый)


 
Дмитрий   (2013-04-23 16:18) [17]

O"ShinW © как я пишу так получаеться визуально красиво, фон и все дела..
я вписал уже все вопросы и варианты, мне осталось их соеденить в результате.. как можно по моему коду это сделать?


 
brother ©   (2013-04-23 16:19) [18]

яб советовал переписать, там кода то...


 
O'ShinW ©   (2013-04-23 16:39) [19]


> как можно по моему коду это сделать

обратиться к другой форме можно
formX.
и передавай туда что хочешь


 
Дмитрий   (2013-04-23 16:45) [20]

O"ShinW © как? я не пойму никак


 
O'ShinW ©   (2013-04-23 16:59) [21]

ты ж писал

> procedure TForm2.BitBtn1Click(Sender: TObject);
> begin
> Form2.Hide;
> Form3.ShowModal;
> end;


ну и также

> if form_ТЕКУЩАЯ.radiobutton1.checked

then
Form_ПОСЛЕДНЯЯ.MEMO1.lines.add(


 
Kilkennycat ©   (2013-04-23 17:47) [22]


> O"ShinW ©   (23.04.13 15:42) [8]

> одна форма вызывает вторую с параметрами

чувствуются веб-программист :)


 
Ega23 ©   (2013-04-24 07:33) [23]


> Дмитрий   (23.04.13 15:56) [14]
>
> Ega23 © Мне нужно создать цифровой образовательный ресурс
> для среза знаний по МДК ТРПО "технологии разработки программного
> обеспечения"


В этом тексте ничего не сказано про 15 разных форм.


 
clickmaker ©   (2013-04-25 19:10) [24]

> у меня задание такое 5 вариантов в каждом по 15 вопросов,
> и каждый вопрос на отдельной форме

PageControl с 15 табшитами на вопросы + 1 табшит на результаты


 
Anatoly Podgoretsky ©   (2013-04-26 11:20) [25]

Пора его протестировать на профпригодность



Страницы: 1 вся ветка

Текущий архив: 2014.02.23;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.008 c
2-1367219961
Евдоким
2013-04-29 11:19
2014.02.23
В потоке проверка MainForm.Enabled возвращает неверное значение.


15-1379023229
Мишаня
2013-09-13 02:00
2014.02.23
Всех с Днем программиста!


2-1367687378
clix
2013-05-04 21:09
2014.02.23
pagecontrol и tabcontrol посоветуйте


15-1378532362
Мишаня
2013-09-07 09:39
2014.02.23
Прога для VoIP Viber отзывы


15-1378645854
localhost
2013-09-08 17:10
2014.02.23
InterBase XE3 или FireBird 2.5?