Sunteți pe pagina 1din 17

Lucrare pentru obtinerea atestatului

profesional la informatica

Tema lucrarii:
CABINET MEDICAL
(CONSULTATII PACIENTI)

Elev: Maciuceanu Cristina-Andreea


Profesori coordonatori:
Patru Laurentiu

Memoriu justificativ
Aplicaia de fa nu este altceva dect o demonstraie (ntr-o anumit msur) a
posibilitilor de programare oferite de Microsoft Visual FoxPro 9.0 o aplicatie
puternic ce permite crearea unor multitudini tipuri de programe: de la simplele baze
de date, la aplicatii de sine statatoare ce contin formulare si obiecte specifice
programarii visuale si pana la aplicatii de tip server si html pentru internet.. Aceasta
aplicatie demonstreaza posibilitatile acestui limbaj de a crea o aplicatie utila si usor
de manevrat la fel ca multe aplicatii dezvoltate de Microsoft.

Prezentarea limbajului
Microsoft Visual FoxPro
Calculatoarele electronice au aparut din necesitatea stocarii si prelucrarii ct
mai rapide a informatiilor. La inceput sistemele electronice de calcul ocupau camere
intregi fiind capabile sa memoreze si sa prelucreze o cantitate mica de informatii.Pe
masura ce tehnica de calcul a evoluat, calculatoarele au devenit din ce in ce mai
performante, aceasta insemnind o crestere a capacitatii de memorare si o mai mare
viteza de prelucrare a datelor.
S-a ajuns astfel in zilele noastre, la o specializare foarte accentuata a sistemelor
informatice, orientata spre rezolvarea diverselor tipuri de probleme.
Odata cu raspindirea pe cale larga a PC-urilor s-a dezvoltat din ce in ce mai
mult SGBD-urile (Sistemele de Gestiune a Bazelor de Date) implementate pe acest
tip de calculatoare. Mult timp suprematia in acest domeniu a apartinut firmei AshtonTate, cu produsul sau dBase, cu diferitele sale versiuni. Spre deosebire de dBase care
are incorporat compilatoare pentru programele realizate de utilizator, FoxPro este un
compilator de baze de date, principalul avantaj al acestuia fiind viteza mult sporita si
protejarea datelor si programelor.
Domeniul bazelor de date este un domeniu distinct al informaticii, opernd cu
mrimi i noiuni specifice. Foarte multe probleme informatice se reduc, la nivel
principal, la memorarea unor informaii, urmate de extragerea acestora, sub diferite
forme. Baza de date reprezint structura logic in care este memorat o cantitate de
informaii pe un suport fizic de memorare. La nivel inferior, baza de date reprezint
unul sau mai multe fiiere, care respect condiiile impuse de sistemul de operare. Ca
suporturi fizice de memorare se folosesc n general discurile magnetice, dar i
discurile optice, benzile magnetice. Pentru a putea avea acces ct mai rapid, la toate

informaiile depozitate intr-o baz de date, aceasta are o anumit organizare,


asemntoare unui tabel, folosindu-se urmtoarea terminologie :
cmp

- coloan n tabel;

nregistrare

- linie n tabel ;

structura b.d - antetul tabelului;


Pentru a determina n mod unic structura bazei de date (antetul tabelului) trebuie
specificate cmpurile care compun tabelul impreun cu caracteristicile
acestora.Fiecrui cmp i sunt caracteristice :
numele identific cmpul printre celelalte elemente;
tipul stabilete prelucrrile care se pot aplica datelor memorate n cmpul respectiv;
lungimea numrul de octei ocupai de cmp ( adic laimea coloanei n tabel ),
necesar pentru rezervarea spaiului de memorie pe disc;
zecimale pentru cmpurile numerice, stabilete poziia punctului zecimal n cadrul
cmpului respectiv;
FoxPro este un sistem de gestiune a bazelor de date relational dezvoltat de
firma FoxSoftware.
Variantele mbunatatite de-a lungul timpului au evidentiat valoarea acestei
aplicatii rezistnd timpului i asigurnd o portabilitate pe toate sistemele de operare
existente pana in acest moment.
FoxPro permite comunicarea cu alte aplicatii prin mecanisme DDE (transfer
dinamic de date), are facilitatea OLE ( legarea si incorporarea de obiecte), importa si
exporta date in alte formate si incepnd cu versiunea 3.0 permite programarea
vizuala a aplicatiilor folosind generatoarele.
Principalul domeniu de utilizare a calculatorului l reprezinta cel al prelucrarii
de date. Pe masura ce societatea se dezvolta, cresc si necesitatile de informare ale
acesteia, deci creste volumul de date ce trebuie prelucrate. Apare astfel problema

