Автоматизация базы данных системы транковой связи SmarTrunk II

Главные особенности систем транкинговой радиосвязи. Организация связи в системе SmarTrunk II: состав, база данных, перспективы развития, основные преимущества. Основные функции, использованные в программе. Даталогическая и инфологическая модель.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 08.02.2012

Введение

Базы данных (БД) представляют собой совокупность данных, структурированных определенным образом по определенной тематике, применяющихся в различных отраслях экономики, промышленности, бизнеса и науки. Скорость доступа к нужной информации, оперативность её получения определяют, в конечном итоге, успешное ведение бизнеса и уменьшают затраты на соответствующие статьи расходов. Разработаны методы, которые облегчают работу с большим объемом данных: создание БД, выполнение поиска, редактирование, извлечение различных выборок, а также проведение анализа данных и оформления отчетов, которые содержат итоговые данные в виде таблиц, диаграмм и графиков. Эти методы реализуются с помощью комплекса программных средств, обеспечивающих работу с БД, - системой управления базой данных (СУБД).

Известно много программных продуктов, позволяющих создавать и работать с БД, например, Access, Clipper, Excel и др. Среди большого разнообразия программ наибольшей популярностью пользуется СУБД FoxPro, которая по своим характеристикам удовлетворяет самым высоким требованиям, предъявляемым к такого типа системам как по уровню и объему, так и по скорости обработки информации.

На данный момент разработаны и широко используются Visual FoxPro для Windows версий 3.0 и 5.0. Однако, работа с этими пакетами для непрограммистов представляет собой сложную задачу. Поэтому, при проектировании БД для пользователей, имеющих небольшой опыт в программировании, очень удачными являются версии 2.5 и 2.6. [4].

1. ОСОБЕННОСТИ СИСТЕМ ТРАНКИНГОВОЙ РАДИОСВЯЗИ

Транкинг - динамическое распределение ограниченного количества каналов радиосвязи среди большого числа пользователей с целью предоставления абоненту любого свободного в настоящий момент радиоканала.

Транкинговая система - радиосеть, обеспечивающая одновременно несколько сеансов связи при динамическом распределении каналов между пользователями; системы предназначены для организации оперативной радиосвязи между подвижными абонентами. Обеспечение связи пользователя транкинговой системы с абонентом ГАТС - дополнительная функция сервисного характера [1].

НОВАЯ СИСТЕМА.

