Академический Документы
Профессиональный Документы
Культура Документы
I – XII
Lucrare de atestat
Lucrare de atestat
Program de gestiune
al unei case de schimb valutar
1.Introducere
2.Prezentare generala
2.1 Fereastra principala
2.1.1 Meniul “Clienti”
2.1.2 Meniul “Curs valutar”
2.1.3 Meniul “Iesire”
2.2 Mod de folosire
3.Bibliografie
4.Anexe
2
1.Introducere / utilitatea lucrării
2.Structura programului
Clienti
Curs valutar
Iesire
Acest meniu serveste introducerii in baza de date a unor clienti noi, mai
bine zis datele acestora: numele, buletinul si schimbul realizat - cele doua monede
care au luat parte la tranzactie. Practic, la aceasta optiune se va face apel ori de cate
3
ori se va realiza o tranzactie, nu doar cand apare un client care schimba pentru prima
data la casa de schimb; astfel, un o persoana apare de atatea cate schimburi a efectuat.
Alegerea optiunii "curs nou" din meniul "Curs valutar" aduce pe ecran
fereastra de modificare a raportului de schimb, care cere mai intai sa se precizeze care
dintre valutele disponibile pentru schimb este aleasa pentru a i se schimba cursul;
dupa selectare, daca se apasa <Enter> sau se da click pe "Accepta" - ceea ce face sa
se confirme intentia de a modifica cursul de schimb al monedei alese - cursul actual
4
acest curs. Dupa ce se introduc noile date, utilizatorul trebuie sa dea din nou "Accept"
pentru a salva noile data si a schimba astfel cursul. Daca se doreste renuntarea la
aceasta modificare, se apasa tasta <Esc> urmata de otiunea "Renunta".
- afisare curs de schimb curent sau curs de schimb trecut pentru moneda
aleasa:
5
Odata rulat programul, dupa ce s-a incheiat secventa de 'intro' acesta poate
fi intrerupt (realizandu-se iesirea din program, nu si din fereastra principala care
continuua sa ramana activa) prin executarea unui clik oriunde in afara barei de
meniuri - in cadrul ferestrei, in afara ei sau in bannerul acesteia. Pentru a reveni in
program este suficient un click-dreapta oriunde in fereastra FoxPro in care este
deschisa aplicatia. Iesire din program cu inchiderea ferestrei principale se realizeaza
prin clik sau <enter> pe optiunea "Iesire" din meniul principal.
6
BIBLIOGRAFIE :
7
@9,i say ' realizat de Popa Vlad' style 'T'
3.Anexe @2,14 say 'Program de evidenta
Codul sursa al programului: a unei case de schimb valutar' style 'T'
wait '' timeout 0.01
endfor
clear set cursor off
hide window all wait '' timeout 3
define windows w1 from 3,15 to 19,85 title set bell to 1700,1
"Schimb valutar" close system fill file ??chr(7)
d:\valuta\bani.bmp set cursor on
activate window w1 release window w2
define menu m1 return
set century on
set date dmy procedure iesire
set cursor on show window all
set safety off set bell to 1700,1
set talk off ??chr(7)
set sysmenu off release window w1
define pad p1 of m1 prompt ' Clienti ' deactivate menu m1
define pad p2 of m1 prompt ' Iesire ' set cursor on
define pad p3 of m1 prompt ' Curs valutar ' return
define popup cli from 1,2
define bar 1 of cli prompt '- clienti noi' procedure delete
define bar 2 of cli prompt '- sortare set bell to 1700,1
clienti'+chr(16) ??chr(7)
define bar 3 of cli prompt '- cautare delete
clienti'+chr(16) pack
define bar 4 of cli prompt '- date informative' return
define popup crs from 1,51
define bar 1 of crs prompt '- curs nou' procedure clienti
define bar 2 of crs prompt '- afisare curs' do case
define bar 3 of crs prompt '- cautare curs' case bar()=1
do despre set bell to 1700,1
on sele popup cli do clienti ??chr(7)
on sele popup crs do curs define window w2 from 1,15 to 12,55 in
on sele pad p1 of m1 activate popup cli window w1 fill file d:\valuta\5.bmp style 'T'
on sele pad p2 of m1 do iesire panel
on sele pad p3 of m1 activate popup crs activate window w2
activate menu m1 use d:\valuta\clienti
on key label rightmouse do d:\valuta\valuta y=0
append blank
procedure despre @1,12 say 'Clienti noi' style 'BU'
define window w2 from 1,12 to 11,58 fill file @3,3 say 'Numele clientului :' get nume size
d:\valuta\2.bmp in window w1 none 1,11
activate window w2 @4,3 say 'Buletinul clientului:' get buletin size
set cursor off 1,11
for j=23 to 14 step -1 @5,3 say 'Codul monedei dorite:' get
clear cod_moneda size 1,11
@2,j say 'Program de evidenta a @6,3 say 'Tipul de schimb(c/v):' get
unei case de schimb valutar' style 'T' tip_schimb size 1,11
wait '' timeout 0.1 @7,3 say 'Suma primita :' get valoare_p
endfor size 1,11
wait ''timeout 1 @9,9 get y function '*H Accepta!;Renunta!'
for i=1 to 23 size 1,7,3
clear read cycle
if y=2 @0,7 say 'Informatii vanzare-cumparare' style
delete 'BUT'
pack @1,1 say 'Cod' style 'TU'
endif @1,11 say 'Nume' style 'TU'
if y=1 @1,28 say 'Vandut' style 'TU'
v=valoare_p @1,39 say 'Cumparat' style 'TU'
t=tip_schimb @2,2 say '1 ' style 'T' get o1 function '*C Dolar
m=cod_moneda SUA' style 'T'
replace data with date() @3,2 say '2 ' style 'T' get o2 function '*C
use d:\valuta\curs Dolar australian' style 'T'
val=0 @4,2 say '3 ' style 'T' get o3 function '*C
locate for cod=m Dolar canadian' style 'T'
if t='c' @5,2 say '4 ' style 'T' get o4 function '*C
val=v*cumparare Franc francez' style 'T'
endif @6,2 say '5 ' style 'T' get o5 function '*C
if t='v' Franc elvetian' style 'T'
val=v/vanzare @7,2 say '6 ' style 'T' get o6 function '*C Lira
endif egipteana' style 'T'
use d:\valuta\clienti @8,2 say '7 ' style 'T' get o7 function '*C Lira
go bottom sterlina' style 'T'
replace valoare_d with val @9,2 say '8 ' style 'T' get o8 function '*C
endif Marca germana' style 'T'
release window w2 @10,2 say '9 ' style 'T' get o9 function '*C
deactivate popup cli Gulden olandez' style 'T'
case bar()=2 @11,27 get y function '*H Accepta!;Renunta!'
set bell to 1700,1 size 1,7,3
??chr(7) read cycle
define popup sor2 from 2,21 use d:\valuta\clienti
define bar 1 of sor2 prompt '- nume' if y=1
on sele bar 1 of sor2 do nume clear
define bar 2 of sor2 prompt '- buletin' if o1=1
on sele bar 2 of sor2 do buletin sum all valoare_p for
define bar 3 of sor2 prompt '- data schimb' (tip_schimb='v')and(cod_moneda=1) to v1
on sele bar 3 of sor2 do datas sum all valoare_d for
activate popup sor2 (tip_schimb='c')and(cod_moneda=1) to v2
case bar()=3 @2,21 say str(v1)+' Lei' style 'T'
set bell to 1700,1 @2,34 say str(v2)+' Lei' style 'T'
??chr(7) endif
define popup cau from 3,21 if o2=1
define bar 1 of cau prompt '- nume' sum all valoare_p for
define bar 2 of cau prompt '- buletin' (tip_schimb='v')and(cod_moneda=2) to v1
define bar 3 of cau prompt '- data schimb' sum all valoare_d for
on sele popup cau do cauta (tip_schimb='c')and(cod_moneda=2) to v2
activate popup cau @3,21 say str(v1)+' Lei' style 'T'
case bar()=4 @3,34 say str(v2)+' Lei' style 'T'
set bell to 1700,1 endif
??chr(7) if o3=1
define window w2 from 1,10 to 14,60 in sum all valoare_p for
window w1 fill file d:\valuta\5 panel (tip_schimb='v')and(cod_moneda=3) to v1
activate window w2 sum all valoare_d for
y=1 (tip_schimb='c')and(cod_moneda=3) to v2
store 0 to o1,o2,o3,o4,o5,o6,o7,o8,o9 @4,21 say str(v1)+' Lei' style 'T'
x=' ' @4,34 say str(v2)+' Lei' style 'T'
do while y=1 endif
if o4=1
1
sum all valoare_p for return
(tip_schimb='v')and(cod_moneda=4) to v1
sum all valoare_d for procedure cauta
(tip_schimb='c')and(cod_moneda=4) to v2 do case
@5,21 say str(v1)+' Lei' style 'T' case bar()=1
@5,34 say str(v2)+' Lei' style 'T' set bell to 1700,1
endif ??chr(7)
if o5=1 define window w5 from 1,3 to 9,67 in window
sum all valoare_p for w1 fill file d:\valuta\5.bmp panel
(tip_schimb='v')and(cod_moneda=5) to v1 activate window w5
sum all valoare_d for use d:\valuta\clienti
(tip_schimb='c')and(cod_moneda=5) to v2 n=' '
@6,21 say str(v1)+' Lei' style 'T' @3,11 say 'Introduceti numele clientului:'style
@6,34 say str(v2)+' Lei' style 'T' 'T' get n style 'T'
endif read
if o6=1 brow for nume=n font 'MS Sans Serif',9
sum all valoare_p for noedit
(tip_schimb='v')and(cod_moneda=6) to v1 case bar()=2
sum all valoare_d for set bell to 1700,1
(tip_schimb='c')and(cod_moneda=6) to v2 ??chr(7)
@7,21 say str(v1)+' Lei' style 'T' define window w5 from 1,3 to 9,67 in window
@7,34 say str(v2)+' Lei' style 'T' w1 fill file d:\valuta\5.bmp panel
endif activate window w5
if o7=1 use d:\valuta\clienti
sum all valoare_p for n=' '
(tip_schimb='v')and(cod_moneda=7) to v1 @3,11 say 'Introduceti buletinul
sum all valoare_d for clientului:'style 'T' get n style 'T'
(tip_schimb='c')and(cod_moneda=7) to v2 read
@8,21 say str(v1)+' Lei' style 'T' brow for buletin=n font 'MS Sans Serif',9
@8,34 say str(v2)+' Lei' style 'T' noedit
endif case bar()=3
if o8=1 set bell to 1700,1
sum all valoare_p for ??chr(7)
(tip_schimb='v')and(cod_moneda=8) to v1 define window w5 from 1,3 to 9,67 in window
sum all valoare_d for w1 fill file d:\valuta\5.bmp panel
(tip_schimb='c')and(cod_moneda=8) to v2 activate window w5
@9,21 say str(v1)+' Lei' style 'T' use d:\valuta\clienti
@9,34 say str(v2)+' Lei' style 'T' d={//}
endif @3,11 say 'Introduceti data schimbului:'style
if o9=1 'T' get d style 'T'
sum all valoare_p for read
(tip_schimb='v')and(cod_moneda=9) to v1 brow for data=d font 'MS Sans Serif',9 noedit
sum all valoare_d for endcase
(tip_schimb='c')and(cod_moneda=9) to v2 release window w5
@10,21 say str(v1)+' Lei' style 'T' deactivate popup cli
@10,34 say str(v2)+' Lei' style 'T' return
endif
endif procedure nume
enddo set bell to 1700,1
use d:\valuta\clienti ??chr(7)
sum all valoare_p for define window w3 from 1,3 to 15,67 in
(tip_schimb='v')and(cod_moneda=1) to v1 window w1 panel
release window w2 activate window w3
deactivate popup cli use d:\valuta\clienti
endcase index on nume to x
2
on key label del do delete elvetian;Lira egipteana;Lira sterlina;Marca
brow title 'Afisare clienti' font 'MS Sans germana;Gulden olandez' style 'T'
Serif',9 noedit @11,20 get y function '*H Accepta!;Renunta!'
push key clear size 1,7,1
release window w3 read cycle
deactivate popup cli use d:\valuta\curs
if y=1
procedure buletin do case
set bell to 1700,1 case x='Dolar SUA'
??chr(7) go 1
define window w3 from 1,3 to 15,67 in @2,22 get vanzare
window w1 panel @2,31 get cumparare
activate window w3 read
use d:\valuta\clienti @2,22 say ' ' style 'T'
index on buletin to x replace data with date()
on key label del do delete v=vanzare
brow title 'Afisare clienti' font 'MS Sans c=cumparare
Serif',9 noedit use d:\valuta\d_sua
push key clear append blank
release window w3 replace vanzare with v
deactivate popup cli replace cumparare with c
replace data with date()
procedure datas case x='Dolar australian'
set bell to 1700,1 go 2
??chr(7) @3,22 get vanzare
define window w3 from 1,3 to 15,67 in @3,31 get cumparare
window w1 panel read
activate window w3 @3,22 say ' 'style 'T'
use d:\valuta\clienti replace data with date()
index on data to x v=vanzare
on key label del do delete c=cumparare
brow title 'Afisare clienti' font 'MS Sans use d:\valuta\d_austr
Serif',9 noedit append blank
push key clear replace vanzare with v
release window w3 replace cumparare with c
deactivate popup cli replace data with date()
case x='Dolar canadian'
procedure curs go 3
do case @4,22 get vanzare
case bar()=1 @4,31 get cumparare
set bell to 1700,1 read
??chr(7) @4,22 say ' 'style 'T'
define window w2 from 1,15 to 14,55 in replace data with date()
window w1 fill file d:\valuta\4 style 'T' panel v=vanzare
activate window w2 c=cumparare
y=1 use d:\valuta\d_canad
x=' ' append blank
do while y=1 replace vanzare with v
clear replace cumparare with c
@0,7 say 'Modificare curs curent' style 'BUT' replace data with date()
@1,21 say 'Vanzare' style 'UT' case x='Franc francez'
@1,29 say 'Cumparare' style 'UT' go 4
@2,2 get x function '*RV Dolar SUA;Dolar @5,22 get vanzare
australian;Dolar canadian;Franc francez;Franc @5,31 get cumparare
read
3
@5,22 say ' 'style 'T' read
replace data with date() @9,22 say ' 'style 'T'
v=vanzare replace data with date()
c=cumparare v=vanzare
use d:\valuta\f_franc c=cumparare
append blank use d:\valuta\m_germ
replace vanzare with v append blank
replace cumparare with c replace vanzare with v
replace data with date() replace cumparare with c
case x='Franc elvetian' replace data with date()
go 5 case x='Gulden olandez'
@6,22 get vanzare go 9
@6,31 get cumparare @10,22 get vanzare
read @10,31 get cumparare
@6,22 say ' 'style 'T' read
replace data with date() @10,22 say ' 'style 'T'
v=vanzare replace data with date()
c=cumparare v=vanzare
use d:\valuta\f_elvet c=cumparare
append blank use d:\valuta\g_oland
replace vanzare with v append blank
replace cumparare with c replace vanzare with v
replace data with date() replace cumparare with c
case x='Lira egipteana' replace data with date()
go 6 endcase
@7,22 get vanzare endif
@7,31 get cumparare enddo
read case bar()=2
@7,22 say ' 'style 'T' set bell to 1700,1
replace data with date() ??chr(7)
v=vanzare define window w2 from 1,5 to 15,65 in
c=cumparare window w1 fill file d:\valuta\4 panel
use d:\valuta\l_egipt activate window w2
append blank y=1
replace vanzare with v x=' '
replace cumparare with c @0,17 say 'Afisare curs de schimb' style 'BUT'
replace data with date() @3,21 say '\' style 'T'
case x='Lira sterlina' @4,22 say '|' style 'T'
go 7 @5,22 say '|' style 'T'
@8,22 get vanzare @6,22 say '|' style 'T'
@8,31 get cumparare @7,22 say '} Cursuri de schimb trecute' style
read 'T'
@8,22 say ' 'style 'T' @8,22 say '|' style 'T'
replace data with date() @9,22 say '|' style 'T'
v=vanzare @10,22 say '|' style 'T'
c=cumparare @11,21 say '/' style 'T'
use d:\valuta\l_sterl do while y=1
append blank on key label del do delete
replace vanzare with v @2,2 get x function '*RV Curs de schimb
replace cumparare with c curent;Dolar SUA;Dolar australian;Dolar
replace data with date() canadian;Franc francez;Franc elvetian;Lira
case x='Marca germana' egipteana;Lira sterlina;Marca germana;Gulden
go 8 olandez' style 'T'
@9,22 get vanzare @5,49 get y function '*V Accepta!;Renunta!'
@9,31 get cumparare size 1,7,3 style 'T'
4
read cycle @9,29 get y function '*V Accepta!;Renunta!'
if y=1 size 1,7,1
do case read cycle
case x='Curs de schimb curent' use d:\valuta\curs
use d:\valuta\curs if y=1
brow title 'Afisare curs de schimb' font 'MS do case
Sans Serif',9 noedit case x='Dolar SUA'
case x='Dolar SUA' use d:\valuta\d_sua
use d:\valuta\d_sua locate for data=d
brow title 'Afisare curs de schimb' noedit brow title 'Afisare curs de schimb' noedit
case x='Dolar australian' case x='Dolar australian'
use d:\valuta\d_austr use d:\valuta\d_austr
brow title 'Afisare curs de schimb' noedit locate for data=d
case x='Dolar canadian' brow title 'Afisare curs de schimb' noedit
use d:\valuta\d_canad case x='Dolar canadian'
brow title 'Afisare curs de schimb' noedit use d:\valuta\d_canad
case x='Franc francez' locate for data=d
use d:\valuta\f_franc brow title 'Afisare curs de schimb' noedit
brow title 'Afisare curs de schimb' noedit case x='Franc francez'
case x='Franc elvetian' use d:\valuta\f_franc
use d:\valuta\f_elvet locate for data=d
brow title 'Afisare curs de schimb' noedit brow title 'Afisare curs de schimb' noedit
case x='Lira egipteana' case x='Franc elvetian'
use d:\valuta\l_egipt use d:\valuta\f_elvet
brow title 'Afisare curs de schimb' noedit locate for data=d
case x='Lira sterlina' brow title 'Afisare curs de schimb' noedit
use d:\valuta\l_sterl case x='Lira egipteana'
brow title 'Afisare curs de schimb' noedit use d:\valuta\l_egipt
case x='Marca germana' locate for data=d
use d:\valuta\m_germ brow title 'Afisare curs de schimb' noedit
brow title 'Afisare curs de schimb' noedit case x='Lira sterlina'
case x='Gulden olandez' use d:\valuta\l_sterl
use d:\valuta\g_oland locate for data=d
brow title 'Afisare curs de schimb' noedit brow title 'Afisare curs de schimb' noedit
endcase case x='Marca germana'
endif use d:\valuta\m_germ
push key clear locate for data=d
enddo brow title 'Afisare curs de schimb' noedit
case bar()=3 case x='Gulden olandez'
set bell to 1700,1 use d:\valuta\g_oland
??chr(7) locate for data=d
define window w2 from 1,15 to 14,55 in brow title 'Afisare curs de schimb' noedit
window w1 fill file d:\valuta\4 panel endcase
activate window w2 endif
y=1 enddo
x=' ' endcase
do while y=1 release window w2
clear deactivate popup crs
@0,7 say 'Cautare curs de schimb' style 'BUT' retur
@2,2 get x function '*RV Dolar SUA;Dolar
australian;Dolar canadian;Franc francez;Franc
elvetian;Lira egipteana;Lira sterlina;Marca
germana;Gulden olandez' style 'T'
d={//}
@11,2 say 'Data:' style 'TU' get d