Программное обеспечение пункта обмена валюты банкаРефераты >> Программирование и компьютеры >> Программное обеспечение пункта обмена валюты банка
endcase
restscreen(0,0,24,79,MSCR)
enddo
setcolor()
release all
return 0
Функция вызова меню «Операции»
Function OPERATION
local M1[5],M2[5],M3[5],MENU
M1[1]=" ~П~окупка валюты "
M1[2]=" п~Р~одажа валюты "
M1[3]=" ~К~онверсия валюты "
M2[1]=2
M2[2]=3
M2[3]=4
MENU=1
_open_n(1,0,7,23,B_SINGLE+" ",AT_M1_F)
do while .T.
MENU=selopt(MENU,M1,M2,M3,2,.T.,.F.,AT_M1_S,AT_M1_U)
if MENU=0.or.lastkey()=27
clear type
exit
endif
operCurrency(MENU)
enddo
return 0
Функция вызова меню ведения справочников
Function DICTONARY
local M1[4],M2[4],M3[4],MENU,CL
M1[1]=" ~С~писок валют "
M1[2]=" ~К~урсоы валют "
M1[3]=" коды ~Ц~енностей "
M1[4]=" Коды ~Д~окументов "
M2[1]=2
M2[2]=3
M2[3]=4
M2[4]=5
MENU=1
_open_n(1,10,6,32,B_SINGLE+" ",AT_M1_F)
do while .T.
MENU=selopt(MENU,M1,M2,M3,12,.T.,.F.,AT_M1_S,AT_M1_U)
if MENU=0.or.lastkey()=27
clear type
exit
endif
dictonEdit(MENU)
enddo
clear type
return 0
Функция вызова меню «Отчеты»
Function REPORT
local M1[4],M2[4],M3[4],MENU,CL
M1[1]=" Реестр по по~К~упке валюты "
M1[2]=" Реестр по ~П~родаже валюты "
M1[3]=" Реестр по ~К~онверсии валюты "
M1[4]=" справка об ~О~статках наличной валюты "
M2[1]=2
M2[2]=3
M2[3]=4
M2[4]=5
MENU=1
_open_n(1,23,7,64,B_SINGLE+" ",AT_M1_F)
do while .T.
MENU=selopt(MENU,M1,M2,M3,25,.T.,.F.,AT_M1_S,AT_M1_U)
if MENU=0.or.lastkey()=27
clear type
exit
endif
reportOut(MENU)
enddo
clear type
return 0
Функция вызова меню «Разное»
Function SYSTEM
private M1,M2,M3,MENU
declare M1[4],M2[4],M3[4]
M1[1]=" ~У~становки "
M1[2]=" ~К~опия данных "
M1[3]=" ~И~ндексные файлы "
M1[4]=" ~С~чета банка "
M2[1]=2
M2[2]=3
M2[3]=4
M2[4]=5
MENU=1
SCRS=savescreen(0,0,24,79)
_open_n(1,38,6,58,B_SINGLE+" ",AT_M1_F)
do while .T.
MENU=selopt(MENU,M1,M2,M3,40,.T.,.F.,AT_M1_S,AT_M1_U)
if MENU=0.or.lastkey()=27
clear type
exit
endif
do case
case MENU=1
setupm(M1[MENU])
case MENU=2
dublicat(M1[MENU])
case MENU=3
case MENU=4
GetAccount()
endcase
enddo
restscreen(0,0,24,79,SCRS)
clear type
return 0
Функция вызова меню «Установки»
Function SETUPM
parameters OPT
private SCR,M1[4],M2[4],M3[4],MENU,OPT,A RCROAD,P AROL,D ATROAD,D UBLDSK,U SERDSK,P AGELEN,P AGESIZ,E TLF,U KZGL,U KTXT,S ETNUM,FMOD
ROW=row()
M1[1]=" ~П~ароль "
M1[2]=" пути к ~Д~анным "
M1[3]=" ~У~становки принтера "
M1[4]=" ~Ц~вета "
M2[1]=ROW+2
M2[2]=ROW+3
M2[3]=ROW+4
M2[4]=ROW+5
MENU=1
FMOD=0
SCR=savescreen(0,0,24,79)
do while .T.
_open_n(ROW+1,38,ROW+6,61,B_SINGLE+" ",AT_M2_F)
MENU=selopt(MENU,M1,M2,M3,40,.T.,.F.,AT_M2_S,AT_M2_U)
if MENU=0.or.lastkey()=27
clear type
exit
endif
if MENU=4
FM=.T.
endif
save screen to SESCR
FMOD=setup(MENU)
restore screen from SESCR
enddo
restscreen(0,0,24,79,SCR)
if FMOD=1
P AROL = crpt(KEYCR,trim(P AROL))
D ATROAD = trim(D ATROAD)
A RCROAD = trim(A RCROAD)
U KZGL = trim(U KZGL)
U KTXT = trim(U KTXT)
if M EN=2
set Printer to BUFFER.PRN
else
M EN=1
set Printer to
endif
if Z PR=2
ZEROPRINT=.F.
else
Z PR=1
ZEROPRINT=.T.
endif
save all like ? * to v
PAROL =uncrpt(KEYCR,P AROL)
DATROAD =D ATROAD
ARCROAD =A RCROAD
DUBLDSK =D UBLDSK
USERDSK =U SERDSK
PAGELEN =P AGELEN
PAGESIZ =P AGESIZ
ETLF =E TLF
UKZGL =U KZGL
SETNUM =S ETNUM
UKTXT =U KTXT
endif
clear type
return 0
Функция вызова меню «Копия данных»
Function DUBLICAT
parameters OPT
private M1,M2,M3,MENU,OPT,DSCR,ROW
ROW=row()
declare M1[2],M2[2],M3[2]
M1[1]=" ~С~охранение данных "
M1[2]=" ~В~осстановление данных "
M2[1]=ROW+2
M2[2]=ROW+3
MENU=1
popmenu(ROW,38,ROW+5,64,OPT,2,AT_M2_F)
do while .T.
MENU=selopt(MENU,M1,M2,M3,40,.T.,.F.,AT_M2_S,AT_M2_U)
if MENU=0.or.lastkey()=27
clear type
exit
endif
save screen to DSCR
do case
case MENU=1
OPT=M1[MENU]
savedata(OPT)
case MENU=2
OPT=M1[MENU]
restdata(OPT)
endcase
restore screen from DSCR
enddo
clear type
return 0
Функция - селектор операций
Function OPERCURRENCY
#Include "Inkey.ch"
#Include "Box.ch"
parameters N_OPER
do case
case N_OPER=1
ByeCurrency()
case N_OPER=2
SaleCurrency()
case N_OPER=3
ConvertCurrency()
endcase
return 0
Функция регистрации покупки валюты
Function ByeCurrency
local SCR
use (DATROAD+"Document") index (DATROAD+"Document") alias DOC new
SCR=savescreen(1,0,23,61)
CLR=setcolor(AT_G_F)
_open_n(1,0,20,59,B_SINGLE+" ",AT_G_F)
@ 08,0 say "+----------------------------------------------------------+"
@ 14,0 say "+----------------------------------------------------------+"
setcolor(AT_G_N+","+AT_G_S+",,,"+AT_G_U)
set key K_F3 to getcode()
_nort("1010000001")
FINIT=.T.
do while .T.
if FINIT
SER =space(2)
NUM =0
FIO =space(35)
DOC =space(10)
CDOC =0
DSER =space(10)
DNUM =0
REZ =space(1)
NREZ =space(1)
BCODC =10
BCODCUR=2
BSUM =0
SCODC =0
SCODCUR=0
SSUM =0
SSUMS=""
BSUMS=""
@ 12,2 say space(57)
@ 13,2 say space(57)
@ 18,2 say space(57)
@ 19,2 say space(57)
setcolor(AT_G_U)
@ 11,8 say 0 picture "999999999999"
endif
setcolor(AT_G_N+","+AT_G_S+",,,"+AT_G_U)
@ 02,17 say "СПРАВКА" get SER picture "XX" valid !empty(SER)
@ 02,28 say "№" get NUM picture "9999999" valid !empty(NUM)
@ 03,15 say str(day(date()),2)+" "+MNT[month(date())]+;
" "+str(year(date()),4)
@ 04,02 say "Выдана" get FIO picture "@S30" valid !empty(FIO)
@ 05,02 say "Предъявлен" get CDOC picture "9999"
@ 05,29 say "серия" get DSER picture "XXXXXXXXXX"
@ 05,46 say "№" get DNUM picture "9999999999"
@ 06,02 say "Резидент [ ]"