Текст программы
bool GetVopros(TVopros *v) { AnsiString st; int p; // если р=1, то к вопросу есть иллюстрация if (GetStringtf, &(v › Vopr))!= 0) { // прочитать кол-во вариантов ответа, номер правильного ответа // и признак наличия иллюстрации v › nOtv = Getlnt(f); v › rOtv = Getlnt(f); p = Getlnt(f); if (p) // к вопросу есть иллюстрация GetString(f,&(v › Img)); else v › Img = ""; // читаем варианты ответа for(int i = 0;i < v › nOtv; i++) { GetString(f,&(v › 0tv[i])); } return true; } else return false; } // выводит вопрос void __fastcall TForml::ShowVopros(TVopros v) { int top; int i; // вопрос Labell › Width = ClientWidth – Labell › Left – 20; Labell › Caption = v.Vopr; Labell › AutoSize = true; if (v.Img!= //к вопросу есть иллюстрация { /* определим высоту области, которую можно использовать для вывода иллюстрации */ int RegHeight = Buttonl › Top – (Labell-ХГор + Labell › Height +10) // область вывода вопроса – (RadioButton[l] › Height + 10) * v.nOtv; Image1 › Top = Labell › Top + Labell › Height + 10; // загрузим картинку и определим ее размер Image1 › Visible = false; Image1 › AutoSize = true; Image1 › Picture › LoadFromFile(v.Img); if (Imagel › Height > RegHeight) // картинка не помещается ( Image1 › AutoSize = false; Imagel › Height = RegHeight; Imagel › Proportional = true;) Image1 › Visible = true; // положение полей отсчитываем от иллюстрации top = Imagel-ХГор + Imagel › Height + 10;) else // положение полей отсчитываем от вопроса top = Labell-ХГор + Labell › Height + 10; // варианты ответа for (i =0; i < v.nOtv; i++) { RadioButton[i] › Top = top; RadioButton[i] › Caption = v.0tv[i]; RadioButton[i] › Visible = true; RadioButton[i] › Checked = false; top += 20; } } // щелчок на радиокнопке выбора ответа void__fastcall TForml::RadioButtonClick(TObject *Sender) { int 1=0; while (! RadioButton[i] › Checked) 1++; otv = 1+1; // ответ выбран, сделаем доступной кнопку Дальше Buttonl › Enabled = true; } // удаляет вопрос с экрана void __fastcall TForml::EraseVopros(void) { Imagel › Visible = false; // скрыть поле вывода иллюстрации // скрыть поля выбора ответа for (int i=0; i <4; i++) ( RadioButton[i] › Visible = false; RadioButton[i] › Checked = false; } Button1 › Enabled = false; // сделать недоступной кнопку Дальше } // щелчок на кнопке ОК/Дальше/ОК