obtinerii diverselor rezultate solicitate. Acesta este tocmai domeniul n care este
specializat Visual FoxPRO-ul, domeniul bazelor de date.
Modul relational al bazelor de date, implementat si de Visual FoxPRO,
determina structura organizata a acestora: o baza de date relationala este compusa din
tabele, legate ntre ele prin relatii. Crearea unei baze de date presupune att crearea
tabelelor componente ct si stabilirea relatiilor dintre acestea. Pentru manipularea
tabelelor Visual FoxPRO-ul foloseste zonele de lucru, 225 la numar, cu tabelele
respective. Asupra tabelelor se pot face numeroase operatii: adaugarea de nregistrari,
modificarea continutului, vizualizarea continutului, stergerea, accesul si cautarea unei
nregistrari ntr-o tabela, sortarea tabelelor si calcule statice cu datele din tabele.
Marea majoritate a interfetelor sistemelor informatice moderne sunt prevazute
cu "obiecte de control", prin intermediul carora conversatia utilizator-sistem
informatic devine placuta, eficienta, comoda. Obiectele de control reprezinta
elemente ale unui sistem informatic prin care utilizatorul comunica optiunile sale.
n tendinta generala de mbunatatire a interfetelor cu utilizatorul ale aplicatiilor
soft dezvoltate n ultima perioada se nscrie in nzestrarea acestora cu meniuri dintre
cele mai diverse si performante.
Meniul reprezinta un element Visual FoxPro prin care se ofera utilizatorului
posibilitatea selectarii unei anumite optiuni, dintr-o multime finita de optiuni posibile,
afisata pe ecran total sau partial, urmand ca, in functie de selectarea facuta, sa se
declanseze anumite actiuni corespunzatoare optiunii alese.
Un prim exemplu de meniu este cel al mediului Visual FoxPro, "meniul
sistem" cu care se ia cunostinta la fiecare activare a mediului Visual FoxPro.
Un meniu este format dintr-o "bara a meniului" si mai multe "submeniuri".
Bara meniului contine la randul ei mai multe optiuni, numite "optiuni bara", fiecareia
dintre acestea putandu-i-se atasa unui submeniu.
Fiecare submeniu este format, la randul lui din "optiuni" .

Pe langa meniul sistem al Visual FoxPro, utilizatorului i se da posibilitatea de definire


a unor meniuri propii ("definite de utilizator") cu structura complexa, in vederea
includerii acestora in programele de aplicatie.
Modul de lucru cu submeniurile definite de utilizator este urmatorul :
* Mai intai se defineste meniul respectiv, prin urmatoarele etape:
- definirea barei meniului
- definirea optiunilor bara
- definirea submeniului
- definirea optiunilor
- definirea actiunilor ce se executa la alegerea unei optiuni
sau a unei optiuni bara a meniului.
* Se activeaza meniul, urmand a se selecta optiunea dorita a acestuia.
* Se efectueaza diferite operatii specifice meniului (afisare, ascundere,
etc.)
* Si in final se elimina meniul din memorie, aceasta insemnand sfarsitul
lucrului cu acest element.
Am ales sistemul Visual FoxPro deoarece este unul dintre cele mai bune
programe folosite in lucrul cu bazele de date, acest lucru fiind datorat functiilor foarte
usor de memorat si de inteles. Help-ul Visual FoxPro-ului este foarte bine
structurat,astfel ca orice problema aparuta poate fi usor rezolvata apeland la el.
Activitatea umana in cele mai diverse forme ale sale a fost intotdeauna
caracterizata prin entitati faptice exprimate fie sub forma de valori numerice fie ca
perceptii sau observatii numerice facute de fiintele umane sau de masini. Aceste
entitati faptice independente si neevaluate se vor numi DATE. Datele obtinute in
cadrul activitatilor productive, in conducere, de cercetare, educationale, artistice
constituie un material informational ce poate fi evaluat ordonat si prelucrat, avand in
vedere diferite obiective.In urma acestui proces de transformare a datelor se obtin

INFORMATII ce reprezinta interpretarea datelor in raport cu anumite situatii


particulare sau cu intelegerea de catre mintea umana in general. Informatiile
constituie baza rationamentelor si experimentarilor imaginate de mintea umana in
scopul obtinerii de noi CUNOSTINTE.
Tehnologia informatiei se constituie din cicluri autogeneratoare. Producerea
informatiilor sustine anumite actiuni umane cu finalitate practica, creindu-se totodata
un fond informational utilizabil pentru generarea de noi informatii si cunostinte.

