
Компіляція і запуск програми
Для компіляції програми з подальшим її виконанням можна натиснути клавішу <F9>, клацнути на кнопці Run панелі інструментів або виконати команду меню Run Run.
П
ри
спробі відкомпілювати програму з'явиться
повідомлення про те, що форма Forml
посилається на форму Form2, оголошену в
модулі Lucky2, і що необхідно додати
посилання на цей модуль в розділ uses.
Якщо в цьому вікні натиснути кнопку Yes, то в розділ реалізації (implementation) програмного модуля Luckyl.pas буде автоматично додана відповідна посилання:
Implementation
uses Lucky2;
Реалізуємо функціональність підказок. Для цього вийдіть з програми і поверніться в середовище Delphi.
Так, підказки типу "Дзвінок другу" і "Допомога залу" будуть просто видавати вікно з правильною відповіддю. Серед підказок щодо реалізації найскладніша - "50 на 50". Почнемо з неї:
Створіть oбpобник події OnClick для компонентів yes50:
procedure TForml.yes50Click (Sender: TObject);
begin:
yes50.Visible: = False; // прибираємо підказку
no50.Visible: = True; // показуємо малюнок, який повідомляє, що підказка вже використана
win: = TIniFile.Create ('ss');
if anl.Caption <>
win.ReadString ('Answers', IntToStr (a), anl.Caption)
then begin // перевіряємо: якщо перший варіант, то це - неправильний варіант відповіді
anl.Enabled: = False; // прибираємо його
pd: = pd + 1; // збільшуємо лічильник прибраних варіантів
end;
if an2.Caption <>
win.ReadString ('Answers', IntToStr (a), an2.Caption)
then begin
an2.Enabled: = False;
pd: = pd + 1;
end;
if pd = 2
then
// Якщо два перші варіанти і є неправильні, то нема чого перевіряти далі
ShowMessage ('Тепер ви повинні вибрати з цих' +
'Двох варіантів!')
else begin
if аn3.Caption <>
Win.ReadString ('Answers', IntToStr (a), anl.Caption)
then begin
an3.Enabled: = False; pd: = pd + 1;
end;
if pd <> 2 then
// Якщо ми дійшли до 4 варіанти, а лічильник не дорівнює 2,
an4.Enabled: = False; // то прибираємо і четвертий варіант
end;
win.Free;
end;
Тепер розглянте подію OnClick для компонента yesZal:
procedure TForml.yesZalClick (Sender: TOtrject);
begin
yesZal.Visible: = False;
noZal.Visible: = True;
win: = TIniFile.Create (ss);
ss: = win.ReadString ('Answers', IntToStr (a), anl.Caption);
ShowMessage ("Зал переконаний, що правильна відповідь - '+ ss);
win.Free;
end;
З "дзвінком другу" все те ж саме, тільки потрібно підставити відповідні змінні:
procedure TForml.yesZvonokClick (Sender: TObject);
begin
yesZvonok.Visible: = False; noZvonok.Visible: = True;
win: = TIniFile.Create (ss);
ss: = win.ReadString ('Answers', IntToStr (a), anl.Caption);
ShowMessage ('Друг переконаний, що правильна відповідь -' + ss);
win.Free;
end;
Тепер необхідно зробити так, щоб щось відбувалося, коли користувач намагається скористатися підказкою кілька разів. Отже, подія OnClick для компонента no50, noZal, noZvonok:
procedure TForml.no50Click (Sender: TObject);
begin
MessageDlg ('Ви вже скористалися цією підказкою!'
mtError, [mbok], 0);
end;
procedure TForml.noZvonokClick (Sender: TObject);
begin
MessageDlg ('Ви вже скористалися цією підказкою!',
mtError, [mbok], 0);
end;
procedure TForml.noZalClick (Sender: TObject);
begin
MessageDlg ('Ви вже скористалися цією підказкою!',
mtError, [mbok], 0);
end;