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øÆÐ Ð×RÓÞÍÅÏÊÅ ØÌÞÊÞÂÍÅÏÆÏÐ ÆÂÌÐÎÈ: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