Експлуатація систем обробки інформації та прийняття рішень
SpeedButton2. caption:='Next' (залежіть від мови); flat:=true; Подія OnClick, в якій відкривається шоста (четверта форма), та закривається третя (друга). Unit6. ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались. Unit5. ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми… Читати ще >
Експлуатація систем обробки інформації та прийняття рішень (реферат, курсова, диплом, контрольна)
Міністерство освіти і науки України Сумський державний університет
Машинобудівний коледж
КУРСОВА РОБОТА
З предмету «Основи програмування та алгоритмічні мови»
СПЕЦІАЛЬНІСТЬ 5.80 406
«Експлуатація систем обробки інформації та прийняття рішень»
Зміст
1. Постановка задачі
2. Аналіз проекту
3. Практична реалізація
3.1 Опис структури даних та вимоги до них
3.2 Опис процедур і функцій користувача
3.3 Опис стандартних процедур і функцій, які використовувались в програмі
3.4 Опис файлів та їх призначення
3.5 Результати роботи програми
4. Інструкція для роботи з програмою
Висновок
Література
Додаток А. Лістинг модуля unit1
1 Постановка задачі
Створити GameBox, який включає в себе дві гри, судоку та пятнашки. В програмі передбачити:
Вибір мови, та ввід псевдоніму користувача для подальшого виконання програми.
Вивід інструкції гри яку обрав користувач.
Можливість слідкувати за своїм прогресом в грі. За допомогою таймера — в судоку, лічильника ходів — в пятнашках.
Поздоровлення з перемогою в грі.
2 Аналіз проекту
програма гра файл
Проект складається з шести форм Form1, Form2, Form3, Form4, Form5, Form6.
Компоненти розміщені на першій формі FORM1:
1. Label1 — Chose a language.
2. Label2 — Оберіть мову.
3. Label3 — Выберите язык.
4. Label4 — Waehle Sprache.
5. Label5 — Please, type your nickname here.
6. Label6. Caption:= Nickname +', оберіть гру.' або + ', what game would you like to play?' або +', выбирайте игру.' або ', erwaehle Spiel.' (в залежності від обраної мови).
7. Edit1 — чисте поле.
8. SpeedButton1, flat:=true; Caption:='15'; Подія OnClick, в якій перша форма зникає і відкривається друга.
9. SpeedButton2, flat:=true; Caption:='SUDOKU'; Подія OnClick, в якій перша форма зникає і відкривається третя.
10. SpeedButton3, flat:=true; OnClick, в якій завершуємо виконання програми.
11. SpeedButton4, flat:=true; OnClick, в якій оновлюємо програму.
12. ListBox1. Подія OnClick, в якій змінюємо імена інших компонентів програми, в залежності від мови.
13. Image1. LoadFromFile (`1.jpg').
Компоненти розміщені на другій та третій формах FORM2 та FORM3:
1. Image1. LoadFromFile (`3.jpg').
2. SpeedButton1. caption:='close' (залежіть від мови); flat:=true; Подія OnClick, в якій закриваємо третю (другу) форму та робимо видимою першу .
3. SpeedButton2. caption:='Next' (залежіть від мови); flat:=true; Подія OnClick, в якій відкривається шоста (четверта форма), та закривається третя (друга).
4. Label1. сaption:=' (залежіть від мови'), align:=altop.
Компоненти розміщені на четвертій формі FORM4:
1. FFF1 — Сaption:='Game'(в залежності від вибору мови зміниться на іншомовне відповідне).
2. New1 — Caption:='New'(в залежності від вибору мови зміниться на іншомовне відповідне).
3. Close1 — Caption:='Close'(в залежності від вибору мови зміниться на іншомовне відповідне).
4. Rules1 — Caption:='Rules'(зміниться на псевдонім користувача в після його введення).
5. your — Caption:=''(в залежності від вибору мови зміниться на напис «ваші очки» вибраною мовою).
6. count — Caption:=''(відображатиме кількість зроблених ходів).
Компоненти розміщені на пятій формі FORM5:
1. Labe1. caption:='Congtratilation' (залежіть від мови);
2. Labe2. caption:='…' (набрані бали в пятнашках, або час проходження судоку).
3. Labe5. caption:=' (пояснення вмісту компонента Labe2)' (залежыть выд мови).
4. SpeedButton1. caption:='Close' (залежить від мови); Подія OnClick, в якій закриваємо 5 форму і відкриваємо четверту (шосту).
5. Image1. LoadFromFile (`5.jpg').
Компоненти розміщені на шостій формі FORM6:
1. Edit1−81 — чисте поле; maxlength:=1;
2. Label1−3.caption:='00' (змінюється з часом).
3. ListBox1 — вибір складності.
4. SpeedButton1. caption:='Start' (залежить від мови); Подія OnClick, в якій запускаємо таймер, генеруємо масив судоку.
5. Timer1. Подія Timer, в якій відраховується час, перевіряється правильність введення судоку.
3. Практична реалізація
3.1.Опис структури даних та вимоги до них
Змінні першої форми :
o Form1: TForm1 — форма типу TForm1.
o nickname: string; - передає псевдонім користувача.
o warningnick: string; - містить повідомлення про пусте значення нікнейму.
o ruleslanpi: string; - містить текст правил гри пятнашки вибраною мовою.
o ruleslansu: string; - містить текст правил гри судоку вибраною мовою.
o buttonlan: string; містить заголовок кнопок «Далі» вибраною мовою.
o menulan1: string; menulan2: string; menulan11: string; menulan12: string; заповняють заголовки головного меню гри пятнашки.
o resultban: string; - містить поздоровлення з успішним закінченням гри вибраною мовою.
o yscores: string; - містить напис «Ваші очки» вибраною мовою.
o syddifflow: string; syddiffmed: string; syddiffhig: string; - містять назви рівнів складності для гри судоку обраною мовою.
Форма 4 містить такі константи
o H = 4; W = 4; - розміри поля (в кількості клітинок).
o CellH = 64; CellW = 64; - розміри поля (в пікселях).
Форма 4 містить такі змінні :
o Form4: TForm4; - форма типу TForm1.
o movecount: word; - містить кількість зроблених користувачем ходів.
o stp: array[1.H, 1. W] of byte =((1, 2, 3, 4),(5, 6, 7, 8),(9,10,11,12),(13,14,15, 0)); - масив який показує правильне розміщення фішок.
o pole: array[1.H, 1. W] of byte; - масив який відображає ігрове поле.
o ex, ey: integer; - координати пустої клітинки.
o i, j: integer; - допоміжні змінні для масивів.
o x, y: integer; - координати виводу тексту в клітинці.
o x1, y1: integer; - координати пустої клітинки.
o x2, y2: integer; - координати клітинки яка буде переміщена в пусту.
o d: integer; - напрямок клітинки яка буде переміщена в пусту відносно пустої.
o cx, cy: integer; - координати клітинки для натискання мишею.
Змінні шостої форми :
o Form6: TForm6 — форма типу TForm1.
o m: array [1.9,1.9] of integer; - масив судоку.
o min: integer; - змінна відліку годин.
o sec: integer; - змінна відліку хвилин.
o dsec: integer; - змінна відліку секунд.
o mas, mass, masss: integer; - слугують для зміни рядків/стовбців масиву.
o i, j, с: integer; - лічильники циклів;
o r1, r2,r3: integer; - випадкові чісла від значінь яких залежіть масив м.
o f: integer; - коефіцієнт рівня складності гри.
3.2 Опис процедур і функцій користувача
Unit1:
o procedure ListBox1Click (Sender: TObject); - змінює назви всіх текстових полів та кнопок в програмі.
o procedure Edit1Change (Sender: TObject); - зчитує введені символи, та робить доступним меню вибору мови.
o procedure FormCreate (Sender: TObject); - при відкритті форми змінює колір компонентів.
o procedure SpeedButton2Click (Sender: TObject); - відкриває третю форму, робить невидимою першу.
o procedure SpeedButton1Click (Sender: TObject); - відкриває другу форму, робить невидимою першу.
o procedure SpeedButton3Click (Sender: TObject); - закінчує виконання програми.
o procedure SpeedButton4Click (Sender: TObject); - оновлює компоненти першої форми.
Unit2:
o procedure SpeedButton1Click (Sender: TObject); - завершує виконання другої форми та робить видимою першу.
o procedure SpeedButton2Click (Sender: TObject); - завершує виконання другої форми та відкриває четверту.
Unit3:
o procedure SpeedButton1Click (Sender: TObject); - завершує виконання третьої форми та робить видимою першу.
o procedure SpeedButton2Click (Sender: TObject); - завершує виконання третьої форми та відкриває шосту.
Unit4:
o function finish; - функція перевіряє порядок розміщення фішок на ігровому полі, при їх послідовному розміщенні відкриває п’яту форму та закриває шосту.
o procedure Form4. NewGame; - процедура виконує всі необхідні для початку нової гри процедури.
o procedure TForm4. Close1Click (Sender: TObject); - процедура містить дії які виконуватиме кнопка закрити.
o procedure TForm4. FormCreate (Sender: TObject); - процедура змінює колір та шрифт форми.
o procedure TForm4. ShowPole; - процедура створює ігрове поле, та задає координати клітинок для натискання мишею.
o procedure TForm4. FormPaint (Sender: TObject); - процедура яка дозволяє графічні операції над формою.
o procedure TForm4. Mixer; - процедура яка перемішує фішки при початку нової гри.
o procedure Move (cx, cy: integer); - процедура, яка виконує переміщення фішки в порожнє місце при натисканні на неї мишею.
Unit6:
o procedure win; - процедура перевіряє наявність введення всіх полів Edit шостої форми, якщо всі поля введені та перевіряє чи співпадають введені данні з масивом, якщо так то відкриває п’яту форму та закриває шосту.
o procedure Timer1Timer (Sender: TObject); - процедура відліку часу, виконує попередню процедуру.
o procedure SpeedButton1Click (Sender: TObject); - процедура в якій масив судоку генерується та виводится на екран.
o procedure SpeedButton2Click (Sender: TObject); - процедура яка завершує роботу шостої форми та робить видимою першу.
3.3 Опис стандартних процедур і функцій, які використовувались в програмі
o Function strtofloat (:string): real — змінює символьний тип значення Value на дійсний.
o Function floattostr (:real): string — змінює дійсний тип значення Value на символьний.
o Function strtoint (:string): integer — переводить символьний тип значення Value в цілий.
o Function inttostr (:integer): string — переводить значення цілого Value в символьний.
3.4 Опис файлів та їх призначення
Project1.dpr — файл проекту. Цей текстовий файл використовується для зберігання інформації про форми та модулі. На ньому містяться оператори ініціалізації та запуску програми на виконання.
Project1.exe — виконуваний файл проекту. Він є автономним виконуваним файлом, для якого більше нічого не треба.
Project1.res — бінарний файл, який містить використовувані проектом ресурси.
Unit1.pas — текстовий файл модуля, який відповідає формі Form1. Використовується для зберігання коду.
Unit1.dfm — файл, в якому зберігається інформація про зовнішній стан форми Form1, її розмірах, розміщенні на екрані.
Unit1.dcu — відкомпільований файл модуля Unit1. pas, який компонується в кінцевий робочий файл.
Unit1.ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались.
Unit2.pas — текстовий файл модуля, який відповідає формі Form2. Використовується для зберігання коду.
Unit2.dfm — файл, в якому зберігається інформація про зовнішній стан форми Form2, її розмірах, розміщенні на екрані.
Unit2.dcu — відкомпільований файл модуля Unit2. pas, який компонується в кінцевий робочий файл.
Unit2.ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались.
Unit3.pas — текстовий файл модуля, який відповідає формі Form3. Використовується для зберігання коду.
Unit3.dfm — файл, в якому зберігається інформація про зовнішній стан форми Form3, її розмірах, розміщенні на екрані.
Unit3.dcu — відкомпільований файл модуля Unit3. pas, який компонується в кінцевий робочий файл.
Unit3.ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались.
Unit4.pas — текстовий файл модуля, який відповідає формі Form4. Використовується для зберігання коду.
Unit4.dfm — файл, в якому зберігається інформація про зовнішній стан форми Form4, її розмірах, розміщенні на екрані.
Unit4.dcu — відкомпільований файл модуля Unit4. pas, який компонується в кінцевий робочий файл.
Unit4.ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались.
Unit5.pas — текстовий файл модуля, який відповідає формі Form5. Використовується для зберігання коду.
Unit5.dfm — файл, в якому зберігається інформація про зовнішній стан форми Form5, її розмірах, розміщенні на екрані.
Unit5.dcu — відкомпільований файл модуля Unit1. pas, який компонується в кінцевий робочий файл.
Unit5.ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались.
Unit6.pas — текстовий файл модуля, який відповідає формі Form6. Використовується
для зберігання коду.
Unit6.dfm — файл, в якому зберігається інформація про зовнішній стан форми Form6, її розмірах, розміщенні на екрані.
Unit6.dcu — відкомпільований файл модуля Unit6. pas, який компонується в кінцевий робочий файл.
Unit6.ddp — файл діаграм, створюваних на сторінці діаграм вікна Редактору Коду. В даному проекті діаграми не використовувались.
3.5 Результати роботи програми
Після того як користувач пройшов одну з ігор, з’являється вікно поздоровлення, з якого він також може дізнатись остаточний рахунок, кнопкою «вихід» можна повернутись у вікно гри.
4. Інструкція для роботи з програмою
Програма розроблялася на ПК з наступною конфігурацією :
— Система: Microsoft Windows XP Professional.
— Комп'ютер: TripleCore AMD Phenom, 2100 MHz 2047 МБ ОЗП.
Програма була протестована на комп’ютері з наступною конфігурацією:
— Система: Microsoft Windows 95 Service Pack 3.
— Комп'ютер: Intel Celeron 2.0, 128 МБ ОЗП.
Для початку роботи програми необхідно запустити файл Project1.exe.
Після чого з’явиться вікно програми.
В порожнє поле введіть ваш псевдонім, оберіть мову, оберіть гру (тільки в такому порядку). Якщо заплуталися програма підкаже вам що робити.
Далі відкриється вікно-інструкція на якій ви можете прочитати правила гри.
Якщо ви ввели не той псевдонім, обрали не ту мову, обрали не ту гру натисніть кнопку вихід.
Щоб почати грати натисніть далі. З’явиться вікно гри.
Після перемоги з’явиться вікно поздоровлення та вашого рахунку.
Висновки
Задачею моєї курсової роботи була програмна реалізація двох логічних ігор: судоку та пятнашки. А також додати до них можливість підраховувати кількість зроблених кроків (пятнашки) та час затрачений на проходження (судоку).
При виконанні курсової роботи я користувався візуальними (Label, Edit, Image, SpeedButton, ListBox), та не візуальними (Timer, MainMenu) компонентами. В проекті були застосовані елементи графіки, та процедури передачі значень та переходу між кількома формами, а також стандартні процедури переходу від одних типів даних до інших. Протягом роботи з проектом я повторив раніше отримані знання з процедурного програмування, такі як використання операторів розгалуження, циклів з передта післяумовою, циклів з параметром та масивів. Також я отримав практичний досвід та закріпив навички програмування в середовищі Borland Delphi.
Література
1. Дарахвелидзе П. Г., Марков Е. П. Программирование в Delphi 7: Учебник. — Санкт-Петербург.: БХВ-Петербург, 2003. — 785с.
2. Фленов М., Нікітін А. В. Библия Delphi: Учебник. — Санкт-Петербург.: БХВ-Петербург, 2004. — 884с.
3. Баканов В. М. Разработка прикладных программ для OC WINDOWS c помощью интегрированных сред Delphi / C++Builder: Учебник — М.:2000. — 84с.
4. Джозеф Джарратано, Гари Райли Глава 10. Процедурное программирование «Экспертные системы: принципы разработки и программирование»: Пер. с англ. — М.: 2006. — 779—851 стр.
5. Дарахвелидзе П. Г., Марков Е. П. Delphi 2005 для Win32. — СПб.: БХВ-Петербург, 2005. — 1136 с.: ил.;
Додаток А
Лістинг модуля Unit1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg, Buttons;
type
TForm1 = class (TForm)
Image1: TImage;
ListBox1: TListBox;
Label6: TLabel;
Label5: TLabel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
procedure ListBox1Click (Sender: TObject);
procedure Edit1Change (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure SpeedButton2Click (Sender: TObject);
procedure SpeedButton1Click (Sender: TObject);
procedure SpeedButton3Click (Sender: TObject);
procedure SpeedButton4Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
nickname: string;
warningnick:string;
ruleslanpi:string;
ruleslansu:string;
buttonlan:string;
menulan1:string;
menulan2:string;
menulan11:string;
menulan12:string;
resultban:string;
yscores:string;
morebutton:string;
syddifflow:string;
syddiffmed:string;
syddiffhig:string;
foolshow:string;
implementation
uses unit5, unit3, unit2, unit4,unit6;
{$R *.dfm}
procedure TForm1. ListBox1Click (Sender: TObject);
var z: byte;
begin
z:=listbox1.itemindex;
case z of
0:begin
foolshow:='Toо many moves, try again…';
syddifflow:='Easy';
syddiffmed:='Medium';
syddiffhig:='Hard';
morebutton:='Play more';
yscores:='Your scores:';
resultban:='Congratulation!!!';
menulan11:='New';
menulan12:='Close';
menulan2:='Rules';
menulan1:='Game';
buttonlan:='Next';
ruleslanpi:='The object of the puzzle is to place the tiles in order from 1 to 15 by making sliding moves that use the empty space.';
ruleslansu:='The objective is to fill a 9X9 grid with digits so that each column, each row, and each of the nine 3X3 sub-grids that compose the grid contains all of the digits from 1 to 9';
speedbutton4.Caption:='Retry';
speedbutton3.Caption:='Close';
Label5.Caption:='Your nickname:';
warningnick:='Write nickname, please!';
if (nickname='') then Label6. Caption:='Write nickname, please!' else
Label6.Caption:= Nickname +', what game would you like to play?';
end;
1:begin
foolshow:='Забагато кроків, спробуйте ще раз…';
syddifflow:='Легкий';
syddiffmed:='Середній';
syddiffhig:='Складний';
morebutton:='Грати ще';
Yscores:='Ваші очки:';
resultban:='Вітаємо!!!';
menulan11:='Нова';
menulan12:='Закрити';
menulan2:='Правила';
menulan1:='Гра';
buttonlan:='Далі';
ruleslanpi:='Мета гри — рухаючи фішки по полю розмістити їх в порядку від 1 до 15, зробивши це якомога швидше';
ruleslansu:='Мета головоломки — необхідно заповнити вільні клітинки цифрами від 1 до 9 так, щоб в кожному рядку, в кожному стовпці і в кожному малому квадраті 3X3, кожна цифра зустрічалася лише один раз. Правильна головоломка має лише одне рішення.';
speedbutton4.Caption:='Обновити';
speedbutton3.Caption:='Вихід';
Label5.Caption:='Ваш нікнейм:';
warningnick:='Введіть ваш нікнейм!';
if (nickname='') then Label6. Caption:='Будь-ласка, введіть свій нікнейм!' else
Label6.Caption:= Nickname +', оберіть гру.';
end;
2:begin
foolshow:='Слишком много ходов, попробуйте еще…';
syddifflow:='Легко';
syddiffmed:='Средне';
syddiffhig:='Сложно';
morebutton:='Играть еще';
Yscores:='Ваши очки:';
resultban:='Поздравляем!!!';
menulan11:='Новая';
menulan12:='Закрыть';
menulan2:='Правила';
menulan1:='Игра';
buttonlan:='Дальше';
ruleslanpi:='Цель игры — перемещая костяшки по коробке добиться упорядочивания их по номерам, желательно сделав как можно меньше перемещений.';
ruleslansu:='У судоку есть всего одно правило. Необходимо заполнить свободные клетки цифрами от 1 до 9 так, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3×3 каждая цифра встречалась бы только один раз.';
speedbutton4.Caption:='Обновить';
speedbutton3.Caption:='Закрыть';
Label5.Caption:='Ваш никнейм';
warningnick:='Введите свой никнейм!';
if (nickname='') then Label6. Caption:='Введите свой никнейм, пожалуйста!' else
Label6.Caption:= Nickname +', выбирайте игру.';
end;
else begin
foolshow:='Zu viel Lauf, versuchen noch…';
syddifflow:='Leicht';
syddiffmed:='Maessig';
syddiffhig:='Schwach';
morebutton:='grosser Spiel';
Yscores:='Score:';
resultban:='Gratulation!!!';
menulan11:='Neuer';
menulan12:='Schliessen';
menulan1:='Spiel';
menulan2:='Regeln';
buttonlan:='Weiter';
ruleslanpi:='Das Spiel besteht aus 15 in einem Vier-mal-vier-Quadrat angeordneten Zahlen, die durch Verschiebungen
aufsteigend geordnet werden mussen.';
ruleslansu:='In der ublichen Version ist es das
Ziel, ein 9X9-Gitter mit den Ziffern 1 bis 9 so zu fullen, dass jede Ziffer in einer Spalte, in einer Zeile und in einem Block nur einmal vorkommt';
speedbutton4.Caption:='zu erneuern';
speedbutton3.Caption:='Schliessen';
Label5.Caption:='Euer Beiname:';
warningnick:='einfuehre ihriger Beiname, waehle Sprache';
if (nickname='') then Label6. Caption:='einfuehre ihriger Beiname' else
Label6.Caption:= Nickname +', erwaehle Spiel.';
end;
end;
speedbutton1.Enabled:=true;
speedbutton2.Enabled:=true;
form5.Label1.Caption:=resultban;
form5.speedbutton1.caption:=speedbutton3.caption;
form5.Label5.Caption:=nickname+', '+Yscores;
end;
procedure TForm1. Edit1Change (Sender: TObject);
begin
nickname:=edit1.Text;
listbox1.Enabled:=true;
end;
procedure TForm1. FormCreate (Sender: TObject);
begin
edit1.Color:=tcolorref (RGB (221,120,50));
listbox1.Color:=tcolorref (RGB (221,120,50));
label1.Font.Color:=tcolorref (RGB (221,120,50));
label2.Font.Color:=tcolorref (RGB (221,120,50));
label3.Font.Color:=tcolorref (RGB (221,120,50));
label4.Font.Color:=tcolorref (RGB (221,120,50));
label5.Font.Color:=tcolorref (RGB (221,120,50));
label6.Font.Color:=tcolorref (RGB (221,120,50));
end;
procedure TForm1. SpeedButton2Click (Sender: TObject);
begin
form6.ListBox1.Items.Clear;
form6.ListBox1.Items.Add (syddifflow);
form6.ListBox1.Items.Add (syddiffmed);
form6.ListBox1.Items.Add (syddiffhig);
form6.SpeedButton1.Caption:=menulan11;
form6.SpeedButton2.Caption:=speedbutton3.Caption;
form3.Show;
form3.speedbutton1.Caption:=speedbutton3.Caption;
form3.Label1.Caption:=ruleslansu;
form3.speedButton2.Caption:=buttonlan;
form1.visible:=false;
end;
procedure TForm1. SpeedButton1Click (Sender: TObject);
begin
form4.your.Caption:=yscores;
form4.rules1.Caption:=nickname;
form4.Close1.Caption:=menulan12;
form4.New1.Caption:=menulan11;
form4.FFF1.caption:=menulan1;
form2.show;
form2.speedbutton1.Caption:=speedbutton3.Caption;
form2.Label1.Caption:=menulan2+': '+ruleslanpi;
form2.speedButton2.Caption:=buttonlan;
form1.visible:=false;
end;
procedure TForm1. SpeedButton3Click (Sender: TObject);
begin
close;
end;
procedure TForm1. SpeedButton4Click (Sender: TObject);
begin
edit1.Text:='';
label5.Caption:='Please, type your nickname here:';
label6.Caption:='Language and nickname first';
listbox1.Enabled:=false;
speedbutton1.enabled:=false;
speedbutton2.Enabled:=false;
end;
end.