Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опис.doc
Скачиваний:
1
Добавлен:
30.08.2019
Размер:
3.58 Mб
Скачать

2. Порядок побудови

2.1. Створення таблиць

Для початку роботи я створит файл проекту:

Натискаємо NewProjectNew file

Зберігаю створений проект в папку де буде міститися база даних: D:\Visual FoxPro Projects.

Далі потрібно створити базу даних для цього потрібно:

DatabasesNewNew 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

В цій формі описується: Версія програми і хто її розробив.