ELEMENTE DE LIMBAJ
1. Identificatoricuvinte utilizate, sunt folosite
pentru desemnarea
variabelor fiier, program, nume de cmp.
Pot fi formate din litere,cifre,_, dac desemneaz nume de variabile sau
cmp sau din orice ir de caractere dac desemneaz nume de fiier sau
procedur.
2.Cuvinte cheiedesemnez comenzile funciilor standard i constituie
cuvinte rezervate ale limbajului. Se pot prescurta la minimum 4 caractere.
3.Tipuri de datedetermin ce operaii se pot executa asupra datelor,
modul lor de memorare n memoria intern a calculatorului, semnificaia acestor
date. Sunt de mai multe feluri:
Numeric valoarea cmpului este numeric
Character o mulime de caractere ASCII care reprezint un tot
unitar.Avem o limitare a lungimii irului de 254 caractere
Memo un ir de caractere ca valoare dar lungimea poate fi de 2 16-1 caractere.
Este folosit pentru a defini date cu lungimi variabile.
Date e folosit pentru reprezentarea datelor calendaristice n diverse moduri.
Implicit, lungimea este 8 cu ultimele dou cifre ale anului i zece cu toate cifrele
anului.
Logic ia valori TRUE sau FALSE
4.Constante de tip numeric, character, date, logic
5.Variabile zone de memorie identificate prin nume utilizator i au valori
i tip.
Pot fi: a) sistem --controleaz aspectul ieirilor la imprimant numele lor
ncepnd cu linia de subliniere (_)

b) utilizator simple
indexator
Alocarea variabilelor este dinamic. Ele primesc nume i tip prin
instruciunile de creare (atribuire,citire,calcule). Exist atta timp ct sesiunea de
lucru nu s-a ncheiat. Pot fi numerice, character, date, logic.
6.Cmpuri elementele care formeaz structura conceptual a bazei de date.
Numele cmpului este un identificator de maximum 10 caractere.
7.Operatori aritmetici:+,-,*,/,^,%
relaionali:<,>,<=,=>,=,<>
logici: and, or, not
speciali: ir de caractere +;: date calendaristice : + , 8.Expresii sunt formate din termeni (constante, variabile, bume cmpuri,
funcii) i operatori. Pot fi numerice, relaionale, logice, dat calendaristic.
Ordinea de evaluare este cea matematic.
9.Comenzi formatul general este :
<verb> [clauza 1][< clauza 2]
- <verb> = cuvnt cheie ce indic operaiunea de executat;
- clauza = difer de la o comand la alta i poate fi o construcie
utilizat sau cuvinte cheie ale limbajului.
Comenzile sunt n general comenzi linie. Dac e necesar fragmentarea
comenzii se va folosi (;). Nu exist separator ntre comenzi.
Clas de comenzi
1.
2.
3.
4.
5.
6.
7.
8.

gestionarea structurii conceptual


gestionarea datelor
comenzi de regsire rapid a datelor
afiarea datelor n diferite modaliti
programare structural
modularizare i parametrizare
organizarea mediului de lucru
comenzi de protecie
Sistemul Visual FoxPro permite crearea tabelelor unei baze de date n care se

pot stoca date. Structura acestor tabele poate fi apoi actualizat. Actualizarea
structurii tabelelor presupune adugare de noi cmpuri, modificarea sau tergerea
acestora.

Actualizarea nregistrrilor sau tuplurilor presupune adugarea de noi date n


tabele, modificarea, tergerea logic i/sau fizic a celor existente.
Pentru a prsi Visual FoxPro se selecteaz comanda QUIT din meniul FILE
sau se introduce comanda QUIT n fereastra de comenzi ( n nici un caz nu se
recomand resetarea sistemului deoarece baza de date sau indecii aflai n utilizare
pot fi afectai sau distrui).
Utilitatea FoxPro-ului se poate vedea i din faptul c el are o utilizare practic
foarte mare. Problemele practice se pot rezolva foarte simplu, fr a fi necesare
cunotine avansate n acest domeniu. Putem lua ca exemple:agende telefonice,
probleme de contabilitate, gestiuni de firme, etc. Deci limbajul nu se reduce doar la
nivel teoretic. Realizarea unor programe simple de ctre un programator permite
utilizarea de ctre cei interesai in diverse domenii, prin crearea de ferestre de dialog
care s explice celui care utilizeaz programul, prin crearea de ecrane speciale de
introducere a datelor.
O parte importanta a FoxPro-ului o reprezinta generatoarele ( aplicatiile de tip
Wizard si Builder) ce permit realizarea de mici aplicatii in foarte putini pasi si
reprezinta unelte utile pentru incepatori si nu numai. Interfata prietenoasa si
portabilitatea acvestuia pe diverse medii cum ar fi: Windows, Unix, MacIntosh,
precum si multitudinea de extensii pe care le poate importa si exporta (Microsoft
Excel, Paradox, dBase, Oracle Access) au facut din FoxPro un mediu puternic si
omogen.
Acesta varianta este una ce se incadreaza in gebneratia a 4GL care permite
proiectarea interactiva a obiectelor cu care lucreaza o aplicatie.
Dintre generatoarele cele mai folosite amintim: generatorul de machete,
generatorul de tabele, generatorul de rapoarte , generatorul de meniuri, geberatorul de
etichete.

