Создание основной базы данных «Морская волна», страница 2

Методы формы  Main_form:

Тип элемента

Название элемента

Название метода

Код метода

Примечание

Форма

Form1

InitEvent

do menu.mpr WITH THIS,.T.

Привязка меню к основной форме.

MouseMove

this.command1.fontbold=.F.

this.command1.forecolor=RGB(0,0,0)

this.command2.fontbold=.F.

this.command2.forecolor=RGB(0,0,0)

this.command3.fontbold=.F.

this.command3.forecolor=RGB(0,0,0)

Обработка выделения кнопки.

Таймер

Timer1

TimerEvent

 rand(-23)

 red = rand()*255

 green = rand()*255

 blue= rand()*255

THISFORM.Label1.forecolor =;

RGB(red,green,blue)

Метод обеспечивает «мерцание» надписи на форме

Кнопка

Сom-

mand1

Click

if USED('ships')=.T. then

close tables

endif

do form queries

Вызов формы для выполнения запросов

MouseMove

this.fontbold=.T.

this.forecolor=RGB(10,150,250)

Выделение кнопки при наведении курсора мыши

Сom-

mand2

Click

if USED('ships')=.T. then

close tables

endif

do form tables_form

Вызов формы для редактирования

MouseMove

this.fontbold=.T.

this.forecolor=RGB(10,150,250)

Выделение кнопки при наведении курсора мыши

Сom-

mand3

Click

quit

Выход из базы данных

MouseMove

this.fontbold=.T.

this.forecolor=RGB(10,150,250)

Выделение кнопки при наведении курсора мыши

2.  About_form – выводит сведения о программе:

       

Рис.2. Форма «О программе»

3.  Tables_form – форма для работы с таблицами. В ней производится просмотр и редактирование таблицы: добавление, удаление и редактирование записи в любой из таблиц базы данных «Морская волна». Форма реализована в виде элемента PageGrid с пятью закладками (по числу таблиц в базе данных), с соответствующими названиями. На каждой закладке есть элемент Grid, к которому при помощи Builder’а привязана одна из таблиц базы данных. Элемент Grid позволяет пользователю изменять существующие записи. Также на форме расположены:

-  Кнопка «+» для добавления нового элемента в конец таблицы.

- Кнопка «-» для удаления из таблицы элементов, предварительно выбранных пользователем.

- Элемент типа Label – для вывода общего количества записей в таблице на закладке, активной в данный момент.

 

Рис.3. Форма для редактирования таблиц базы данных

Методы формы  Tables_form:

Тип элемента

Название элемента

Название метода

Код метода

Примечание

Форма

Form1

Unload

close tables

use status exclusive

pack

use battles exclusive

pack

use ships exclusive

pack

use links exclusive

pack

use ship_types exclusive

pack

close tables

Окончательное удаление записей из

таблиц.

Закладки

Page1(2,3,4,5)

Activate

tname=thisform.pageframe1.

page1.caption

tcol=reccount(thisform.pageframe1.

page1.grid1.recordsource)

thisform.label1.caption  =;

"Общее число записей в таблице ";

+ tname +" = " + str(tcol,2)

При выборе каждой закладки отдельной строкой выводится общее число записей в таблице

Кнопка

«+»

Click

a = thisform.pageframe1.activepage

DO CASE

 CASE a = 1

    append in battles

    thisform.pageframe1.page1.refresh

 CASE a = 2

    append in ships

    thisform.pageframe1.page2.refresh

 CASE a = 3

    append in links

    thisform.pageframe1.page3.refresh

 CASE a = 4

    append in ship_types

    thisform.pageframe1.page4.refresh

 CASE a = 5

    append in status

    thisform.pageframe1.page5.refresh

ENDCASE       

Добавление новой

записи в конец таблицы соответствующей выбранной закладке

«-»

Click

a = thisform.pageframe1.activepage

with this.

DO CASE

 CASE a = 1

    set deleted on

    .pageframe1.page1.grid1.refresh()

 CASE a = 2

    set deleted on

    .pageframe1.page2.grid1.refresh()

 CASE a = 3

    set deleted on

    .pageframe1.page3.grid1.refresh()

 CASE a = 4

    set deleted on

    .pageframe1.page4.grid1.refresh()

 CASE a = 5

    set deleted on

    .pageframe1.page5.grid1.refresh()

ENDCASE

endwith

Удаление выделенных пользователем записей из Grid