русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Проект «Исторические даты»


Дата добавления: 2014-11-27; просмотров: 666; Нарушение авторских прав


Постановка задачи. Создайте тест для проверки задания исторических дат. Проект является примером использования компонента TRadioGroup.

Реализация. Положите на форму один компонент TRadioGroup, две надписи, один компонент TListBox для хранения вопросов (сделайте его невидимым) и одну кнопку. Результат работы приведен на рис. 45.

 

Рис. 45. Проект «Исторические даты»

Так как вариантов ответа по три на каждый вопрос, то для простоты скопируем их из файла в массив строк otv. А в массив чисел prav_otv перепишем из файла номера правильных ответов. Код всех обработчиков приведен полностью.

Глобальные данные:

 

const n = 10; // Общее число вопросов в файле

type mas = array[0..3*n-1] of string;

mas1 = array[0..n-1] of integer;

var otv : mas; // На каждый вопрос три ответа

prav_otv : mas1;

nomer, k : integer;

 

procedure TForm1.FormCreate(Sender: TObject);

var i:integer; f:textfile;

begin

ListBox1.Items.LoadFromFile('Вопрос.txt');

ListBox1.Visible:=false;

i:=0;

nomer:=0; // Номер вопроса

Label1.Caption:=ListBox1.Items[nomer];

AssignFile(f,'Ответ.txt');

Reset(f);

while not eof(f) and (i<=3*n-1) do

begin

readln(f,otv[i]);

i:=i+1;

end;

CloseFile(f);

i:=0;

AssignFile(f,'Прав_ответы.txt');

Reset(f);

while not eof(f) and (i<=n-1) do

begin

readln(f,prav_otv[i]);

i:=i+1;

end;

CloseFile(f);

// Заполним поля у кнопок для вопроса с номером 0

for i:=0 to 2 do

RadioGroup1.Items[i]:=otv[i];

k:=3;

end;

 

procedure TForm1.RadioGroup1Click(Sender: TObject);

var i:integer;

begin

case RadioGroup1.ItemIndex of

0: i:=1;

1: i:=2;

2: i:=3;

end;

if i= prav_otv[nomer] then

Label2.Caption:= 'Правильно'

else

Label2.Caption:= 'Неправильно'

end;

 

procedure TForm1.Button1Click(Sender: TObject);



var i:integer;

begin

Label2.Caption:='';

RadioGroup1.ItemIndex:=-1; // Воостанавливаем кнопки

nomer:=nomer+1; // Следующий вопрос

if nomer=n then

begin

ShowMessage('Вопросы закончились');

Form1.Close;

End

else

begin

for i:=0 to 2 do

begin

RadioGroup1.Items[i]:=otv[k];

k:=k+1;

end;

// Копируем следующий вопрос в надпись Label1

Label1.Caption:=ListBox1.Items[nomer];

end;

end;

 

Задание 1. Усовершенствуйте проект так, чтобы нельзя было исправлять свой выбор, т. е. на каждый вопрос можно отвечать только один раз.

 

Задание 2. Дополните проект картинками, иллюстрирующими вопрос.


 



<== предыдущая лекция | следующая лекция ==>
Тест «Знаете ли вы загадки?» | Просмотр текстовых файлов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.87 сек.