O facilitate extraordinara a Visual FoxPro-ului este data de facilitatea de a


exporta informatii sub forma unor pagini Web, putand asftel folosi Internet-ul. De
asemenea permite transmiterea directa a unor documente tip etichete, scrisori,
cataloage la destinatari prin serviciu de e-mail.
Formularul ca element de interfata cuprinde una sau mai multe ferestre pe care
sunt plasate informatii. Formularele pot fi folosite pentru prezentarea aplicatiei sau
drept panou de bord avand butoane care sa permita realizarea anumitor functii.
Rapoartele sau situatiile finale constitue o madalitate de valorificare a
continutului informational al bazei de date, servind ca instrument de cunoastere a
aspectelor pozitive si negative dintr-o situatie pentru care noi am cules date, le-am
transportat, le-am verificat si le-am depozitat.
Meniurile reprezinta un element de interfata indispensabil unui proiect
informatic profesional. Este un ansamblu de optiuni pus la dispozitie utilizatorului.
In concluzie putem afirma c, prin numeroasele faciliti pe care le ofer,
FoxPro permite utilizarea lui att de cunosctori ct i de neprofesioniti. Are o larga
utilizare i rmne unul dintre cele mai performante SGBD-uri.

Modul de functionare este urmatorul:


-

se apasa dubluclick pe fisierul CABINETMEDICAL.exe, nu este necesara

instalarea unei variante de FOX PRO.


-

Utilizand butoanele formularelor se navigheza intre paginile proiectului

Urmeaza cateva imagini cu modul de lucru in FOX PRO dar si de asemenea cu

imagini ale proiectului:

Proiectul urmareste lucrul cu 2 categorii de inregistrari astfel:


1.PACIENTI:
In aceasta categorie se poate lucra pe formularele:
A.ADAUGARE PACIENTI:

Codul corespunzator acestui formular(la initializarea formei):


ThisForm.Container1.Combo1.Clear
ThisForm.Container1.Combo1.AddItem('Da')
ThisForm.Container1.Combo1.AddItem('Nu')
ThisForm.Container1.Combo1.Value='Da'

La apasarea butonului OK :
GO BOTTOM
cod_nou=codPacient+1
APPEND BLANK
REPLACE codPacient WITH cod_nou,;
nume WITH ThisForm.Container1.Text1.Value,;
prenume WITH ThisForm.Container1.Text2.Value,;
varsta WITH VAL(ThisForm.Container1.Text3.Value),;
adresa WITH ThisForm.Container1.Text4.Value
IF ThisForm.Container1.Combo1.Value=='Da'
REPLACE asigurat WITH .T.
ELSE
REPLACE asigurat WITH .F.
ENDIF
ThisForm.Release

B.MODIFICARE DATE PACIENT:

La initializarea formularului:
ThisForm.Container1.Text2.Enabled=.F.
ThisForm.Container1.Text3.Enabled=.F.
ThisForm.Container1.Text4.Enabled=.F.
ThisForm.Container1.Text5.Enabled=.F.
ThisForm.Container1.Combo1.Clear
ThisForm.Container1.Combo1.AddItem('Da')
ThisForm.Container1.Combo1.AddItem('Nu')
ThisForm.Container1.Combo1.Enabled=.F.
ThisForm.Command1.Enabled=.F.

La initializarea formularului(in grid):


