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.* # DýÒÎ ÎÁ¢ßÂËÅÍÈÅ ÝÊÂÈÂÀËÅÍÒÍÎ ÒÀÊÎÌÓ:E # 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.* # DâÂÅÑÒÈ ÄÀÍÍÛÅ ×ÅÐÅÇ ÝÊÐÀÍÍÓÞ ÔÎÐÌÓE DISPLAY "ïÐÈÍßÒÎ" AT 1 , 1 let zapisx.tabnom=0 INSERT INTO kadry values (zapisx.*) # DâÑÒÀÂÈÒÜ ÑÒÐÎÊÓ Â ÒÀÁËÈÖÓ kadryE display SQLCA.SQLERRD[2] to tabnom# DêÀÊÎÉ ÍÎÌÅÐ ÏÎËÓ×ÈË serial ÑÒÎËÁÅÖ ?E prompt "ïÐÈÍßÒÎ. âÂÎÄÈÒÜ ÑËÅÄÓÞÙÅÃÎ (äÀ/íÅÒ)?" for char c END WHILE CLOSE WINDOW WWOD # DëÈÊÂÈÄÈÐÓÅÌ ÎÊÎØÊÎE 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.* # Dâ ÖÈÊËÅ ÄËß ÊÀÆÄÎÉ ÑÒÐÎÊÈE DISPLAY BY NAME zapisx.* # DâÛÂÅËÈ ÅÅ ÍÀ ÝÊÐÀÍE prompt "ïÎÊÀÇÛÂÀÒÜ ÑËÅÄÓÞÙÅÃÎ (äÀ/íÅÒ)? " for char c IF c matches "[íÍNn]" then exit foreach END IF # DåÑËÈ íÅÒ ÒÎ ÊÎÍÅÖE END foreach close window prosmotr # DëÈÊÂÈÄÈÐÓÅÌ ÎÊÎØÊÎE 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 # Dâ ÖÈÊËÅE prompt "êÀÊÎÉ ÒÀÁÅËÜÍÛÉ ÍÎÌÅÐ ÏÎÊÀÇÀÒÜ: " attribute (reverse) for nomer attribute (underline) IF nomer IS NULL THEN exit while END IF # DåÑËÈ ÍÈ×ÅÃÎ ÍÅ ÂÂÅË ÒÎ ÊÎÍÅÖE SELECT * INTO zapisx.* FROM kadry WHERE nomer=tabnom # D÷ÈÒÀÅÌ ÑÒÐÎ×ÊÓE if status = NOTFOUND then error "íÅÒ ÒÀÊÈÕ" attribute (reverse) # DåÑËÈ ÍÅ ÍÀØËÎÑÜ ÒÎE continue while # DÏÅÐÅÉÒÈ ÍÀ ÍÀ×ÀËÎ ÖÈÊËÀE end if DISPLAY BY NAME zapisx.* # DâÛÂÅËÈ ÅÅ ÍÀ ÝÊÐÀÍE END WHILE close window odin_prosmotr # DëÈÊÂÈÄÈÐÓÅÌ ÎÊÎØÊÎE END FUNCTION