Смекни!
smekni.com

Разработка тестового приложения Компоненты меню Delphi (стр. 5 из 5)

then buf:=buf+s+' ';

until (s[1]=',')or(s[1]='.');

// прочитан альтеративный ответ

val(s[2],score[i],code);

answer[i].caption:=buf;

i:=i+1;

until s[1]='.';

Продолжение приложения 1

// здесь прочитана иллюстрация и альтернативные ответы

if Form1.Image1.Tag =1 // есть иллюстрация ?

then begin

ScalePicture;

Form1.Image1.Visible:=True;

end;

// вывод альтернативных ответов

i:=1;

while (answer[i].Caption <> '') and (i <= N_ANSWERS) do

begin

if i = 1

then

if frm.Image1.Tag =1

then answer[1].Top:=frm.Image1.Top+frm.Image1.Height+5

else answer[i].top:=frm.Label5.Top+frm.Label5.Height+5

else

answer[i].top:=answer[i-1].top+answer[i-1].Height+5;

selector[i].top:=answer[i].top;

selector[i].Visible:=true;

answer[i].Visible:=true;

i:=i+1;

end;

end;

{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);

begin

ResetForm(Form1);

if ParamCount = 0

then

begin

Продолжение приложения 1

Label5.font.color:=clRed;

Label5.Font.Size:=12;

Label5.caption:='Не обнаружено файла вопросов теста.';

Button1.Caption:='Выход';

Button1.Tag:=2;

Button1.Enabled:=true;

end

else begin

fn:=ParamStr(1);

assignfile(f,fn);

{$I-}

reset(f);

{I+}

if IOResult=0 then

begin

Info(f,Label5);

GetLevel(f);

end;

summa:=0;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

case Button1.tag of

0: begin

Button1.caption:='Далее';

Button1.tag:=1;

Selector[N_ANSWERS+1].Checked:=true;

// вывод первого вопроса

Button1.Enabled:=false;

Продолжение приложения 1

ResetForm(Form1);

VoprosToScr(f,Form1,vopros)

end;

1: begin // вывод остальных вопросов

summa:=summa+score[otv];

Selector[N_ANSWERS+1].Checked:=true;

Button1.Enabled:=false;

ResetForm(Form1);

if not eof(f)

then VoprosToScr(f,Form1,vopros)

else

begin

closefile(f);

Button1.tag:=2;

Button1.caption:='Выход';

Button1.Enabled:=true;

Itog(summa,Form1);

end;

end;

2: begin // завершение работы

Form1.Close;

end;

end;

end;

// щёлчок на кнопке выбора ответа

Procedure TForm1.SelectorClick(Sender: TObject);

var

i:integer;

begin

i:=1;

Продолжение приложения 1

while Selector[i].Checked = false do

i:=i+1;

otv:=i;

Button1.enabled:=true;

end;

procedure TForm1.About1Click(Sender: TObject);

begin

AboutBox.ShowModal;

end;

procedure TForm1.Save1Click(Sender: TObject);

begin

savedialog1.Execute; // сохранение данных

memo1.Lines.SaveToFile(savedialog1.FileName);

end;

procedure TForm1.Contents1Click(Sender: TObject); //Вывод справки

const

HELP_TAB = 15;

INDEX_ACTIVE = 10;

CONTENTS_ACTIVE = 5;

Help_CONTENS = 10;

begin

Application.HelpCommand(HELP_TAB, INDEX_ACTIVE);

Application.HelpCommand(HELP_TAB, CONTENTS_ACTIVE);

end;

procedure TForm1.N1Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Продолжение приложения 1

x:=x+0.1;

Label2.Left:=60+trunc(60*cos(x));

Label2.Top:=65-trunc(15*sin(x));

end;

end.