ThisForm.Container1.Text2.Value=nume
ThisForm.Container1.Text2.Enabled=.T.
ThisForm.Container1.Text3.Value=prenume
ThisForm.Container1.Text3.Enabled=.T.
ThisForm.Container1.Text4.Value=ALLTRIM(STR(varsta))
ThisForm.Container1.Text4.Enabled=.T.
ThisForm.Container1.Text5.Value=adresa
ThisForm.Container1.Text5.Enabled=.T.
IF asigurat=.T.
ThisForm.Container1.Combo1.Value='Da'
ELSE
ThisForm.Container1.Combo1.Value='Nu'
ENDIF
ThisForm.Container1.Combo1.Enabled=.T.
ThisForm.Command1.Enabled=.T.

La apasarea butonului CAUTA :


LOCATE FOR(ALLTRIM(nume)=ALLTRIM(This.Parent.Text1.Value))
IF FOUND()
This.Parent.Grid1.Refresh

ELSE
ENDIF

This.Parent.Grid1.SetFocus
WAIT 'Pacientul cautat nu a fost gasit' WINDOW

La apasarea butonului OK :
REPLACE nume WITH ThisForm.Container1.Text2.Value,;
prenume WITH ThisForm.Container1.Text3.Value,;
varsta WITH VAL(ThisForm.Container1.Text4.Value),;
adresa WITH ThisForm.Container1.Text5.Value
IF ThisForm.Container1.Combo1.Value=='Da'
REPLACE asigurat WITH .T.
ELSE
REPLACE asigurat WITH .F.
ENDIF
ThisForm.Release

C.STERGERE DATE PACIENT:

La initializarea formei:

ThisForm.Command1.Enabled=.F.

La initializarea formei(in grid):


ThisForm.Command1.Enabled=.T.

La apasarea butonului CAUTA :


LOCATE FOR(ALLTRIM(nume)=ALLTRIM(This.Parent.Text1.Value))
IF FOUND()
This.Parent.Grid1.Refresh
This.Parent.Grid1.SetFocus
ELSE
WAIT 'Pacientul cautat nu a fost gasit' WINDOW
ENDIF

La apasarea butonului OK :
SELECT consultatii

GO TOP
SCAN FOR codPacient=pacienti.codPacient
DELETE
ENDSCAN
PACK
SELECT pacienti
DELETE
PACK
ThisForm.Release

2.CONSULTATII:
In aceasta categorie se poate lucra pe formularele:
A.INREGISTRARE CONSULTATIE:

La initializarea formei:
ThisForm.Container1.Text2.Value=DTOC(DATE())
ThisForm.Container1.Text2.Enabled=.F.
ThisForm.Container1.Text3.Enabled=.F.
ThisForm.Container1.Edit1.Enabled=.F.
ThisForm.Command1.Enabled=.F.

La initializarea formei(in grid):

ThisForm.Container1.Text2.Enabled=.T.
ThisForm.Container1.Text3.Enabled=.T.
ThisForm.Command1.Enabled=.T.
This.Parent.Label3.Caption=nume+prenume
ThisForm.Container1.Edit1.Enabled=.T.

La apasarea butonului CAUTA :


SELECT pacienti
LOCATE FOR (ALLTRIM(nume)=ALLTRIM(This.Parent.Text1.Value))
IF FOUND()
This.Parent.Grid1.Refresh
This.Parent.Grid1.SetFocus
ELSE
WAIT 'Pacientul cautat nu a fost gasit!' WINDOW
ENDIF

La apasarea butonului OK :

SELECT consultatii
GO BOTTOM
cod_nou=codConsultatie+1
APPEND BLANK
REPLACE codConsultatie WITH cod_nou,;
codPacient WITH pacienti.codPacient,;
data WITH CTOD(ThisForm.Container1.Text2.Value),;
motiv WITH ThisForm.Container1.Text3.Value,;
observatii WITH ThisForm.Container1.Edit1.Value
ThisForm.Release

B.VIZUALIZARE CONSULTATII:

La initializarea formei(in grid) :


This.Parent.Text1.Value=pacienti.nume

This.Parent.Text2.Value=pacienti.prenume
This.Parent.Text3.Value=consultatii.data
This.Parent.Text4.Value=consultatii.motiv
This.Parent.Edit1.Value=consultatii.observatii
ThisForm.Refresh

BIBLIOGRAFIE
1. M. Homorodeanu, S. Petrescu, Limbajul de programare Visual Fox-Pro 6.0,
Editura Niculescu ,2003
2. Mariana, Ionut si Ioana Pantiru, Manual pentru clasa a XIIa, Editura L&S
INFOMAT, 2002
3. Eugen Popescu, Doina Preda, Mihaela Codres, Ecaterina Boarna, Daniel Codres,
Sofia Vitelaru, Visual FoxPro - Teorie si aplicatii, Editura Else, 2009

S-ar putea să vă placă și