Иллюстрированный самоучитель по C++ Builder

Текст программы

void __fastcall TForml::ButtonlClick(TObject *Sender)
{
bool ok; // результат чтения из файла очередного вопроса
switch (Buttonl-XTag) {
case 0: // щелчок на кнопке ОК в начале работы программы
// прочитать и вывести первый вопрос GetVopros(SVopros);
ShowVopros(Vopros);
Buttonl › Caption = "Дальше";
 Buttonl › Enabled = false;
Button1 › Tag = 1; break;
case 1: // щелчок на кнопке Дальше
if (otv == Vopros.rOtv) // выбран правильный ответ
right++; EraseVopros(}; ok = GetVopros(SVopros); if (ok)
ShowVopros(Vopros); else
// вопросов больше нет {
FileClose(f);
// вывести результат
AnsiString st; // сообщение
int i; // номер достигнутого уровня
Form1 › Caption = "Результат тестирования";
st.printf("Правильных ответов: %i\n",right);
// определим оценку
i = 0; // предположим, что испытуемый
// ответил на все опросы while 
((right < level[i]) && (i < 3)) i++;
st = st + mes[i]; Labell › Caption = st;
Button1 › Caption = "OK";
Buttonl › Enabled = true;
Buttonl › Tag =2; } break;
case 2: // щелчок на кнопке OK в конце работы программы
Form1 › Close(}; // завершить работу программы } }
// Функция GetString читает строку из файла
// значение функции – количество прочитанных символов
int GetString(int f, AnsiString *st)
{
unsigned char buff[300]; // строка (буфер)
unsigned char *p = buf; 
// указатель на строку
int n;
 // кол-во прочитанных байт (значение функции FileRead)
int len =0; // длина строки
n = FileRead(f, p, 1);
while (n!= 0)
{
if (*p == '\r')
{
n = FileRead(f, p, 1); // прочитать '\n' break;
}
len++;
P++;
n = FileRead(f, p, 1); }
*p = '\0'; if (len!=0)
st › printf("%s", buf); return len;
}
// читает из файла целое число
int Getlnt(int f)
{
char buf[20]; // строка (буфер)
char *p = buf; // указатель на строку
int n;// кол-во прочитанных байт (значение функции FileRead)
int a; // число, прочитанное из файла
n = FileRead(f, p, 1);
while ((*p >= '0') (*p <= '9') && (n > 0))
{
P++;
n = FileRead(f, p, 1); }
if (*p == '\r')
n = FileRead(f, p, 1)
 // прочитать '\n'
*p = '\0';
// изображение числа в буфере, преобразуем 
строку в целое sscanf(buf,"%i", &a);
return a;
}

Как было сказано ранее, объявление массива компонентов не создает компоненты, а только устанавливает факт их существования. Создает и настраивает компоненты RadioButton конструктор формы (функция TForm1::TForm1). Непосредственное создание компонента (элемента массива) выполняет оператор:

RadioButton[i] = new TRadioButton(Forml)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.