Смекни!
smekni.com

Учет товаров в фирме по продаже аудиотехники (стр. 2 из 2)

^D - удаление текущей записи

^P - вывод/печать всех записей

--------------------------------------------

^PgUp - переход в начало базы

^PgDn - переход в конец базы

--------------------------------------------

^Q - выход из окна редактирования

(внесенная информация сохраняется)

Esc - то же, но информация не сохраняется

ENDTEXT

WAIT ''

DEACTIVATE WINDOW HelpWindow

SET CURSOR ON

POP KEY

RETURN

FUNCTION Hlp

SET CURSOR OFF

@ 0,0 FILL TO 0,77 COLOR GR/GR

Hint=''

DO CASE

CASE VARREAD() ='Nazvan_f'

Hint='Название фильма'

CASE VARREAD() ='Tip_nosit'

Hint='Тип носитель'

CASE VARREAD() ='Prodol'

Hint='Продолжительность'

CASE VARREAD() ='Kachestvo'

Hint='Качество'

CASE VARREAD() ='Zena'

Hint='Цена'

CASE VARREAD() ='Kod_post'

Hint='Код поставщика'

CASE VARREAD() ='Janr'

Hint='Жанр'

CASE VARREAD() ='Gl_artist'

Hint='Главный артист'

CASE VARREAD() ='Kod_f'

Hint='Код фильма'

ENDCASE

@0,(78-LEN(Hint)) /2 SAY Hint

RETURN

PROCEDURE BrowseData

PARAMETER y

DO CASE

CASE BAR() =1. OR. y=1

TitleStr='БАЗА ДАННЫХ'

STR1='NOAPPEND NODELETE NOMODIFY'

CASE BAR() =2. OR. y=2

PUSH KEY

ON KEY LABEL Ctrl+N DO AddRec

ON KEY LABEL Ctrl+D DO DelRec

ON KEY LABEL Ctrl+P ACTIVATE POPUP PrintPopup

ON KEY LABEL F1 DO Help

TitleStr='F1 - Вызов окна помощи РЕДАКТИРОВАНИЕ '

STR1=''

ENDCASE

ACTIVATE WINDOW HintWindow

GO TOP

BROWSE TITLE TitleStr;

FIELDS A. nazv_f: H='Название фильма': W=Hlp(),;

A. tip_nosit: H='Тип носителя': W=Hlp(),;

B. nazv_nosit: H='Название носителя': R: W=Hlp(),;

A. prodol: H='Продолжительность': W=Hlp(),;

A. kachestvo: H='Качество': W=Hlp(),;

A. zena: H='Цена': W=Hlp(),;

A. kod_post: H='Код поставщика': W=Hlp(),;

C. nazv_post: H='Название поставщика': R: W=Hlp(),;

C. adres_post: H='Адрес поставщика': R: W=Hlp(),;

C. telef_post: H='Телефон поставщика': R: W=Hlp(),;

A. janr: H='Жанр': W=Hlp(),;

A. gl_artist: H='Главный артист': W=Hlp(),;

A. kod_f: H='Код фильма': W=Hlp();

WINDOW ViewWindow &STR1 COLOR GR+/N

DO CASE

CASE BAR() =1. OR. y=1

SET FILTER TO

CASE BAR() =1. OR. y=2

POP KEY

ENDCASE

DEACTIVATE WINDOW HintWindow

DEACTIVATE POPUP

RETURN

PROCEDURE SearchProc

SET CURSOR ON

y=BAR()

str=PROMPT()

DEFINE WINDOW SearchWindow FROM 7,20 TO 12,60;

TITLE 'Поиск '+ str

ACTIVATE WINDOW SearchWindow

@ 1,1 SAY 'Укажите ключ: '

DO CASE

CASE y=1

@ 1,15 GET a DEFAULT SPACE(20)

CASE y=2

@ 1,15 GET a DEFAULT SPACE(3)

CASE y=3

@ 1,15 GET a PICTURE '999' DEFAULT 0

ENDCASE

