Текст программы
until buf [1]='.'; end; // масштабирование иллюстрации Procedure ScaleImage(Imagel:TImage); var w,h:integer; // максимально допустимые размеры картинки scaleX:real; // коэф. масштабирования по X scaleY:real; // коэф. масштабирования по Y scale:real; // общий коэф. масштабирования begin // вычислить максимально допустимые размеры картинки w: = Form1.ClientWidth-10; h: = Form1.ClientHeight – Form1.Panel1.Height – 5 – Form1.Label5.Top – Form1.Label5.Height – 5; if Form1.Label1.Caption <> '' then h: = h-Form1.Label1.Height-5; if Form1.Label2.Caption <> '' then h: = h-Form1.Label2.Height-5; if Forml.Label3.Caption <> '' then h: = h-Form1.Label3.Height-5; if Forml.Label4.Caption <> " then h: = h-Form1.Label4.Height-5; // определить масштаб if w>Imagel.Picture.Bitmap.Width then scaleX: = l else scaleX: = w/Imagel.Picture.Bitmap.Width; if h>Imagel.Picture.Bitmap.Height then scaleY: = l else scaleY: = h/Image1.Picture.Bitmap.Height; if ScaleY<ScaleX then scale: = scaleY else scale: = scaleX; // здесь масштаб определен Image1.Top: = Form1.Label5.Top+Form1.Labels.Height+5; Image1.Width: = Round(Image1.Picture.Bitmap.Width* scale); Image1.Height: = Round(Image1.Picture.Bitmap.Height*scale); end; // вывод вопроса на экран Procedure VoprosToScr(var f:TextFile;frm:TForm1;var vopros:integer) var i:integer; code:integer; s,buf:string; ifn:string; // файл иллюстрации begin vopros: = vopros+l; str(vopros:3,s); frm .caption: = 'Вопрос' + s; //выведем текст вопроса buf: = ''; repeat readln(f, s); if (s[l] <> '.') and (s[l] <>'\') then buf: = buf+s+' '; until (s[l] ='.') or (s[l] = '\'); frm .labels.caption: = buf; if s[1] <> '\' then Form1.Image1.Tag: = 0 else // к вопросу есть иллюстрация begin Form1.Image1.Tag: = 1; if n: = copy(s,2,length(s)); try Form1.Image1.Picture.LoadFromFile(ifn) except on E:EFOpenError do frm.tag: = 0; end; // try end; // читаем варианты ответов i: = l; repeat buf: = "; repeat // читаем текст варианта ответа readln(f,s); if (s[1]<>'. ') and (s[l] о ', ') then buf: = buf+s+' '; until (s[l]=',')or(s[1]='.'); // прочитан альтернативный ответ val(s[2],score[i],code); case i of 1: frm.Label1.caption: = buf; 2: frm.Label2.caption: = buf; 3: frm.Label3.caption: = buf; 4: frm.Label4.caption: = buf; end;