Программное обеспечение пункта обмена валюты банкаРефераты >> Программирование и компьютеры >> Программное обеспечение пункта обмена валюты банка
UNITS[ 3] = iif(Man_Woman,"два","две")
UNITS[ 4] = "три"
UNITS[ 5] = "четыре"
UNITS[ 6] = "пять"
UNITS[ 7] = "шесть"
UNITS[ 8] = "семь"
UNITS[ 9] = "восемь"
UNITS[10] = "девять"
UNITS[11] = "десять"
UNITS[12] = "одиннадцать"
UNITS[13] = "двенадцать"
UNITS[14] = "тринадцать"
UNITS[15] = "четырнадцать"
UNITS[16] = "пятнадцать"
UNITS[17] = "шестнадцать"
UNITS[18] = "семнадцать"
UNITS[19] = "восемнадцать"
UNITS[20] = "девятнадцать"
UNITS[21] = "двадцать"
UNITS[22] = "тридцать"
UNITS[23] = "сорок"
UNITS[24] = "пятьдесят"
UNITS[25] = "шестьдесят"
UNITS[26] = "семьдесят"
UNITS[27] = "восемьдесят"
UNITS[28] = "девяносто"
UNITS[29] = "сто"
UNITS[30] = "двести"
UNITS[31] = "триста"
UNITS[32] = "четыреста"
UNITS[33] = "пятьсот"
UNITS[34] = "шестьсот"
UNITS[35] = "семьсот"
UNITS[36] = "восемьсот"
UNITS[37] = "девятьсот"
STRING = ""
IN_NUM = int(IN_NUM)
SOT=int(In_NUM/100)
DES=int((In_NUM-SOT*100)/10)
EDN=In_NUM-SOT*100-DES*10
IN_STRING = ltrim(str(IN_NUM))
SCAN_ED=.T.
if SOT>0
STRING=STRING+UNITS[SOT+28]+" "
endif
if DES>1
STRING=STRING+UNITS[DES+19]+" "
elseif DES=1
STRING=STRING+UNITS[DES*10+EDN+1]+" "
SCAN_ED=.F.
endif
if SCAN_ED
STRING=STRING+UNITS[EDN+1]
endif
return STRING
Функция получения псевдонима валюты
Function GetShort_Name(CODE)
local OBL,MR,ST:=" "
OBL=select()
select CUR
MR=recno()
seek CODE
if found()
ST=SHORT_NAME
endif
goto MR
select(OBL)
return ST
Основные функции и процедуры
Головной модуль программы
Function MAIN
#Include "Box.ch"
setcursor(0)
if .not.file("V.mem").or not.file("C.mem")
set curs on
return 0 // Аварийный выход при отсутствии файлов глобальных переменных
else
// Объявление глобальных переменных и считывание их из файла
public AT_M0_F,AT_M0_N,AT_M0_S,AT_M0_U,AT_M1_F,AT_M1_N,AT_M1_S
public AT_M1_U,AT_M2_F,AT_M2_N,AT_M2_S,AT_M2_U,AT_E_F,AT_E_N,AT_E_S
public AT_E_U,AT_G_F,AT_G_N,AT_G_S,AT_G_U,AT_S_F,AT_S_N,AT_S_S,AT_S_U
public AT_N_I,AT_N_S
CLFON="N"
clear
restore from c.mem addi
endif
// Глобальные установки
setcursor(0)
set date german
set century on
set wrap on
set dele off
set bell off
set confirm on
set scoreboard off
set message to 24 center
restore from v.mem addi
public PAROL,DATROAD,USERDSK,PAGELEN,ETLF,UKZGL,UKTXT,ARCROAD
public ZEROPRINT,FPREOBR,PAGESIZ,DUBLDSK,KEYCR,C_H
public FM,FINSERT,CUR_STYLE,M EN,MDATE,SETNUM
restore from D addi
store 0 to CROW,CCOL
KEYCR="#4_Ж;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
UKTXT = U KTXT
SETNUM = S ETNUM
FPREOBR = .F.
release P AROL,D ATROAD,U SERDSK,S ETNUM,;
P AGELEN,P AGESIZ,E TLF,U KZGL,U KTXT,D UBLDSK,A RCROAD
MEN=1
MEN1=1
FINSERT=.F.
CUR_STYLE=1
set key 22 to fins()
declare MMS[ 6],MOP[ 6],MCO[ 6],MNT[12],MHP[10]
// Массив этикеток строки подсказки
MHP[ 1]="Помощь"
MHP[ 2]="Добав."
MHP[ 3]="Список"
MHP[ 4]="Поиск "
MHP[ 5]="Фильтр"
MHP[ 6]="Сумма "
MHP[ 7]="Печать"
MHP[ 8]="Удал. "
MHP[ 9]="Запись"
MHP[10]="Выход "
// Массив опций главного меню системы
MOP[ 1]=" ~О~перации "
MOP[ 2]=" ~С~правочники "
MOP[ 3]=" о~Т~четы "
MOP[ 4]=" ~А~рхив "
MOP[ 5]=" ~Р~азное "
MOP[ 6]=" ~В~ыход "
// Массив координат главного меню системы
MCO[ 1]=2
MCO[ 2]=12
MCO[ 3]=25
MCO[ 4]=33
MCO[ 5]=40
MCO[ 6]=48
// Массив строк помощи
MMS[ 1]="Оформление покупки/продажи валюты"
MMS[ 2]=" Ввод справочных данных "
MMS[ 3]=" Вывод отчетов "
MMS[ 4]=" Работа с архивом "
MMS[ 5]=" Настройки системы "
MMS[ 6]=" Выход в MS DOS "
// Массив названий месяцев
MNT[ 1]="Января"
MNT[ 2]="Февраля"
MNT[ 3]="Марта"
MNT[ 4]="Апреля"
MNT[ 5]="Мая"
MNT[ 6]="Июня"
MNT[ 7]="Июля"
MNT[ 8]="Августа"
MNT[ 9]="Сентября"
MNT[10]="Октября"
MNT[11]="Ноября"
MNT[12]="Декабря"
setcolor(At_M0_F)
@ 00,00,24,79 BOX " - --"
setcolor(At_M0_N)
@ 00,01 SAY "Обменный пункт банка"
// Проверка пароля пользователя (3 попытки)
for II=1 to 3
setcursor(CUR_STYLE)
setcolor(AT_E_F)
_open_n(07,22,11,57)
setcolor(AT_E_N)
_saystr(09,24,"Введите Ваш пароль :")
KL=0
TST=""
do while .T.
KL=inkey(0)
do case
case KL=8
TST=substr(TST,1,len(TST)-1)
case KL=13
exit
otherwise
TST=TST+chr(KL)
endcase
@ 09,45 SAY repl(" ",len(TST)+1)
@ 09,45 SAY repl("»,len(TST))
if len(TST)=10
exit
endif
enddo
if TST=PAROL
@ 09,24 SAY «OK «
exit
else
@ 09,24 SAY «Пароль неправильный «
tone(1500,2)
tone(1700,2)
endif
next
if TST<>PAROL
setcolor("W/N")
clear screen
return
endif
restore screen
// Настройка принтера
if M EN=2
set printer to BUFFER.PRN
else
M EN=1
set printer to
endif
setcursor(0)
FM=.F.
setcolor(At_M0_F)
@ 00,01 SAY space(80)
do while .T. // Главное меню системы
if FM
setcolor(At_M0_F)
@ 00,00,24,79 BOX " - --"
@ 00,01 SAY space(80)
FM=.F.
endif
setcolor("+W/B,+GR/R,,,+BG/B")
MEN=selopt(MEN,MOP,MCO,MMS,0,.F.,.T.,At_M0_S,At_M0_U)
if lastkey()=27.or.MEN=0
if doors()
exit
else
loop
endif
endif
MSCR=savescreen(0,0,24,79)
do case
case MEN=1
operation()
case MEN=2
dictonary()
case MEN=3
report()
case MEN=4
arch()
case MEN=5
system()
case MEN=6
if doors()
exit
endif