Усовершенствование программы
// установка формы в исходное состояние Procedure ResetForm(frm:TForm1); var i:integer; begin for i: = 1 to N_ANSWERS do begin answer[i].width: = frm.ClientWidth-answer[i].left-5; answer[i].Visible: = FALSE; Selector[i].Visible: = FALSE; end; frm. Label5.width: = frm.ClientWidth-frm.Label5.left-5; frm. Image1.Visible: = False; end; // определение достигнутого уровня procedure Itog(suirana:integer;frm:TForm1); var i:integer; buf:string; begin buf: = "; str(summa:5,buf); buf: = 'Результаты тестирования'+chr(13) +'Всего баллов: '+buf; i: = 1; while (summa < level[i]) and (i<N_LEVEL) do i: = i+l; buf: = buf+chr(13)+mes[i]; frm.Labels.caption: = buf; end; procedure TForm1.FormCreate(Sender: TObject); var i: integer; begin // создадим пять меток для вывода вопроса и альтернативных ответов for i: = l to N_ANSWERS do begin answer[i]: = TLabel.Create(self); answer[i].Parent: = Forml; answer[i].Left: = 36; answer[i].Wordwrap: = True; end; // создадим переключатели для выбора ответа for i: = l to N_ANSWERS+1 do begin selector[i]: = TRadioButton.Create(self); selector[i].Parent: = self; selector[i].Caption: = ''; selector[i].Width: = 17; selector[i].Left: = 16; selector[i].Visible: = False; selector[i].Enabled: = True; selector[i].OnClick: = SelectorClick; end; ResetForm(Forml); end; // вывод начальной информации о тесте procedure info(var f:TextFile;l:TLabel); var s,buf:string; begin buf: = ' '; repeat readln(f,s); if s[l]<>'.' then buf: = buf+s+' '; until s[l] ='.'; Form1.Labels.caption: = buf; end; // прочитать информацию об оценках за тест Procedure GetLevel(var f:TextFile); var i:integer; buf:string; begin // заполняем значения глобальных массивов i: = 1; repeat readln(f,buf); if buf[1] <> '.' then begin mes[i]: = buf; readln(f,level[i]); i: = i+1; end; until buf[1]='.'; end; // масштабирование иллюстрации Procedure ScalePicture; var w,h:integer; // максимально допустимые размеры картинки scaleX:real; // коэф. масштабирования по X scaleY:real; // коэф. масштабирования по Y scale:real; // общий коэф. масштабирования i:integer; begin // вычислить максимально допустимые размеры картинки w: = Form1.ClientWidth-Form1.Labels.Left; h: = Form1.ClientHeight – Form1.Panel1.Height – 5 – Form1.Label5.Top – Forml.Label5.Height – 5; for i: = 1 to N_ANSWERS do if answer[i].Caption <> '' then h: = h-answer[i].Height-5; // здесь определена максимально допустимая величина иллюстрации