InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Пример простейшей программы на языке Informix-4GL


database zawod MAIN MENU "гЛАВНОЕ МЕНЮ" command key("w") "вВОД" "вВОД УЧЕТНЫХ ДАННЫХ" call wwod() command key("p") "пРОСМОТР" "пРОСМОТР ТАБЛИЦЫ kadry" call prosmotr() command "OДИНОЧНЫЙ ПРОСМОТР" "пОИСК ПО ТАБЕЛЬНОМУ НОМЕРУ" call odin_prosmotr() command "KОНЕЦ" clear screen exit program end menu END MAIN FUNCTION wwod() define c char(1) , zapisx record like kadry.* # эТО ОБRЯВЛЕНИЕ ЭКВИВАЛЕНТНО ТАКОМУ: # DEFINE zapisx RECORD # nomerceh INT, # НОМЕРЦЕХА # tabnom INT, # ТАБЕЛЬН.НОМЕР # fio CHAR(20), # ФАМИЛИЯ # dolvn CHAR(20), # ДОЛЖНОСТЬ # zarplata MONEY(16,2), # ЗАРПЛАТА # datarovd DATE # ДАТА РОЖД # END RECORD OPEN WINDOW wwod AT 4,20 WITH FORM "kadry" attribute(border) MESSAGE "вВЕДИТЕ УЧЕТНЫЕ ДАННЫЕ, И НАЖМИТЕ ESC" attribute (reverse) let c="Y" WHILE c NOT MATCHES "[nNНн]" or c is NULL # в ЦИКЛЕ INPUT by name zapisx.* # вВЕСТИ ДАННЫЕ ЧЕРЕЗ ЭКРАННУЮ ФОРМУ DISPLAY "пРИНЯТО" AT 1 , 1 let zapisx.tabnom=0 INSERT INTO kadry values (zapisx.*) # вСТАВИТЬ СТРОКУ В ТАБЛИЦУ kadry display SQLCA.SQLERRD[2] to tabnom# кАКОЙ НОМЕР ПОЛУЧИЛ serial СТОЛБЕЦ ? prompt "пРИНЯТО. вВОДИТЬ СЛЕДУЮЩЕГО (дА/нЕТ)?" for char c END WHILE CLOSE WINDOW WWOD # лИКВИДИРУЕМ ОКОШКО END FUNCTION FUNCTION prosmotr() define zapisx record like kadry.* , c char open window prosmotr at 4,34 with form "kadry" attribute(border) declare prosmotr cursor for select * from kadry order by nomerceh, tabnom FOREACH prosmotr INTO zapisx.* # в ЦИКЛЕ ДЛЯ КАЖДОЙ СТРОКИ DISPLAY BY NAME zapisx.* # вЫВЕЛИ ЕЕ НА ЭКРАН prompt "пОКАЗЫВАТЬ СЛЕДУЮЩЕГО (дА/нЕТ)? " for char c IF c matches "[нНNn]" then exit foreach END IF # еСЛИ нЕТ ТО КОНЕЦ END foreach close window prosmotr # лИКВИДИРУЕМ ОКОШКО END FUNCTION FUNCTION odin_prosmotr() define zapisx record like kadry.* , nomer int open window odin_prosmotr at 4,4 with form "kadry" attribute(border) WHILE 1=1 # в ЦИКЛЕ prompt "кАКОЙ ТАБЕЛЬНЫЙ НОМЕР ПОКАЗАТЬ: " attribute (reverse) for nomer attribute (underline) IF nomer IS NULL THEN exit while END IF # еСЛИ НИЧЕГО НЕ ВВЕЛ ТО КОНЕЦ SELECT * INTO zapisx.* FROM kadry WHERE nomer=tabnom # чИТАЕМ СТРОЧКУ if status = NOTFOUND then error "нЕТ ТАКИХ" attribute (reverse) # еСЛИ НЕ НАШЛОСЬ ТО continue while # ПЕРЕЙТИ НА НАЧАЛО ЦИКЛА end if DISPLAY BY NAME zapisx.* # вЫВЕЛИ ЕЕ НА ЭКРАН END WHILE close window odin_prosmotr # лИКВИДИРУЕМ ОКОШКО END FUNCTION


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua