20
Unitatea de inavatamant Colegiul National „Alexandru Lahovari” LUCRARE DE ATESTAT PROFESIONAL PROFIL INFORMATICA Profesor indrumator: Simona Ianc

Inchirieri masini

Embed Size (px)

Citation preview

Page 1: Inchirieri masini

Unitatea de inavatamantColegiul National „Alexandru Lahovari”

LUCRARE DE ATESTAT PROFESIONAL

PROFIL INFORMATICA

Profesor indrumator:Simona Ianc

AbsolventRaduica Andra-Gabriela

Majari Maria Irina

Page 2: Inchirieri masini

Evidenta unei firme de inchirieri auto

2

Page 3: Inchirieri masini

DESCRIEREA LIMBAJULUI FOXPRO

Odata cu trecerea timpului si dezvoltarea informaticii, calculatorul s-a

implicat in tot mai multe domenii de activitate, o multitudine de probleme gasindu-

si astfel rezolvarea prin intermediul sau.

Datorita diversitatii problemelor rezolvate cu ajutorul calculatorului nu s-a

putut realiza un program care sa rezolve (orice problema), realizandu-se in schimb

mai multe programe (sau pachete de programe), fiecare specializat in rezolvarea

unui anumit tip de problema. In functie de problema pe care o are de rezolvat,

utilizatorul unui calculator alege acel program care se potriveste cel mai bine in

realizarea scopului propus.

S-a ajuns astfel la o specializare foarte accentuata a sistemelor informatice,

orientate spre rezolvarea diverselor tipuri de probleme.

O clasificare a problemelor rezolvate cu ajutorul calculatorului, tinand cont

de volumul datelor si al prelucrarilor implicate in rezolvare ar putea fi urmatoarea :

probleme care implica prelucrari putine asupra unui volum mare de date

probleme a caror rezolvare presupune un volum mediu de prelucrari asupra unui

volum mediu de date

probleme in rezolvarea carora intra un volum mic de date asupra lor efectuandu-

se un volum mare de prelucrari.

Sistemele de gestiune a bazelor de date (SGBD) reprezinta sisteme informatice

specializate in stocarea si prelucrarea unui volum mare de date, in rezolvarea

problemelor de primul tip, din clasificarea anterioara. Termenul de « baza de date »

se va referi la datele de prelucrat, la modul de organizare a acestora pe suportul

fizic de memorat iar termenul de « gestiune » se va referi la actiunea de memorare

si prelucrare a acestor date.

3

Page 4: Inchirieri masini

Un SGBD trebuie sa asigure urmatoarele functiuni elementare, referitoare la

bazele de date :

definirea bazei de date

introducerea datelor (adaugarea de noi date la baza de date)

modificarea unor date existente in baza de date

stergerea unor date

interogarea bazei de date, adica extragerea informatiilor stocate in aceasta

Pe masura dezvoltarii acestor sisteme lista s-a completat cu facilitati importante

cum ar fi :

generare de rapoarte

modalitati noi de interogare a bazei de date (de exemplu un limbaj de tip SQL)

noi tipuri de organizare a bazelor de date si noi tipuri de acces (de exemplu

accesul indexat)

FOXPRO 9.0 este un sistem de gestiune al bazelor de date relational iar in

comparatie cu concurentii sai directi se mentine in frunte datorita performantelor

sale. Principalele sale atuuri sunt modul relaiv simplu de lucru si limpezimea

sintaxei, ceea ce il face si utilizat si in scop didactic.

Comenzile FOXPRO permit descrierea tuturor functiunilor generale ale unui

SGBD, anume :

1. gestionarea structurii conceptuale a bazei de date separat de structura fizica

(CREATE, MODIFY STRUCTURE, COPY STRUCTURE, DISPLAY

STRUCTURE, CREATE TABLE)

2. gestionarea datelor : incarcare (APPEND, INSERT), modificare (REPLACE,

EDIT, CHANGE), stergere (DELETE, ZAP, PACK, RECALL)

3. satisfacerea cerintelor de regasire rapida a datelor, fie prin specificarea unor

criterii complexe de selectie, cit si prin folosirea unor chei de acces (FIND,

SEEK, LOCATE)

4

Page 5: Inchirieri masini

4. afisarea datelor in diferite modalitati (CREATE/MODIFY REPORT,

CREATE/MODIFY LABEL, CREATE/MODIFY SCREEN)

5. programare structurata (IF, CASE, DO WHILE, SCAN)

6. modularizare si parametrizare (PROCEDURE, FUNCTION)

7. facilitati ale utilizatorilor in organizarea mediului de lucru (SET COLOR,

DEFINE WINDOW, DEFINE MENU).

8. protectie (SET LOCK, SET EXCLUSIVE, SET ENCRYPTION)

Elemente ale limbajului Foxpro folosite in aplicatie

Un element important al mediului FoxPro este formularul, care reprezinta o

portiune a ecranului tratata ca un unic element, cu anumite caracteristici ce

determina actiunile ce se pot executa asupra acesteia. Formularele sunt definite de

catre utilizator de catre utilizator, care pot fi utilizate in programele de aplicatii

create sub mediul FoxPro.

Modul de lucru cu aceste formulare este urmatorul:

mai intai acestea se creeaza, cu ajutorul comenzii CREATE FORM,

moment in care se precizeaza si atributele lor( poza de fond, dimensiunea

ferestrei modul de deschidere);

dupa definire se vor creea pe ecran, folosind modelul grafic propus de

FOX PRO, butoane care sa faca legatura intre formulare

aceasta legatura se formeaza prin secventa de instructiuni:

thisform.relese()

do form [nume formular]

se vor crea de asemenea si tabele in care se vor depunde informatiile cu

privire la abonatii firmei, abonamentele acestora ( clientii pot sa aiba mai

multe abonamnete fiecare), costul suplimentar (pe langa cel al

abonamntului)

5

Page 6: Inchirieri masini

Alaturi de formulare, rapoartele FoxPro dau acestui mediu si acestui limbaj o

putere deosebita, atat datorita eficientei si comoditatii cu care se lucreaza cu aceste

elemente, ci si datorita aspectului deosebit de placut pe care cele doua elemente il

ofera programelor de aplicatii si mediului FoxPro.

Formularul reprezinta un element 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, corespunzatoarea optiunii alese.

Am preferat utilizarea formularului in locul meniului datorita interfatei mai

prietenoase si a posibilatilor inserari de iamgini. Fiecare formular contine la randul

lui anumite “optiuni”.

Modul de functionare este urmatorul:

- se apasa dubluclick pe fiserul inchiriei_masini.exe, nu este necesara

instalarea unei variante de FOX PRO.

- Utilizand butoanele formularelor se navigheza intre paginile proiectului

6

Page 7: Inchirieri masini

Mai sus este prezentata modalitatea de lucru cu instrumentele programului visual

Foxpro 6.0.

7

Page 8: Inchirieri masini

Forma de mai sus realizeaza stergerea unei masini din lista pe baza unui id citit de la tastatura.

Butonul reset are rolul de a seta textbox-ul in care se citeste de la tastatura cu valoare vida.

Butonul Arata toate masini permite visualizarea continutului din tabela masini.dbf.

8

Page 9: Inchirieri masini

!!!Se va avea grija la modul de introducerii al adresei, intr-un mod compact pentru a nu ocupa spatii nimeroase

9

Page 10: Inchirieri masini

Aceasta forma realizeaza adaugarea datelor in tabela masini.dbf. Fiecarui camp din tabela masini.dbf i se asociaza continutul textbox-ului din foma adauga_masina.scx.

10

Page 11: Inchirieri masini

Utilizand astfel aceste instrumente (tabele, fromulare, rapoarte) ale Fox Pro-ului reusim sa cream o aplicatie stabila care sa asigure o organizare precisa a datelor si o interfata prietenoasa cu utilizatorul.

APLICATIA:Oferim in cele ce urmeaza secvente de cod cu explicatii sumare:

Set talk offClearDo form main.scxRead EventsReturn

if empty(thisform.nume1.text)messagebox('Va rugam sa completati campul [nume]',16,'Eroare')return

endif

if (empty(thisform.prenume1.text))messagebox('Va rugam sa completati campul [prenume]',16,'Eroare')return

endif

if (empty(thisform.cnp1.text))messagebox('Va rugam sa completati campul [CNP]',16,'Eroare')

returnendifif (empty(thisform.tel1.text))

messagebox('Va rugam sa completati campul [Numar de telfon]',16,'Eroare')return

ENDIFif (empty(thisform.zile1.text))

messagebox('Va rugam sa completati campul [Numarul de zile de inchiriat]',16,'Eroare')return

ENDIFif (empty(thisform.id1.text))

messagebox('Va rugam sa completati campul [ID]',16,'Eroare')return

ENDIF

close all

11

Page 12: Inchirieri masini

use masini IN 1use clienti IN 2

sele 1LOCATE FOR id =thisform.id1.text*alltrim (thisform.id1.text)

IF !FOUND()messagebox('Nu exista nicio masina cu acest ID!',16,'Eroare')RETURN

ENDIF

sele 2

GO bottomappend blank

replace nume with alltrim(thisform.nume1.text), ;prenume with alltrim(thisform.prenume1.text), ;tel with alltrim(thisform.tel1.text), ;cnp with alltrim(thisform.cnp1.text), ;zile with val(thisform.zile1.text), ;id with alltrim(thisform.id1.text);

messagebox("Inregistrarea cu succes",64,"Confirmare")

CLOSE alluse

thisform.nume1.value=""thisform.prenume1.value=""thisform.tel1.value=""thisform.cnp1.value=""thisform.zile1.value=""thisform.id1.value=""

if empty(thisform.marca1.text)messagebox('Va rugam sa completati campul [marca]',16,'Eroare')return

endif

if (empty(thisform.model1.text))messagebox('Va rugam sa completati campul [model]',16,'Eroare')return

endif

12

Page 13: Inchirieri masini

if (empty(thisform.cmc1.text))messagebox('Va rugam sa completati campul [cmc]',16,'Eroare')

returnendifif (empty(thisform.an1.text))

messagebox('Va rugam sa completati campul [an fabricatie]',16,'Eroare')return

ENDIFif (empty(thisform.stare1.text))

messagebox('Va rugam sa completati campul [stare]',16,'Eroare')return

ENDIFif (thisform.stare1.text<>'a')and(thisform.stare1.text<>'b')

messagebox('Va rugam sa completati corect campul [stare], a-avariata, b-disponibila',16,'Eroare')

returnENDIFif (empty(thisform.nr1.text))

messagebox('Va rugam sa completati campul [numar de inmatriculare]',16,'Eroare')return

ENDIF

if empty(thisform.id1.text)messagebox('Va rugam sa completati campul [ID]',16,'Eroare')return

endif

if empty(thisform.pret1.text)messagebox('Va rugam sa completati campul [pret]',16,'Eroare')return

endif

close alluse masini

LOCATE FOR nr = alltrim (thisform.nr1.text)IF FOUND()

messagebox('Acest numar de inmatriculare este alocat altei masini!',16,'Eroare')RETURN

ENDIF

LOCATE FOR id = alltrim (thisform.id1.text)IF FOUND()

messagebox('Acest ID este asociat altei masini!',16,'Eroare')RETURN

13

Page 14: Inchirieri masini

ENDIF

GO bottomappend blank

replace Marca with alltrim(thisform.marca1.text), ;Model with alltrim(thisform.model1.text), ;Cmc with val(thisform.cmc1.text), ;An with alltrim(thisform.an1.text), ;Stare with alltrim(thisform.stare1.text), ;Nr with alltrim(thisform.nr1.text),;pret with val(thisform.pret1.text),;id with alltrim(thisform.id1.text) ;

messagebox("Inregistrarea cu succes",64,"Confirmare")CLOSE alluse

thisform.marca1.value=""thisform.model1.value=""thisform.cmc1.value=""thisform.an1.value=""thisform.stare1.value=""thisform.nr1.value=""thisform.id1.value=""

use clientilocate for alltrim(thisform.nume1.text) =ALLTRIM(nume) and alltrim(thisform.prenume1.text) =ALLTRIM(prenume)

if found()

delete packmessagebox ('Stergere cu succes', 62 , 'Succes')else messagebox ('Nu s-a gasit acest nume in baza de date',16,'Eroare')REturn

ENDIF

CLOSE all

use clienti

brow

14

Page 15: Inchirieri masini

use masinilocate for alltrim(thisform.id1.text) =ALLTRIM(id)

if found()

delete packmessagebox ('Stergere cu succes', 62 , 'Succes')else messagebox ('Nu s-a gasit acesta masina in baza de date',16,'Eroare')REturn

ENDIF

CLOSE all

thisform.release()do form afisare

use masini

list marca,model,cmc,nr,stare,id

close all

thisform.Release()do FORM operatii_masini

BIBLIOGRAFIE

15

Page 16: Inchirieri masini

1. Gabriel si Mihai DIMA, “FOXPRO”, Editura TEORA, 1998.

2. Mariana, Ionut si Ioana Pantiru, Manual pentru clasa a XIIa, Editura L&S

INFOMAT, 2002

16

Page 17: Inchirieri masini

CUPRINS

Descrierea limbajului FOXPRO .............................................................. 4

Elemente ale limbajului Foxpro folosite in aplicatie............................... 5

Modul de functionare................................................................................ 6

Bibliografia .............................................................................................. 16

17