@3,11 GET choice FUNCTION '*th \! Поиск; \? Выход' DEFAULT 2 SIZE 1,7,4

READ CYCLE

RELEASE WINDOW SearchWindow

SET CURSOR OFF

IF choice=1

ACTIVATE WINDOW FindWindow

IF y=1. OR. y=2

a=Zag(ALLTRIM(a),. f)

ENDIF

IsFind=. F.

Find=. F.

SCAN

DO CASE

CASE y=1

Find=Zag(ALLTRIM(A. nazv_f),. f) =a

CASE y=2

Find=A. tip_nosit=a

CASE y=3

Find=A. kod_post=a

ENDCASE

IF Find

IsFind=. T.

? 'Название фильма: ',A. nazv_f

? 'Тип носителя: ',A. tip_nosit

? 'Название носителя: ',B. nazv_nosit

? 'Продолжительность: ',A. prodol

? 'Качество: ',A. kachestvo

? 'Цена: ',A. zena

? 'Код поставщика: ',A. kod_post

? 'Название поставщика: ',C. nazv_post

? 'Адрес поставщика: ',C. adres_post

? 'Телефон поставщика: ',C. telef_post

? 'Жанр: ',A. janr

? 'Главный артист: ',A. gl_artist

? 'Код фильма: ',A. kod_f

WAIT 'Продолжить поиск? (ДА - любая клавища, НЕТ - ESC) ' WINDOW

IF LASTKEY() =27

EXIT

ENDIF

ENDIF

ENDSCAN

IF! IsFind

WAIT 'ПОИСК НЕ УДАЧНЫЙ' WINDOW

ENDIF

DEACTIVATE WINDOW FindWindow

ENDIF

DEACTIVATE POPUP SearchPopup

RETURN

PROCEDURE FiltrProc

SET CURSOR ON

y=BAR()

str=PROMPT()

DEFINE WINDOW FiltrWindow FROM 7,20 TO 12,60;

TITLE 'Фильтрация '+ str

ACTIVATE WINDOW FiltrWindow

@ 1,1 SAY 'Укажите ключ: '

DO CASE

CASE y=1

@ 1,15 GET a DEFAULT SPACE(20)

CASE y=2

@ 1,15 GET a DEFAULT SPACE(3)

CASE y=3

@ 1,15 GET a PICTURE '999' DEFAULT 0

CASE y=4

@ 1,15 GET a DEFAULT SPACE(18)

ENDCASE

@3,11 GET choice FUNCTION '*th \! Фильтр; \? Выход' DEFAULT 2 SIZE 1,6,4

READ CYCLE

DEACTIVATE WINDOW FiltrWindow

SET CURSOR OFF

IF choice=1

DO CASE

CASE y=1

SET FILTER TO a. nazv_f=alltrim(a)

CASE y=2

SET FILTER TO a. tip_nosit=a

CASE y=3

SET FILTER TO a. kod_post=a

CASE y=4

SET FILTER TO a. kachestvo=alltrim(a)

ENDCASE

DO BrowseData WITH 1

ENDIF

RETURN

FUNCTION Zag

PARAMETER p,k

PUSH KEY clear

s='абвгдежзийклмнопрстуфхцчшщыьъэюя'

z='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ'

IF k

REPLACE &p WITH CHRTRAN(&p,s,z)

ELSE

POP KEY

RETURN CHRTRAN(p,s,z)

ENDIF

POP KEY

RETURN

PROCEDURE EndProc

PARAMETER y

DO CASE

CASE BAR() =1. OR. y=1

ON KEY

SET HELP ON

SET RELATION TO

SET FILTER TO

DEACTIVATE WINDOW ALL

DEACTIVATE MENU

DEACTIVATE POPUP

CLEAR ALL

CANCEL

CASE BAR() =2. OR. y=2

QUIT

ENDCASE

POP KEY

CLOSE DATABASES

RETURN

Список использованной литературы

1. Четвериков В.Н, Ревунков Г.И., Самохволов Э.Н. Базы и банки данных.