SmarTrunk II это новое поколение популярной радиотелефонной системы SmarTrunk ("СмарТранк') Система 'СмарТранк', впервые представленная в 1992 году, была специально разработана как недорогая система для применения в сельских местностях и развивающихся странах.

1.1 Организация связи в системе SmarTrunk II

Поскольку SmarTrunk II относится к системам децентрализованным, управление процессами установления связи осуществляют абонентские радиостанции, в состав которых входит плата транкингового модуля. С ее помощью обычная конвенциальная радиостанция может быть переделана в радиостанцию протокола SmarTrunk II.

После включения каждая радиостанция начинает сканировать все запрограммированные каналы транкинговой системы, при обнаружении несущей (или несущей и CTCSS-кода) она прекращает сканирование и анализирует принимаемый сигнал.

В начале каждой управляющей посылки идет синхросигнал частотой 1400 Гц. Его длительность (Те) зависит от количества каналов (п) и определяется из соотношения:

Тс=275+(п+1)*150мс.

За это время радиостанции успевают пройти цикл сканирования остальных каналов. За синхросигналом следуют тип вызова, код абонента, системный идентификатор и контрольная сумма.

Абоненты, чей код не совпадает с переданным, возвращаются в режим сканирования. Радиостанция, определившая свой код, передает ответ-подтверждение и переходит в разговорный режим, оповещая пользователя звуковым сигналом. Канал, по которому поступил вызов, сохраняется за радиоабонентами на весь сеанс связи. После окончания сеанса радиостанция передает код отбоя и возвращается в режим сканирования.

Для вызова пользователь должен набрать на клавиатуре маршрутный код (номер абонента или телефонный), код типа вызова (групповой, индивидуальный или выход в телефонную сеть) и нажать клавишу "передача". Радиостанция путем сканирования находит свободный канал и посылает запрос.

В начале каждого кадра запроса идет синхропосылка, затем следуют код абонента, системный идентификатор, маршрутный код, телефонный номер (или добавочный абонента) и контрольная сумма. Базовая станция принимает запрос, передает ответ-квитанцию (после проверки прав абонента) и посылает вызов абоненту [2].

Состав транкинговой системы SmarTrunk II.

Система SmarTrunk II состоит из базового (базовая станция) и абонентского (радиостанции) оборудования.

Базовое оборудование включает контроллеры (по одному на канал), ретрансляторы (по одному на канал), фильтрующее оборудование (дуплексные фильтры, распределительная панель, комбайнер и т.д.), антенно-фидерные устройства (антенны, кабели, грозораз-рядники, разъемы и др.), монтажную стойку и источники питания.

Транкинговые котроллеры вырабатывают все управляющие сигналы; определяют, может ли (и в какой степени) абонент пользоваться услугами данной системы; ведут базы данных абонентов (содержащую их коды, приоритеты, максимальное время переговоров, возможность выхода в телефонную сеть и др.) и сеансов связи (коды абонентов, дату, времени, продолжительности, вида связи и др.). База данных по сеансам связи может быть считана из контроллера на персональный компьютер или распечатана на принтере в масштабе реального времени.

База данных абонентов содержит до 1100 записей для контроллеров ST-852 и до 4096 записей для ST-853; база данных сеансов связи - 1800 записей для ST-852 и 4500 записей для ST-853.

Ретрансляторы для системы SmarTrunk II выпускаются различными фирмами. В простейших случаях возможно применение ретрансляторов типа GR500, выполненных на базе сдвоенных мобильных радиостанций Motorola GM300 или GM350. Однако большее распространение получили ретрансляторы Standard (RP-80), Kenwood (TKR-820), Tait (T-800) и Motorola (MTR-2000).

Если базовое оборудование системы монтируется в одном месте, то для уменьшения взаимного влияния передающих антенн необходимо использовать фильтрующее оборудование (фильтры, распределительные панели, комбайнеры и т.п.)[1].

Перспективы развития системы SmarTrunk II.

Изначально SmarTrunk II разрабатывалась как однозоновая тран-кинговая система с количеством каналов не более 16. Практика показала, что зачастую один базовый центр не обеспечивает необходимую зону обслуживания.

В настоящее время ведутся работы по модификации протокола SmarTrunk II и базового контроллера с целью использования их для организации многозоновых сетей. Однако это приведет к существенному удорожанию системы (затраты на приобретение дополнительного оборудования, аренду каналов связи между зонами), и следовательно основное преимущество протокола - дешевизна системы -будет утрачено. При этом получить полноценную многозоновую систему не удастся из-за принципиальных ограничений протокола.

Фирма "Т-Хелпер" (Россия) разработала процедуру, обеспечивающую расширение зоны обслуживания односайтовой системы за счет ретрансляции цифровых вызовов и речевых сообщений в смежные зоны.

В отличие от обычных, транкинговые ретрансляторы TH-1608TRP, разработанные "Т-Хелпер", имеют в своем составе микроконтроллер ITEC-500, определяющий уникальный алгоритм использования цифровых посылок системы SmarTrunk II, что обеспечивает защиту от несанкционированного доступа Ретрансляторы устанавливаются по границе зоны обслуживания базовой станции системы и в исходном состоянии находятся в режиме ожидания цифровой посылки от абонентской радиостанции. При обнаружении посылки ретранслятор анализирует ее и передает данный вызов на частоте транкингового канала основной базовой системы. Далее цифровые сигналы и речь обрабатываются и передаются стандартным для SmarTrunk II образом. После окончания сеанса связи ретранслятор закрывается до следующей цифровой посылки. Аналогично при приеме вызова от базовой системы ретранслятор открывается и передает сигнал на частоте, запрограммированной для дополнительной зоны.

Таким образом, при вызове со стороны базовой станции или абонентов, находящихся в дополнительных зонах, открываются все транкинговые ретрансляторы, но активным остается только тот, через который установлена связь. Следовательно, ретрансляторы, находящиеся в непересекающихся дополнительных зонах обслуживания, могут работать на одной дуплексной паре частот. Подобное решение, конечно, не может решить задачу построения многозоновой системы, подобной МРТ-1327, но радиус действия может быть увеличен до 100 км.

Основными преимуществами системы SmarTrunk II являются ее простота, низкая стоимость и широкая номенклатура аппаратного парка. Базовое и абонентское оборудование выпускается разными фирмами, что предоставляет пользователю широкие возможности для выбора. Система имеет модульную структуру и позволяет наращивать ее без модификации уже закупленного оборудования.

Основными недостатками системы SmarTrunk II являются долговременность установления связи, растущая с увеличением количества каналов системы и нагрузки, отсутствие гибкой системы группо-образования; сложности в создании многозоновых систем.

В органах внутренних дел системы SmarTrunk II могут использоваться для организации связи между радиоабонентом и пользователем ГАТС. Для установления оперативной связи, где режимом является режим групповой радиосвязи является основным, системы протокола SmarTrunk II малоэффективны [2].

1.2 Основные функции, использованные в программе

ACTIVATE MENU Вывод на дисплей и активация линейки меню Формат: ACTIVATE MENU <имя1> [PAD <имя2>]

Данная команда работает в сочетании с командами DEFINE MENU и DEFINE PAD. Две эти команды определяют линейку меню, которая может располагаться на экране горизонтально или вертикально.

Команда ACTIVATE MENU вызывает на экран или в окно ранее определенную линейку меню, помеченную как <имя1>, и активирует ее для использования.

После активации меню вы можете переходить между элементами линейки при помощи клавиш-стрелок Вправо и Влево. Для перемещения между опциями соответствующих элементам линейки всплывающих меню служат клавиши-стрелки Вверх и Вниз. Опция всплывающего меню становится выбранной, если в момент, когда она выделена, нажать Enter или кнопку мыши. Для деактивации всплывающего меню без выполнения выбора нужно нажать Esc. Деактивировать меню можно также командой DEACTIVATE MENU или активировав другую линейку меню.

Если используется необязательное предложение PAD <имя2>, то при выводе на дисплей выделен будет элемент линейки, указанный в <имя2>. Если это предложение опущено, то выделен будет первый элемент.

ACTIVATE POPUP Вывод на дисплей и активация всплывающего меню Формат: ACTIVATE POPUP <имя>Данная команда активации меню работает в сочетании с командами DEFINE POPUP и DEFINE BAR. Эти две команды определяют всплывающее меню, которое затем может быть выведено в любой позиции крана.

Команда ACTIVATE POPUP вызывает определение, ранее всплывающее меню с именем <имя>, которое затем размещается на экране или в окне и активируется для последующего использования. После активации всплывающего меню вы можете переходить между составляющими его опциями при помощи клавиш-стрелок Вверх и Вниз.

Опция меню считается выбранной, если в момент, когда она выделена, нажать Enter или кнопку мыши. Для деактивации всплывающего меню без выбора следует нажать Esc. Всплывающее меню также может быть деактивировано командой DEACTIVATE POPUP, либо при активации другого всплывающего меню.

ACTIVATE WINDOW Вывод на дисплей и активация окна Формат: ACTIVATE WINDOW[[<имя1>]

[,<имя2>][,...]] | ALL

[BOTTOM | TOP | SAME][NOSHOW]

Данная команда выводит на дисплей и активирует ранее определенное пользователем окно или окна. Активация окна означает направление всего экранного вывода на данное окно.

Окна пользователя создаются и определяются командой DEFINE WINDOW. При определении окон их имена добавляются к нижней части всплывающего меню WINDOW. Окно, определенное первым, будет находиться в вершине этого списка, а далее будут следовать остальные окна в порядке их определения. Окно, на которое в текущий момент направлен вывод, помечено. Одновременно на экране может находиться несколько окон, однако вывод будет направлен на окно, активированное последним.

При наличии более чем одного окна деактивация текущего окна вывода вызовет его удаление с экрана с перенаправлением вывода на окно, которое было активировано до него. Если окна вывода активны, то вывод происходит на экран.

BROWSE Полноэкранное редактирование базы данных Формат: BROWSE

[FIELDS <список_полей>]

[FORMAT]

[FREEZE <поле>]

[LAST]

[NOAPPEND]

[NOCLEAR]

[NODELETE]

[NOEDIT | NOMODIFY]

[NOFOLLOW]

[NOMENU]

[NORMAL]

[NOWAIT]

[PREFERENCE=<выражC>]

[SAVE]

[WIDTH <выражN>]

[WINDOW <имя>]

BROWSE - это одна из самых полезных команд в FoxPro. Она используется для открытия окна и вывода на дисплей записей базы данных. При этом вы легко можете редактировать записи и добавлять новые. Одновременно может быть открыто до 10 окон BROWSE (по одному на каждую рабочую область). Информацию о работе с окнами BROWSE см. в главе "Руководство по интерфейсу с пользователем" в Руководстве пользователя FoxPro.

Вы можете сохранить любые внесенные вами изменения и выйти из команды BROWSE, нажав Ctrl-W или Ctrl-End, либо нажав кнопку мыши на поле закрытия команды. Нажав Ctrl-Q или Esc, вы можете выйти из команды без сохранения сделанных изменений.

В окне BROWSE можно редактировать поля памяти типа memo.

Для этого нужно выбрать такое поле и нажать Ctrl-PgDn. Если у вас есть мышь, то для открытия поля памяти для редактирования достаточно два раза нажать кнопку, находясь над этим полем. Для выхода из редактирования поля памяти с сохранением внесенных изменений нажмите Ctrl-W или кнопку мыши на поле закрытия команды. Если вы хотите выйти без сохранения изменений, нажмите клавишу Esc, Команда BROWSE поддерживает многочисленные опции. Ниже водится список этих опций с кратким описанием.

FIELD <список_полей> Если задано предложение FIELDS, то на дисплей выводятся только те поля, что указаны в <списке_ полей> и именно в том порядке, в котором они перечислены в списке. Если предложение FIELDS не используется, то выводятся все поля базы данных в последовательности их расположения в структуре базы данных.

DEACTIVATE MENU

Формат: DEACTIVATE MENU

Команда DEACTIVATE MENU удаляет активное меню с экрана, но не из памяти. Одновременно активным может являться только одно меню, поэтому указывать имя меню нет необходимости. Меню можно повторно активировать командой ACTIVATE MENU с именем меню.

Для освобождения конкретного меню из памяти следует дать команду RELEASE MENUS с именем меню. Команды CLEAR ALL и CLEAR MENUS позволяют освободить из памяти все меню.

Команда DEACTIVATE MENUS выполняется только из программных файлов. Управление программой затем возвращается в строку программы, непосредственно после строки, активировавшей меню. Из командного окна команда DEACTIVATE MENU не действует.

DEACTIVATE POPUP Деактивация всплывающего меню и удаление его с экрана Формат: DEACTIVATE POPUP Команда DEACTIVATE POPUP удаляет активное всплывающее меню с экрана или из окна, оставляя его в памяти. Одновременно может быть активным только одно всплывающее меню, поэтому задавать его имя нет необходимости. Для повторной активации всплывающего меню следует дать команду ACTIVATE POPUP с именем всплывающего меню.

Для освобождения конкретного всплывающего меню из памяти следует дать команду RELEASE MENUS с именем меню. Команды CLEAR POPUPS и CLEAR ALL позволяют освободить из памяти все всплывающие меню.

Команда DEACTIVATE POPUP выполняется только из программных файлов. Управление программой затем возвращается в строку про граммы, непосредственно после строки, активировавшей всплывающее меню. Из командного окна команда DEACTIVATE POPUP не действует.

DEACTIVATE WINDOW

Деактивация окон и удаление их с экрана

Формат: DEACTIVATE WINDOW <имя1>[,<имя2>]

[,...] | ALL

Команда DEACTIVATE WINDOW деактивирует активное окно или набор активных окон и удаляет их с экрана. Окно или окна при этом не удаляются из памяти и могут быть снова вызваны на дисплей при помощи команд ACTIVATE WINDOW или SHOW WINDOW.

На экране одновременно может находиться более одного окна, но вывод может быть направлен только на окно, активированное последним. При наличии более чем одного окна деактивация текущего окна вывода удалит его с экрана и перенаправит последующий вывод на окно, которое было активировано перед этим. Если окна вывода не существует, вывод направляется на экран.

Вы можете деактивировать как отдельное окно, так и набор окон, либо задав для этого одно имя окна, либо включив в <список> имена нескольких окон. При использовании команды DEACTIVATE WINDOW ALL деактивируются все активные окна.

Активные окна могут быть удалены с экрана и из памяти командами CLEAR WINDOWS или RELEASE WINDOWS.

DEFINE BAR Определение опции всплывающего меню формат: DEFINE BAR <выраж N> OF <имя> PROMPT <выраж C1>

[MESSAGE <выражC2>][SKIP[FOR<выражL>]]

Команда DEFINE BAR добавляет опцию всплывающего меню. DEFINE BAR используется совместно с командами DEFINE POPUP и ACTIVATE POPUP для создания всплывающего меню и вывода его на экран. Прежде чем можно будет пользоваться командой DEFINE BAR, необходимо определить само всплывающее меню командой DEFINE POPUP. Меню можно убрать с экрана командой DEACTIVATE POPUP, либо и с экрана и из памяти командами CLEAR ALL, CLEAR POPUPS или RELEASE POPUPS.

DEFINE MENU Создание линейки меню формат: DEFINE MENU <имя>[MESSAGE<выражC>]Команда DEFINE MENU создает линейку меню и назначает ей имя. После того, как линейка меню определена, вы можете при помощи команды DEFINE PAD определять элементы линейки меню.

DEFINE PAD Определение элемента линейки меню формат: DEFINE PAD <имя> OF <имя_меню> PROMPT <выражC1> [AT <строка>,<столбец>] [MESSAGE<выражC2>]Команда DEFINE PAD служит для помещения в линейку меню элементов меню. Эта команда используется совместно с командой DEFINE MENU, обычно при создании системы меню. Перемещения между элементами линейки меню выполняются при помощи клавиш управления курсором или мыши.

ON SELECTION PAD Hазначает подпрограмму на поле меню.

Формат: ON SELECTION PAD < имя поля >

OF < имя меню > [ < команда > ]

Команда ON SELECTION PAD назначает подпрограмму на поле меню.

Подпрограмма, которая будет выполняться при выборе поля меню, может быть командой, программой или процедурой.

ACTIVATE MENU Вывод на дисплей и активация линейки меню формат: ACTIVATE MENU <имя1> [PAD <имя2>]Данная команда работает в сочетании с командами DEFINE MENU и DEFINE PAD. Две эти команды определяют линейку меню, которая может располагаться на экране горизонтально или вертикально.

Команда ACTIVATE MENU вызывает на экран или в окно ранее определенную линейку меню, помеченную как <имя1>, и активирует ее для использования.

CLEAR MENUS освобождает все меню из памяти, а также с экрана или из окон.

PROCEDURE. Определяет начало подпрограммы Формат: PROCEDURE < имя > Во многих программах некоторые подпрограммы часто повторяются.

Для уменьшения размера и сложности программ определите эти общеупотребительные подпрограммы как процедуры. Здесь мы будем называть эти процедуры подпрограммами.

Подпрограммы могут располагаться как внутри сомой программы, так и в отдельном файле процедур. Если вы часто используете большое количество подпрограмм, то вы можете захотеть расположить их в отдельном программном файле. Программный файл может содержать до 1170 отдельных подпрограмм.

QUIT

Завершает сеанс Fox-Pro.

Формат: QUIT

Команда QUIT используется для завершения текущего сеанса Fox-Pro и возвращает управление в DOS.

SCATTER

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

Формат: SCATTER [ FIELDS <field_list> ]

TO <array> | MEMVAR | BLANK

Команда SCATTER перемещает данные из текущей записи базы данных в массив переменных памяти или в множество переменных памяти. Этот массив или переменные памяти могут быть отредактированы, и запись может получить новое содержимое из 35-го отредактированного массива переменных памяти или из множества переменных памяти. Команда GATHER запускает перемещение информации из массивов или из переменных памяти в записи базы данных [3].

2. Проектная часть

2.1 Даталогическая модель

Таблица 1

Наименование (Name)

Тип (Type)

Размерность

Width

Dec

NOMAPP

Character

4

0

Номер аппарата

SOST

Character

15

0

Состояние

TIP

Character

15

-

Тип аппарата

OGRUZ

Numeric

2

-

Ограничения по вызову

OGRUR

Numeric

2

Ограничения по времени

SHIFR

Numeric

4

0

Шифр

NOMDOG

Numeric

3

-

Номер договора

PROIZV

Numeric

3

0

Производит-сть

Таблица 2

Наименование (Name)

Тип (Type)

Размерность

Width

Dec

FIO

Character

25

0

Ф.И.О.

KVALIF

Numeric

1

-

Квалификация

SHIFR

Numeric

4

-

Шифр

NOMAPP

Character

4

0

Номер аппарата

2.2 Инфологическая модель

Заключение

транкинговый радиосвязь программа модель

В данной курсовой работе основной задачей являлась автоматизация существующей БД. Это необходимо для того, чтобы облегчить работу пользователя с указанной БД; для удобства таких операций, как поиск данных, их редактирование, ввод, удаление, фильтрация; для наглядного представления данных в БД. Использование вычислительной техники в настоящее время невозможно без рациональной организации информационной базы и обеспечения эффективного доступа к ней пользователей. Для этой цели и служат банки данных, которые нашли применение в автоматизированных системах разных типов и уровней. Таким образом, целью курсовой работы являлось создание автоматизированного банка данных, что мы и осуществили в данном курсовом проекте.

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

1. Пучков Г.Ю., Шурыгин А.В. “Системы транкинговой радиосвязи. Технические характеристики использования в ОВД России. - М.,2001г.-160c.

2. Техническое приложение - системный интегратор в области мобильной радиосвязи(SmarTrunk II) от фирмы РКК (Selectone).

3. Методическое пособие (ДГТУ).

4. Попов А.А. “FoxPro 2.5 ”1996 г.

Приложение

Программа заставки экрана

DEFINE WINDOW rama FROM 2,4 TO 22,71 double fill color w+/r

DEFINE WINDOW ZAS FROM 1,1 TO 17,64 in window rama double fill '-' color scheme 8

ACTIVATE WINDOW rama

ACTIVATE WINDOW ZAS

@ 4,22 SAY 'Курсовая работа '

@ 7,18 SAY 'на тему:'

@ 8,10 SAY 'Система автоматического учёта НТА системы транковой '

@ 9,20 SAY 'связи Smart Trunk II'

@ 11,6 SAY 'Разработала программу студентка 3 курса 3911 гр.'

@ 12,24 SAY ' Алигаджиева А.Н.'

WAIT ' Для продолжения нажмите на любую клавишу' window

RELEASE WINDOWS

RETURN

************************

***файл экранных форм***

DEFINE WINDOW REE from 7,15 to 17,70;

TITLE ' ВВЕДИТЕ ДАННЫЕ ';

SHADOW COLOR SCHEME 8

@ 5,5 SAY "Номер аппарата:" SAY STR(nomapp)

@ 6,5 SAY "Состояние:"

@ 7,5 SAY "Тип аппарата:"

@ 8,5 SAY "Ограничения по вызову:"

@ 9,5 SAY "Ограничения по времени:"

@ 10,5 SAY "Шифр:"

@ 11,5 SAY "Номер договора:" get nomdog

WAIT

DEACTIVATE WINDOW REE

RETURN

***ФИЛЬТРАЦИЯ***

set talk off

clear

***********************************

DEFINE WINDOW FLT1 from 10,12 to 12,61 CLOSE SHADOW

color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

************************************

ACTIVATE WINDOW FLT1

kluch=space(10)

@ 0,1 say 'Введите,пожалуйста,ключ фильтрации:' get kluch

read

DEACTIVATE WINDOW FLT1

kluch=ALLTRIM(kluch)

*DO ZAMENA

*SET FILTER TO tip=kluch

*************************************

activate window WIW

Browse fields tab:h='Taбельный номер: ', fio:h='Фамилия, Имя, Отчество: ' * gr:h='Год рождения: ',; * sm=IIF(sem='Н','not married',IIF(sem='Б','married','divorced')); *:h='Семейное положение: ',;

* deti:h='Количество детей: ',; * oklad:h='Оклад: ',; * zar:h='Заработная плата: ',; * dol:h='Должность: ',; * b.nal:h='Налог за бездетность: '; * redit in window WIW partition 12 lpartition;

nomodify nodelete noappend

deactivate window WIW

*Browse for tip=kluch fields nomapp:h='Taбельный номер аппарата',

*tip:h='Тип аппарата ', shifr:h='Шифр ',nomdog:h='Номер договора',

*proizv:h='Производительность', ogrvz:h='ogrvz ',ogrvr:h='ogrvr'

*deactivate window WIW

RETURN

**********************************************

***ФИЛЬТРАЦИЯ***

set talk off

clear

***********************************

DEFINE WINDOW FLT1 from 10,12 to 12,64 DOUBLE CLOSE SHADOW

color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

************************************

ACTIVATE WINDOW FLT1

kl=0

@ 0,1 say 'Введите, пожалуйста, ключ фильтрации:

' get kl pict'99'

read

DEACTIVATE WINDOW FLT1

*SET FILTER TO NOMAPP=kl

*************************************

activate window WIW

Browse fields tab:h='Taбельный номер: ', fio:h='Фамилия, Имя, Отчество: ' * gr:h='Год рождения: ',; * sm=IIF(sem='Н','not married',IIF(sem='Б','married','divorced')); *:h='Семейное положение: ',;

* deti:h='Количество детей: ',; * oklad:h='Оклад: ',; * zar:h='Заработная плата: ',; * dol:h='Должность: ',; * b.nal:h='Налог за бездетность: '; * redit in window WIW partition 12 lpartition;

nomodify nodelete noappend

deactivate window WIW

*Browse for nomapp=str(kl) fields nomapp:h='Taбельный номер аппарата',

*tip:h='Тип аппарата ', shifr:h='Шифр ',nomdog:h='Номер договора',

*proizv:h='Производительность', ogrvz:h='ogrvz ',ogrvr:h='ogrvr'

* deactivate window WIW

RETURN

**********************************************

******************************

***стартовый командный файл***

SET TALK OFF

SET STATUS OFF

SET DATE GERMAN

**********************************

***командный файл поиска данных***

CLEAR

app=space(4)

DEFINE WINDOW poisk from 7,15 to 9,50;

TITLE ' ВВЕДИТЕ ДАННЫЕ ДЛЯ ПОИСКА ';

SHADOW COLOR SCHEME 8

DEFINE WINDOW netrez from 7,20 to 9,50;

TITLE ' ДАННЫХ НЕТ ';

SHADOW COLOR SCHEME 8

ACTIVATE WINDOW poisk

@ 0,0 GET app

READ

DEACTIVATE WINDOW POISK

LOCATE ALL FOR TRIM(app) $ TRIM(nomapp)

IF.not. found()

ACTIVATE WINDOW netrez

WAIT

RETURN

ENDIF

DO ekr1

edit

RETURN

WAIT 'Нажмите любую клавишу'

**запуск программы заставки экрана

DO a:\0\zastav

**командного файла

DO a:\0\main

QUIT

***файл главного меню***

use a:\0\kat1

SET MESSAGE WINDOW MESS

ON KEY LABEL Ctrl+W DO wihod

DEFINE WINDOW gm FROM 1,1 TO 21,78;

FOOTER 'CTRL+W выход из программы ';

TITLE ' Главное меню ' DOUBLE

DEFINE WINDOW MESS FROM 22,0 TO 24,78;

TITLE '*****СООБЩЕНИЕ*****'DOUBLE

DEFINE MENU greatmenu IN window gm shadow

DEFINE PAD a1 OF greatmenu PROMPT '\<Ввод ' MESSAGE ' Осушествляется ввод информации '

DEFINE PAD a2 OF greatmenu PROMPT '\<Поиск ' MESSAGE ' Поиск аппаратов по номеру аппарата '

DEFINE PAD a3 OF greatmenu PROMPT '\<Вывод ' MESSAGE ' Вывод списка аппаратов в различных режимах '

DEFINE PAD a4 OF greatmenu PROMPT '\<Выход ' key 'Ctrl+W' MESSAGE ' Выход из системы '

ON SELECTION PAD a1 OF greatmenu DO WWOD

ON SELECTION PAD a2 OF greatmenu DO REDAK

ON SELECTION PAD a3 OF greatmenu DO WIWOD

ON SELECTION PAD a4 OF greatmenu DO WIHOD

ACTIVATE WINDOW MESS

ACTIVATE WINDOW gm

ACTIVATE MENU greatmenu

CLEAR MENUS

CLEAR WINDOWS

POP KEY

SET CLOCK OFF

CANCEL

**************************************

***коммандный файл для ввода данных***

DEFINE WINDOW WW from 7,10 TO 20,60;

TITLE ' ВВЕДИТЕ ДАННЫЕ ';

SHADOW COLOR SCHEME 8

m.nomapp=space(4).

m.sost=space(15)

m.tip=space(15)

m.ogrvz=0

m.ogrvr=0

m.shifr=0

m.nomdog=0

ACTIVATE WINDOW WW

@ 1,5 SAY ' НОМЕР АППАРАТА ' GET m.nomapp color scheme 8

@ 2,5 SAY ' СОСТОЯНИЕ ' GET m.sost color scheme 8

@ 3,5 SAY ' ТИП АППАРАТА ' GET m.tip color scheme 8

@ 4,5 SAY ' ОГРАНИЧЕНИЯ ПО ВЫЗОВУ ' GET m.ogrvz color scheme 8

@ 5,5 SAY ' ОГРАНИЧЕНИЯ ПО ВРЕМЕНИ ' GET m.ogrvr color scheme 8

@ 6,5 SAY ' ШИФР ' GET m.shifr color scheme 8

@ 7,5 SAY ' НОМЕР ДОГОВОРА ' GET m.nomdog color scheme 8

i=1

@ 8,1 GET i function '*H\! ВВОД; \ ОТКАЗ' SIZE 1,8,2

READ CYCLE

IF READKEY()=27

DEACTIVATE WINDOW WW

ENDIF

IF i=1 then

APPEND BLANK

GATHER MEMVAR FIELDS NOMAPP,SOST,TIP,OGRVZ,OGRVR,SHIFR,NOMDOG

ENDIF

RETURN

************************

***файл экранных форм***

DEFINE WINDOW REE from 7,15 to 17,70;

TITLE ' ВВЕДИТЕ ДАННЫЕ ';

SHADOW COLOR SCHEME 8

@ 5,5 SAY "Номер аппарата:" SAY STR(nomapp)

@ 6,5 SAY "Состояние:"

@ 7,5 SAY "Тип аппарата:"

@ 8,5 SAY "Ограничения по вызову:"

@ 9,5 SAY "Ограничения по времени:"

@ 10,5 SAY "Шифр:"

@ 11,5 SAY "Номер договора:" get nomdog

WAIT

DEACTIVATE WINDOW REE

RETURN

set talk off

clear

sem2=space(10)

***********************************

DEFINE WINDOW PSK1 from 10,12 to 14,66 DOUBLE CLOSE SHADOW color scheme 5 TITLE ' ввод данных для поиска '

DEFINE WINDOW PSK2 from 5,18 to 14,64 DOUBLE CLOSE SHADOW color r+/n TITLE 'результат поиска '

************************************

ACTIVATE WINDOW PSK1

fio2=" "

@ 1,1 say 'Введите,пожалуйста тип аппарата ' get fio2

read

DEACTIVATE WINDOW PSK1

*DO TRANSLATION_OF_SURNAMES

locate for tip=fio2

if tip<>fio2

clear

set cursor off

ACTIVATE WINDOW PSK2

@ 3,0 say " В БАЗЕ ДАННЫХ ТАКОЙ ТИП" color w+/n

@ 3,29 say "ОТСУТСВУЕТ" color w+*/n

read

set cursor on

DEACTIVATE WINDOW PSK2

else

clear

DEFINE WINDOW PSK1 FROM 14,1 TO 23,78 color scheme 5

ACTIVATE WINDOW PSK2

SET CURSOR OFF

@ 0,0 say " номер аппарата: ¦"+padl(nomapp,18)

@ 1,0 say " наименование типа: ¦"+padl(tip,18)

@ 2,0 say " состояние: ¦"+padl(sost,18)

@ 3,0 say " ogrvz: ¦"+padl(ogrvz,18)

@ 4,0 say " ogrvr: ¦"+padl(ogrvr,18)

@ 5,0 say " номер договора: ¦"+padl(nomdog,18)

@ 6,0 say " шифр: ¦"+padl(shifr,18)

@ 7,0 say " производительность: ¦"+padl(proizv,18)

read

SET CURSOR ON

DEACTIVATE WINDOW PSK2

endif

**************************************

*PROCEDURE TRANSLATION_OF_SURNAMES

*DO CASE

* CASE fio2="Абукаев Р."

* fio2="Abukaev R."

* CASE fio2="Абдулаева М."

* fio2="Abdulaeva M."

* OTHERWISE fio2

*ENDCASE

*RETURN

****************************************

set talk off

clear

sem2=space(10)

***********************************

DEFINE WINDOW PSK1 from 10,19 to 14,60 DOUBLE CLOSE SHADOW color scheme 5 TITLE ' ВВЕДИТЕ ТАБ НОМЕР ДЛЯ ПОИСКА'

DEFINE WINDOW PSK2 from 5,18 to 14,64 DOUBLE CLOSE SHADOW color g+/n TITLE 'RESULT OF SEARCH '

************************************

ACTIVATE WINDOW PSK1

tab2='00'

@ 1,1 say 'Введите,пожалуйста номер аппарата' get tab2

read

DEACTIVATE WINDOW PSK1

locate for nomapp=tab2

if nomapp<>tab2

clear

DEFINE WINDOW PSK1 FROM 14,1 TO 23,78 color scheme 5

ACTIVATE WINDOW PSK2

do t

proced t

@ 0,0 say " номер аппарата: ¦"+padl(nomapp,18)

@ 1,0 say " наименование типа: ¦"+padl(tip,18)

@ 2,0 say " состояние: ¦"+padl(sost,18)

@ 3,0 say " ogrvz: ¦"+padl(ogrvz,18)

@ 4,0 say " ogrvr: ¦"+padl(ogrvr,18)

@ 5,0 say " номер договора: ¦"+padl(nomdog,18)

@ 6,0 say " шифр: ¦"+padl(shifr,18)

@ 7,0 say " производительность: ¦"+padl(proizv,18)

read

DEACTIVATE WINDOW PSK2

else

ACTIVATE WINDOW PSK2

set cursor off

@ 3,3 say "В БАЗЕ ДАННЫХ ТАКОЙ НОМЕР АППРАТА" color w+/n

@ 4,15 say "ОТСУТСВУЕТ" color w+*/n

read

set cursor on

DEACTIVATE WINDOW PSK2

endif

RETURN

**командный файл поиска данных**

CLEAR

app=space(4)

DEFINE WINDOW poisk from 7,15 to 9,50;

TITLE ' ВВЕДИТЕ ДАННЫЕ ДЛЯ ПОИСКА ';

SHADOW COLOR SCHEME 8

DEFINE WINDOW netrez from 7,20 to 9,50;

TITLE ' ДАННЫХ НЕТ ';

SHADOW COLOR SCHEME 8

ACTIVATE WINDOW poisk

@ 0,0 GET app

READ

DEACTIVATE WINDOW POISK

LOCATE ALL FOR TRIM(app) $ TRIM(nomapp)

IF.not. found()

ACTIVATE WINDOW netrez

WAIT

RETURN

ENDIF

DO ekr

edit

RETURN

param ser

set talk off

set date GERMAN

clear

defi popu sev from 2,23

defi bar 1 of sev prompt'сохр-е'

defi bar 2 of sev prompt'вост-е'

on sele bar 1 of sev do instrah

on sele bar 2 of sev do outstrah

do case

case ser=1

do perein

case ser=2

activ popup sev

case ser=3

do yga

endcase

proced perein

sele a

reindex

sele b

reindex

sele c

reindex

sele d

reindex

return

deacti popu sev

procedure instrah && сохранение

close all

!copy *.dbf.\strah >nul

!copy *.idx.\strah >nul

!copy *.cdx.\strah >nul

use kat1.dbf in a

use pers.dbf in b

return

procedure outstrah && восстановление из страх директ

!copy.\strah\*.dbf. >nul

!copy.\strah\*.idx. >nul

!copy.\strah\*.cdx. >nul

return

**********************************

**стартовый командный файл

SET TALK OFF

SET STATUS OFF

SET DATE GERMAN

SET SAFETY OFF

WAIT 'Нажмите любую клавишу'

**запуск программы заставки экрана

DO a:\0\zastav

**командного файла

DO a:\0\main

QUIT

**командный файл выхода из системы

DEFINE POPUP P2 FROM 1,2 TO 5,29 TITLE 'Вывод' SHADOW

DEFINE BAR 1 OF P2 PROMPT'\<НЕ ВЫХОДИТЬ '

DEFINE BAR 2 OF P2 PROMPT'\-'

DEFINE BAR 3 OF P2 PROMPT'\<ВЫХОД В СУБД FoxPro'

DEFINE BAR 4 OF P2 PROMPT'\-'

DEFINE BAR 5 OF P2 PROMPT'\<ВЫХОД В DOS '

ON SELECTION BAR 1 OF P2 DO vyb1 with bar()

ON SELECTION BAR 3 OF P2 DO vyb1 with bar()

ON SELECTION BAR 5 OF P2 DO vyb1 with bar()

ACTIVATE POPUP P2

DEACTIVATE POPUP P2

RETURN

PROCEDURE vyb1

PARAMETERS C

DO CASE

CASE C=1

RETURN

CASE C=3

CANCEL

CASE C=5

QUIT

ENDCASE

RETURN

**командный файл выхода из системы**

DEFINE POPUP MENU1 FROM 10,20;

TITLE 'Операции с базой данных'

DEFINE WINDOW WW FROM 3,5 TO 16,73 COLOR SCHEME 5

DEFINE BAR 1 OF MENU1 PROMPT'\<Выход с сохранением изменений'

DEFINE BAR 2 OF MENU1 PROMPT'\<Выход без сохранения изменений' KEY Ctrl+T, '^T'

DEFINE BAR 3 OF MENU1 PROMPT'\<Очистка БД';

MESSAGE 'Будте осторожны будет очищена вся база данных';

COLOR,w+/r,,,w+*/r

DEFINE BAR 4 OF MENU1 PROMPT'\-'

DEFINE BAR 5 OF MENU1 PROMPT'\<ВЫХОД В СУБД FoxPro'

DEFINE BAR 6 OF MENU1 PROMPT'\<ВЫХОД В DOS '

ON SELECTION BAR 1 OF MENU1 do udal_ &&ACTIVATE POPUP MENU2

ON SELECTION BAR 2 OF MENU1 do udal &&ACTIVATE POPUP MENU2

ON SELECTION BAR 3 OF MENU1 DO _Zap

ON SELECTION BAR 5 OF MENU1 DO _Exit

ON SELECTION BAR 6 OF MENU1 DO NotSaveExit

ACTIVATE POPUP MENU1

cancel

***********************

******Опция выход******

PROCEDURE _Exit

cancel

RETURN

PROCEDURE NotSaveExit

quit

RETURN

****************************************

Procedure udal

define popup dudal from 7,2 prompt field a.nomapp title 'Сделайте свой выбор' footer 'Удаление-ENTER' shadow

on selection popup dudal do del

activate popup dudal

return

******************************************

*ПРОЦЕДУРА ПОДТВЕРЖДЕНИЯ УДАЛЕНИЯ

******************************************

Procedure del

define window udal from 12,20 to 18,60 color scheme 5;

title 'Подтвердите удаление' shadow fill' '

activate window udal

@ 2,5 say 'Вы уверены?'

ch=1

@ 4,9 get ch func '*h НЕТ; ДА' size 1,4,10

read cycle

if ch=2 && Подтверждение получено

select b

locate for b.nomapp=a.nomapp

delete

pack

select a

delete

pack

endif

deactivate window udal

return

PROCEDURE UDAL_

PARAMETERS mprompt

mprompt=left(mprompt, 6)

sele a

delete all for nomapp=mprompt

pack

sele b

delete for nomapp=mprompt

pack

sele a

return

PROCEDURE _find

PARAMETERS mprompt

sele a

locate for nomapp=left(mprompt, 6)

DEACTIVATE POPUP MENU3

RETURN

PROCEDURE _Zap

sele a

delete all for.T.

sele b

delete all for.T.

sele a

return

************************************************

***командный файл печати отчетных документов***

DEFINE POPUP P1 FROM 1,2 TO 5,19 TITLE 'Вывод' SHADOW

DEFINE BAR 1 OF P1 PROMPT'\<ЭКРАН'

DEFINE BAR 2 OF P1 PROMPT'\-'

DEFINE BAR 3 OF P1 PROMPT'\<ПРИНТЕР'

DEFINE BAR 4 OF P1 PROMPT'\-'

DEFINE BAR 5 OF P1 PROMPT'\<ФАЙЛ'

ON SELECTION BAR 1 OF P1 DO vyb with bar()

ON SELECTION BAR 3 OF P1 DO vyb with bar()

ON SELECTION BAR 5 OF P1 DO vyb with bar()

ACTIVATE POPUP P1

DEACTIVATE POPUP P1

RETURN

PROCEDURE vyb

PARAMETERS b

sch=SPACE(10)

fil=space(5)

DO CASE

CASE b=1

sch=SPACE(10)

*@ 5,5 SAY " "

@ 6,15 SAY "введите шифр" get m.sch

read

REPORT FORM FOR trim(sch)=trim(shifr)

WAIT 'Для продолжения нажмите любую клавишу'

CASE b=3

sch=SPACE(10)

@ 5,5 SAY " "

@ ROW(),COL()+12 SAY "введите шифр" get m.sch

read

REPORT FORM FOR trim(sch)=trim(shifr) TO PRINT

CASE b=5

@ 5,5 SAY 'Введите имя файла:' GET m.fil

READ

fil=TRIM(fil)

sch=SPACE(10)

@ 5,5 SAY " "

@ ROW(),COL()+12 SAY "введите шифр" get m.sch

read

REPORT FORM FOR trim(sch)=trim(shifr) TO FILE fil

ENDCASE

RETURN

**командный файл для ввода данных**

DEFINE WINDOW WW from 7,10 TO 20,60;

DOUBLE TITLE ' ВВЕДИТЕ ДАННЫЕ ';

SHADOW COLOR scheme 5

m.nomapp=space(4)

m.sost=space(15)

m.tip=space(15)

m.ogrvz=0

m.ogrvr=0

m.shifr=0

m.nomdog=0

ACTIVATE WINDOW WW

@ 1,5 SAY ' НОМЕР АППАРАТА ' GET m.nomapp color scheme 8

@ 2,5 SAY ' СОСТОЯНИЕ ' GET m.sost color scheme 8

@ 3,5 SAY ' ТИП АППАРАТА ' GET m.tip color scheme 8

@ 4,5 SAY ' ОГРАНИЧЕНИЯ ПО ВЫЗОВУ ' GET m.ogrvz color scheme 8

@ 5,5 SAY ' ОГРАНИЧЕНИЯ ПО ВРЕМЕНИ ' GET m.ogrvr color scheme 8

@ 6,5 SAY ' ШИФР ' GET m.shifr color scheme 8

@ 7,5 SAY ' НОМЕР ДОГОВОРА ' GET m.nomdog color scheme 8

i=1

@ 8,1 GET i function '*H\! ВВОД; \ ОТКАЗ' SIZE 1,8,2

READ CYCLE

IF READKEY()=27

DEACTIVATE WINDOW WW

ENDIF

IF i=1 then

APPEND BLANK

GATHER MEMVAR FIELDS NOMAPP,SOST,TIP,OGRVZ,OGRVR,SHIFR,NOMDOG

ENDIF

RETURN

***файл главного меню***

set safety off

set talk off

set date GERMAN

clear

clear macros

set clock on

use a:\0\kat1 in a

use a:\0\pers in b

select a

index on nomapp to a:\0\kat1

select b

index on nomapp to a:\0\pers

select a

set relation to nomapp into b

SET MESSAGE WINDOW MESS

ON KEY LABEL Ctrl+W DO wihod

DEFINE WINDOW gm FROM 1,1 TO 21,78;

FOOTER 'CTRL+W выход из программы ';

TITLE ' Главное меню ' DOUBLE

DEFINE WINDOW MESS FROM 22,1 TO 24,78;

TITLE '*****СООБЩЕНИЕ*****'DOUBLE

dimen a(10)

DEFINE WINDOW pr from 3,5 to 16,73 SHADOW color scheme 8 panel TITLE ' Окно ввода '

DEFINE WINDOW WIW from 3,5 to 14,73 SHADOW color scheme 7 double TITLE ' Окно вывода '

DEFINE WINDOW AR from 3,8 to 17,70 CLOSE SHADOW color scheme 7 TITLE ' About Programm '

DEFINE WINDOW MAIN FROM 0,0 TO 24,79 TITLE ' WITH DATABASES ' NOCLOSE FILL '-' COLOR bg/n

** Определение главного BAR-меню greatmenu ****

DEFINE MENU greatmenu IN window gm shadow

DEFINE PAD a1 OF greatmenu PROMPT '\<ДАННЫЕ ';

MESSAGE ' Для продолжения нажмите ENTER ';

COLOR,,,, w+*/r

DEFINE PAD a2 OF greatmenu PROMPT '\<ДЕЙСТВИЯ ';

MESSAGE ' Для продолжения нажмите ENTER ';

COLOR,,,,w+*/r

DEFINE PAD a3 OF greatmenu PROMPT '\<ФОРМЫ';

MESSAGE ' Для продолжения нажмите ENTER ';

COLOR,,,,w+*/r

DEFINE PAD a4 OF greatmenu PROMPT '\<СЕРВИС';

MESSAGE ' Для продолжения нажмите ENTER ';

COLOR,,,,w+*/r

DEFINE PAD a5 OF greatmenu PROMPT '\<Выход ' key 'Ctrl+W';

MESSAGE ' Для продолжения нажмите ENTER ';

COLOR,,,,w+*/r

ON SELECTION PAD a1 OF greatmenu activate popup vvod &&DO WWOD

ON SELECTION PAD a2 OF greatmenu activate popup redact &&DO REDAK

ON SELECTION PAD a3 OF greatmenu DO WIWOD

ON SELECTION PAD a4 OF greatmenu DO WIWOD

ON SELECTION PAD a5 OF greatmenu DO WIHOD_

DEFINE POPUP vvod FROM 1,0 SHADOW

DEFINE BAR 1 OF vvod PROMPT 'Просмотр данных';

message 'Просмотр Базы Данных ' COLOR,,,,w+*/r

DEFINE BAR 2 OF vvod PROMPT 'Ввод данных';

message 'Ввод новой записи' COLOR,,,,w+*/r

DEFINE BAR 3 OF vvod PROMPT 'Вывод данных в файл';

message 'Вывод Базы Данных в файл' COLOR,,,,w+*/r

ON SELECTION BAR 1 OF vvod DO prosm

ON SELECTION BAR 2 OF vvod DO WOD

ON SELECTION BAR 3 OF vvod DO WFILE

DEFINE POPUP redact from 1,15 SHADOW

DEFINE BAR 1 of redact prompt 'Поиск данных ';

message 'Поиск записи на члена бригады' COLOR,,,,w+/r

on selection bar 1 of redact do redak

ACTIVATE WINDOW MESS

ACTIVATE WINDOW gm

ACTIVATE MENU greatmenu

CLEAR MENUS

CLEAR WINDOWS

POP KEY

SET CLOCK OFF

CANCEL

*******Процедура просмотра******

procedure prosm

*activate window pr

sele a

browse fields;

nomapp:h='номер аппарата':4,;

sost:h='состояние аппарата':7,;

tip:h='тип аппарата':9,;

ogrvz:h='ограничения по вызову':4,;

ogrvr:h='ограничения по времени':4,;

shifr:h='шифр':4,;

nomdog:h='номер договора':4,;

proizv:h='производительность аппарата':4,;

b.fio:h='ф.и.о. персонала':7,;

b.kvalif:h='квалификация':1;

window pr

* color scheme 5

********Процедура ввода данных******

PROCEDURE WOD

DEFINE WINDOW WW from 7,10 TO 20,60;

DOUBLE TITLE ' ВВЕДИТЕ ДАННЫЕ ';

SHADOW COLOR scheme 5

m.nomapp=space(4)

m.sost=space(15)

m.tip=space(15)

m.ogrvz=0

m.ogrvr=0

m.shifr=0

m.nomdog=0

m.fio=space(25)

m.kvalif=0

ACTIVATE WINDOW WW

@ 1,5 SAY ' НОМЕР АППАРАТА ' GET m.nomapp color scheme 8

@ 2,5 SAY ' СОСТОЯНИЕ ' GET m.sost color scheme 8

@ 3,5 SAY ' ТИП АППАРАТА ' GET m.tip color scheme 8

@ 4,5 SAY ' ОГРАНИЧЕНИЯ ПО ВЫЗОВУ ' GET m.ogrvz color scheme 8

@ 5,5 SAY ' ОГРАНИЧЕНИЯ ПО ВРЕМЕНИ ' GET m.ogrvr color scheme 8

@ 6,5 SAY ' ШИФР ' GET m.shifr color scheme 8

@ 7,5 SAY ' НОМЕР ДОГОВОРА ' GET m.nomdog color scheme 8

@ 8,5 SAY ' ФИО ПЕРСОНАЛА ' GET m.fio color scheme 8

@ 9,5 SAY ' КВАЛИФИКАЦИЯ ' GET m.kvalif color scheme 8

i=1

@ 10,5 GET i function '*H\! ВВОД; \ ОТКАЗ' SIZE 1,8,2

READ CYCLE

IF READKEY()=27

DEACTIVATE WINDOW WW

ENDIF

IF i=1 then

APPEND BLANK

GATHER MEMVAR FIELDS NOMAPP,SOST,TIP,OGRVZ,OGRVR,SHIFR,NOMDOG

ENDIF

DEACTIVATE WINDOW WW

RETURN

**************ПРОЦЕДУРА ВЫВОДА В ФАЙЛ****************

PROCEDURE WFILE

f=space(6)

define window wf from 10,10 to 12,35 double title 'Введите имя файла' color scheme 8

activate window wf

@ 0,1 get f

read

set printer on

set printer to file &f

select a

? 'г==T=====T=====T====T===T===T==T===T======T===¬'

? '¦N ¦Сост.¦Тип ¦Орган.¦Орган.¦Шифр¦N ¦Произ ¦Фамилия ¦Квали¦'

? '¦ап¦аппа-¦аппарарта¦вызова¦време-¦аппа¦дого¦води ¦сотрудни ¦фика-¦'

? '¦ ¦рата ¦ ¦ ¦ни ¦рата¦вора¦тельн.¦ка ¦ция ¦'

? '¦--+-----+---------+------+------+----+----+------+---------+-----¦'

i=1

scan

a = '¦'+padr(nomapp,2)+'¦'+padr(sost,5)+'¦'+padr(tip,9)+'¦'+str(ogrvz,6);

+'¦'+str(ogrvr,6)+'¦'+str(shifr,4)+'¦'+str(nomdog,4)+'¦'+str(proizv,6)+;

'¦'+padr(b.fio,9)+'¦'+str(b.kvalif,5)+'¦'

i=i+1

?a

endscan

?'L==¦====¦======¦====¦====¦====¦====¦======¦=========¦=====-'

set printer to

set printer off

deactivate window wf

modi file &f

return

**командный файл поиска данных**

procedure poisc

CLEAR

app=space(4)

DEFINE WINDOW poisk from 7,15 to 9,50;

TITLE ' ВВЕДИТЕ ДАННЫЕ ДЛЯ ПОИСКА ';

SHADOW COLOR SCHEME 8

DEFINE WINDOW netrez from 7,20 to 9,50;

TITLE ' ДАННЫХ НЕТ ';

SHADOW COLOR SCHEME 8

ACTIVATE WINDOW poisk

@ 0,0 GET app

READ

DEACTIVATE WINDOW POISK

LOCATE ALL FOR TRIM(app) $ TRIM(nomapp)

IF.not. found()

ACTIVATE WINDOW netrez

WAIT

RETURN

ENDIF

DO prosm

edit

RETURN




Подобные документы

  • Структура Кандыагашской дистанции сигнализации и связи. Необходимость перехода на цифровые стандарты радиосвязи. Проектирование и строительство системы TETRA на участке железной дороги Кандыагаш-Никельтау. Функции и технические характеристики стандарта.

    дипломная работа [1,9 M], добавлен 16.04.2014

  • Организация сетей радиосвязи. Частотно-территориальное планирование. Модель сотовой сети связи. Применение кластеров минимального размера. Интерференция частотных каналов в сети. Сота-ретранслятор, ее предназначение. Функции одночастотных ретрансляторов.

    презентация [1,5 M], добавлен 16.03.2014

  • Статистическая модель системы связи. Эффективность аналоговых систем передачи информации. Типы приемных антенн. Квантованные во времени импульсные и цифровые системы связи. Трудности, связанные с конструированием оптических модуляторов и приемников.

    реферат [497,5 K], добавлен 24.08.2015

  • Анализ оснащенности участка проектирования системами связи. Требования к стандартам радиосвязи. Преимущества GSM-R, принципы построения, организация каналов доступа, особенности базовой структуры. Энергетический расчет проектируемой системы радиосвязи.

    дипломная работа [4,5 M], добавлен 24.06.2011

  • Организация поездной радиосвязи. Расчет дальности действия радиосвязи на перегоне и на станции. Радиоаппаратура и диапазон частот. Выбор и анализ направляющих линий. Организация станционной радиосвязи. Организация громкоговорящей связи на станции.

    курсовая работа [484,8 K], добавлен 28.01.2013

  • Перспективы мобильности беспроводных сетей связи. Диапазон частот радиосвязи. Возможности и ограничения телевизионных каналов. Расчет принимаемого антенной сигнала. Многоканальные системы радиосвязи. Структурные схемы радиопередатчика и приемника.

    презентация [2,9 M], добавлен 20.10.2014

  • Назначение базы данных и ее основные функции. Категории пользователей, инфологическое и даталогическое проектирование базы данных "Интернет-магазин". Учет специфики предметной области, ограничения и бизнес-правила. Описание пользовательского интерфейса.

    курсовая работа [3,3 M], добавлен 30.09.2011

  • Обзор процесса совершенствования систем в области радиосвязи. Осуществление пакетной передачи данных посредством системы GPRS, принципы ее построения и терминальное оборудование. Преимущества и недостатки введения услуг GPRS в системы сотовой связи.

    реферат [21,3 K], добавлен 22.10.2011

  • Принципы построения сельских сетей связи. Характеристика Пружанского района. Автоматизация процессов управления на проектируемой сети связи, базы данных сельских сетей связи. Экономический расчет эффективности сети, определение эксплуатационных затрат.

    курсовая работа [1,6 M], добавлен 06.01.2014

  • Транкинговая связь: понятие, стандарты радиосвязи, операторы. Обобщенные сведения о системах стандартов Edacs, Tetra, Apco 25, Tetrapol, iden и их технические характеристики. Функциональные возможности, предоставляемые системами цифровой радиосвязи.

    курсовая работа [37,4 K], добавлен 16.09.2013