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.