- •Анотація
- •Введення
- •1. Загальна частина
- •1.1. Постановка задачі
- •1.2. Вимоги до програмного забезпечення
- •1.3. Обґрунтування вибору середовища проектування
- •Сумісність з операційними системами
- •1.4. Проектування інформаційної моделі
- •2. Порядок побудови
- •2.1. Створення таблиць
- •Далі потрібно створити базу даних для цього потрібно:
- •Створюємо таблиці для зберігання даних як показано на малюнках 2 та 3.
- •2.2. Створення форм
- •2.3. Створення звітів
- •2.4. Створення меню
- •Висновки
- •Література
- •Додаток 1 Керівництво користувача
- •Додаток 2 Лістинг програми
2. Порядок побудови
2.1. Створення таблиць
Для початку роботи я створит файл проекту:
Натискаємо NewProjectNew file
Зберігаю створений проект в папку де буде міститися база даних: D:\Visual FoxPro Projects.
Далі потрібно створити базу даних для цього потрібно:
DatabasesNewNew Database.
Зберігаємо базу в папку, де зберігали створений проект.
Створюємо таблиці для зберігання даних як показано на малюнках 2 та 3.
Мал.2
Мал.3
Зберігаємо таблицю давши попередньо їй ім’я
Мал.4
Структура таблиці «Клієнти»:
Мал.5
В таблиці «Клієнти» створено такі індекси:
Мал.6
Структура таблиці «Маршрути»:
Мал.7
В таблиці «Маршрути» створено такі індекси:
Мал.8
Структура таблиці «Путівки»:
Мал.9
В таблиці «Путівки» створено такі індекси:
Мал.10
Після створення структури кожної таблиці я заповнив всі таблиці відповідними даними.
Заповнена таблиця «Клієнти»:
Мал.11
Заповнена таблиця «Маршрути»:
Мал.12
Заповнена таблиця «Путівки»:
Мал.13
2.2. Створення форм
В даному проекті я створив 4 форм. Кожна з форм створювалась в режимі конструктора.
Для створення нової форми потрібно обрати: Documents->Forms->кнопка New->New Form. З’явиться пусте вікно конструктора форм. За допомогою кнопок панелі інструментів Form Controls я створював всі форми.
Форма для перегляду путівок, додавання/вилучення клієнтів до бази даних, а також для пошуку за прізвищем клієнта я створив форму «Перегляд путівок» (Рис.17):
Мал.14
Дана форма створена за допомогою функції Create Form Set, що дозволяє створити декілька форм в одній формі. В моєму випадку, це досить зручно для організації пошуку.
Елементи до форми я додавав за допомогою добудовника, в якому вказував назву таблиці та поля, що будуть додані до форми. Після додавання відповідних елементів я змінював їх налаштування на панелі Properties.
Коди обробки події Click:
Перший запис:
GO TOP
thisform.Refresh
Наступний запис:
IF RECNO()!=RECCOUNT()
SKIP 1
ELSE
MESSAGEBOX(" Останній запис")
endif
thisform.refresh
Попередній запис:
IF RECNO()!=1 THEN
skip-1
ELSE
MESSAGEBOX('Ви знаходитесь на першому записі')
ENDIF
thisform.refresh
Останній запис:
GO BOTTOM
thisform.Refresh
Додати клієнта:
GO BOTTOM
n=klient.kod_klienta
p=n+1
APPEND BLANK
REPLACE klient.kod_klienta WITH p
thisform.Refresh
Додати путівку:
DO FORM d:\turism\form1.scx
thisform.Release
Видалити клієнта:
DELETE
nAnswer =MESSAGEBOX("Ви дійсно хочете вилучити запис?",36,"Запит на вилучення")
DO CASE
CASE nAnswer = 6
pack
CASE nAnswer = 7
RECALL
ENDCASE
IF RECNO()=RECCOUNT()
SKIP -1
ELSE SKIP 1
ENDIF
Пошук за прізвищем:
thisformset.FORM2.visible= .T.
Вихід:
thisform.Release
Кнопка «Знайти» з другої підформи даної форми (при чому полі, за яким будемо шукати я задав змінну q):
a=RECNO()
LOCATE for priz = ALLTRIM(q)
IF priz!=ALLTRIM(q)
MESSAGEBOX("ПО ВАШЕМУ ЗАПРОСУ НЕТ ДАННЫХ", 0+64+0, "ПРЕДУПРЕЖДЕНИЕ")
go top
ENDIF
thisformset.form1.Refresh
thisform.release
Форма «Перегляд путівок» в робочому стані має вигляд (Рис.18):
Рис.18
Форма для видалення путівок створювала аналогічно до попередньої і має вигляд (Рис.19):
Рис.19
Форма для введення даних вибору путівки та укладання договору, якщо вибір здійснено (Рис.20):
Рис.20
В даній формі я додатково використовував елементи ComboBox та Grid, а також провів підрахунок загальної вартості путівки в залежності від обраних параметрів. Також я передбачив, що клієнту буде зручно переглянути фотографії одного з номерів готелю, який обирається (фото міняється в залежності від вибору готелю). Після натискання на кнопку «Зберегти замовлення» дані заносяться до таблиці «Путівки».
Поле «Вартість путівки» підраховується за формулою:
thisform.text7.value=gotel.vartist * thisform.text8* thisform.text9
Thisform.Refresh
Кнопка «Здерегти замовлення» має такий код:
z=RECNO()
b=klient.kod_klienta
a=table2.kod_marshryty
d=thisform.text8.Value
f=thisform.text9.value
y=gotel.gotel
?b
SELECT putivki
GO bottom
APPEND BLANK
replace putivki.kod_marshr with a
replace putivki.kod_klienta with b
replace putivki.kraina with thisform.combo1.value
replace putivki.gotel WITH y
replace putivki.kil_t WITH d
replace putivki.trivalist WITH f
replace putivki.vartist WITH thisform.text7.value
thisform.Release
DO FORM d:\turism\pereg_put.scx
Форма «Замовлення путівок» в робочому стані має вигляд (Рис.21):
Рис.21
Для зручності роботи користувача я створив головну форму (Рис.22):
Рис.22
З даної форми можна переглянути путівки або створити нове замовлення, а також прочитати короткий опис програми (Рис.23).
Рис.23
В цій формі описується: Версія програми і хто її розробив.