Чтение онлайн

на главную - закладки

Жанры

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

Memo1.Text:= Win.ReadString('Q', IntToStr(a), Memo1.Text);

an3.Caption:= Win.ReadString('A', IntToStr(a), an3.Caption);

an2.Caption:= Win.ReadString('W1', IntToStr(a), an2.Caption);

an1.Caption:= Win.ReadString('W2', IntToStr(a), an1.Caption);

an4.Caption:= Win.ReadString('W3', IntToStr(a), an4.Caption);

Win.Free;

yes:= an3.Caption;

end;

 4:

begin

Win:= TIniFile.Create(dir2);

Memo1.Text:= Win.ReadString('Q', IntToStr(a), Memo1.Text);

an4.Caption:= Win.ReadString('A', IntToStr(a), an4.Caption);

an2.Caption:= Win.ReadString('Wl', IntToStr(a), an2.Caption);

an3.Caption:= Win.ReadString('W2', IntToStr(a), an3.Caption);

an1.Caption:= Win.ReadString('W3', IntToStr(a), an1.Caption);

Win.Free;

yes:= an4.Caption;

end;

 end;

end;

Здесь мы вначале запускаем процедуру выбора вопроса. Потом проверяем: какой вариант ответа является правильным. Затем считываем вопрос и варианты ответов к нему. Сортируем и отображаем все это на форме.

Обработчик события создания главной формы будет выглядеть следующим образом:

procedure TForm1.FormCreate(Sender: TObject);

begin

 Randomize;

 //получаем каталог, в котором находится наша программа

 dir:= GetCurrentDir;

 ss:= dir + '\comp.ini'; //путь к базе вопросов

 zz:= ss;

 start; //начинаем тест

end;

Теперь создадим обработчик события главной формы OnDestroy (возникает при выходе из программы):

procedure TForm1.FormDestroy(Sender: TObject);

begin

 DeleteFile('c:\base.bsd'); //удаляем расшифрованную базу

end;

Теперь обрабатываем команды меню. Обработчик события OnClick для пункта Игра→Заново:

procedure TForm1.N1Click(Sender: TObject);

begin

 Randomize;

 ss:= zz;

 start; //начало теста

end;

Поскольку у нас весь основной код вынесен в процедуры, теперь достаточно только вызвать процедуру начала игры.

Обработчик события OnClick для пункта меню Игра→Загрузить базу:

procedure TForm1.N2Click(Sender: TObject);

begin

 Randomize;

 //начинаем обзор с текущего каталога

 Open1.InitialDir:= GetCurrentDir;

 if not Open1.Execute then ShowMessage('Вы не выбрали файл!')

 else begin

ss:= Open1.FileName; //открываем выбранный файл

zz:= ss; //запоминаем путь к базе

start; //начинаем тест

 end;

end;

Здесь мы предлагаем пользователю выбрать через диалоговое окно обзора ini– или любой другой файл, в котором содержатся зашифрованные вопросы и варианты ответов. Когда пользователь выбрал файл, мы запускаем процедуру start и, тем самым, начинаем тест.

Обработчик события OnClick для пункта меню Игра→Выход:

procedure TForm1.N4Click(Sender: TObject);

begin

 Halt; //выход из программы

end;

Теперь обработаем щелчок мышью на панели p1:

procedure TForm1.p1Click(Sender: TObject);

begin

 Label1.Caption:= 'Второй вопрос:';

 verno; //принимаем вариант ответа

 p1.Visible:= False; //убираем первую панель

 р2.Visible:=True; //активизируем вторую панель

 vopr:= Random(4) +1; //выбираем случайный вариант ответа

 vars(vopr); //задаем вопрос

end;

Здесь мы вначале изменяем заголовок на "Второй вопрос:", после чего принимаем вариант ответа, выбранный пользователем, вызывая процедуру verno.

Поделиться:
Популярные книги

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Дважды одаренный. Том II

Тарс Элиан
2. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Дважды одаренный. Том II

Родословная. Том 1

Ткачев Андрей Юрьевич
1. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Родословная. Том 1

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12

Третий. Том 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 4

Обрыв

Гончаров Иван Александрович
Проза:
классическая проза
русская классическая проза
8.93
рейтинг книги
Обрыв

Феодал

Громов Александр Николаевич
Фантастика:
социально-философская фантастика
7.94
рейтинг книги
Феодал

Адвокат Империи 15

Карелин Сергей Витальевич
15. Адвокат империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Адвокат Империи 15

Мой муж – чудовище! Изгнанная жена дракона

Терин Рем
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мой муж – чудовище! Изгнанная жена дракона

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Хозяин теней 2

Демина Карина
2. Громов
Фантастика:
аниме
попаданцы
фэнтези
7.00
рейтинг книги
Хозяин теней 2

Звездная Кровь. Экзарх II

Рокотов Алексей
2. Экзарх
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Звездная Кровь. Экзарх II

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера