![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пишу тест на делфи [D7]
Дмитрий © (2013-04-23 14:52:00)здравствуйте, помогите пожалуйста, я не знаю какой код нужно чтобы результаты тестов с каждой формы отображались на результативной форме
Anatoly Podgoretsky (2013-04-26 11:20:00) [1]Пора его протестировать на профпригодность
clickmaker (2013-04-25 19:10:00) [2]> у меня задание такое 5 вариантов в каждом по 15 вопросов,
> и каждый вопрос на отдельной форме
PageControl с 15 табшитами на вопросы + 1 табшит на результаты
Ega23 (2013-04-24 07:33:00) [3]
> Дмитрий (23.04.13 15:56) [14]
>
> Ega23 © Мне нужно создать цифровой образовательный ресурс
> для среза знаний по МДК ТРПО "технологии разработки программного
> обеспечения"
В этом тексте ничего не сказано про 15 разных форм.
Kilkennycat (2013-04-23 17:47:00) [4]
> O'ShinW © (23.04.13 15:42) [8]
> одна форма вызывает вторую с параметрами
чувствуются веб-программист :)
O'ShinW (2013-04-23 16:59:00) [5]ты ж писал
> procedure TForm2.BitBtn1Click(Sender: TObject);
> begin
> Form2.Hide;
> Form3.ShowModal;
> end;
ну и также
> if form_ТЕКУЩАЯ.radiobutton1.checked
then
Form_ПОСЛЕДНЯЯ.MEMO1.lines.add(
Дмитрий (2013-04-23 16:45:00) [6]O'ShinW © как? я не пойму никак
O'ShinW (2013-04-23 16:39:00) [7]
> как можно по моему коду это сделать
обратиться к другой форме можно
formX.
и передавай туда что хочешь
brother (2013-04-23 16:19:00) [8]яб советовал переписать, там кода то...
Дмитрий (2013-04-23 16:18:00) [9]O'ShinW © как я пишу так получаеться визуально красиво, фон и все дела..
я вписал уже все вопросы и варианты, мне осталось их соеденить в результате.. как можно по моему коду это сделать?
O'ShinW (2013-04-23 16:06:00) [10]
> а нельзя чтобы:
можно.
Но это плохо. Каждую форму вынужден создавать руками.
А что будет, если захочешь добавить/ удалить вопрос? Опять создавать?
> задействована 1 форма. на которой всплывающиеся окна?
да
Вопрос один, больше-то не нужно.
Ответов переменное кол-во.
Можно вообще все (в файл, текстовый) вынести, и если захотим добавит/удалить вопрос, не надо ничего переписывать
Надо просто отредактировать данные (файл, текстовый)
Плохиш (2013-04-23 16:04:00) [11]
> я не знаю какой код нужно
> Мне нужно создать цифровой образовательный ресурс для среза
> знаний по МДК ТРПО "технологии разработки программного обеспечения"
Ты уже "среза"-лся...
Дмитрий (2013-04-23 15:56:00) [12]Ega23 © Мне нужно создать цифровой образовательный ресурс для среза знаний по МДК ТРПО "технологии разработки программного обеспечения"
brother (2013-04-23 15:53:00) [13]я думаю ты не так понял препода)
Дмитрий (2013-04-23 15:53:00) [14]O'ShinW © а нельзя чтобы:
if RadioButton1.Checked=True then
BitBtn1.Enabled:=true;
выбранный RadioButton переходил на memo и говорил правильно или не правильно
по вашему коду получается задействована 1 форма. на которой всплывающиеся окна?
Ega23 (2013-04-23 15:51:00) [15]
> такое вот задание....я не знаю
Приведи полный текст задания. Только действительно полный текст, без отсебятины.
Дмитрий (2013-04-23 15:49:00) [16]такое вот задание....я не знаю
brother (2013-04-23 15:43:00) [17]> и каждый вопрос на отдельной форме
еще раз, зачем?
O'ShinW (2013-04-23 15:42:00) [18]у тебя плохо.
в [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;
и т.п.
Дмитрий (2013-04-23 15:31:00) [19]я что то не понял у меня все выглядит так :
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:24:00) [20]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;