Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice



Acasa » referate » informatica
PROIECT DE ATESTAT - AGENITA DE VOIAJ

PROIECT DE ATESTAT - AGENITA DE VOIAJ



GRUP SCOLAR STEFANESTI

PROIECT DE ATESTAT


AGENITA DE VOIAJ

                              Sisteme de gestiune a bazelor de date

 

            Sistemul de gestiune a bazelor de date (SGBD) este un ansamblu de programe (produs software) , carea realizeaza interfata dintre o baza de date si utilizatorii acesteia . SGBD asigura urmatoarele obiective : independenta datelor fata de programe , facilitati de descriere si utilizare a datelor , securitatea datelor , partajabilitatea datelor intre utilizatori.

            Pentru ca un sistem software sa fie SGBD , el trebui sa aisgure obiecitvele de mai sus prin patru functii proprii : definirea datelor , manipularea datelor , utilizarea datelor , administrarea datelor .

  1. Functia de definire a datelor permite descrierea structurii bazei de date cu ajutorul limbajului de definire a datelor (LDD). Se descriu entitatile (colectiile de date) , caracteristicile (campurile) acestora , precum si legaturile dintre entitati.
  2. Functia de manipulare a datelor permite incarcarea / validarea datelor , actualizarea datelor si interogarea (regasirea datelor) . Toate aceste operatii se realizeaza cu ajutorul limbajului de manipulare a datelor (LMD).
  3. Functia de utilizare a datelor asigura interfetele necesare comunicarii utilizatorilor cu baza de date. Categoriile de utilizatori sunt : programatori de aplicatie (SGBD le ofera limbaje si interfete) , administratorul bazei de date (SGBD ii ofera instrumente specializate) , alte categorii de utilizatori (SGBD le ofera instrumente si interfete specifice).
  4. Functia de administrare a bazei de date permite gestionarea corecta a bazei de date , atat in procesul de realizare a bazei , cat si apoi in procesul de exploatare a bazei . SGBD ofera pentru utilizatorul special , care este administratorul bazei de date , instrumente pentru proiectarea si intretinerea bazei de date . Aceste instrumente sunt utile pentru : inscarcarea structurii bazei de date , reorganizarea bazei de date , jurnalizarea si refacerea bazei de date in caz de incidente , analiza statistica asupra bazei de date.

Pe langa instrumentele specifice puse la dispozitie de SGBD pentru administratorul bazei de date , acesta isi poate crea , in colaborare cu programatorii de aplicatie , o serie de alte interfete , necesare gestionarii optime a bazei de date.

Arhitectura unui SGBD evidentiaza componentele acestuia si legaturile dintre ele . Pe parcursul evolutiei SGBD – urilor au fost elaborate standarde de arhitecturi , precum si numeroase late propuneri . Tendinta actuala este de a structura componentele unui SGBD intr-o arhitectura pe trei niveluri : nucleul , interfetele , instrumentele .

Nucleul SGBD contine principalele mecanisme care asigura functiile sistemului . Acest lucru este asigurat in mare parte de limbajele sistemului (LDD , LMD).

Interfetele sunt componente destinate , in special , dezvoltarilor aplicatiilor cu baze de date . Aici sunt incluse generatoarele , interfetele cu alte limbaje de programare , elementele de proiectare asistata CASE (Computer Aided Software Engeneering).

Instrumentele sunt componente destinate intretinerii si administrarii bazei de date. Ele sunt destinate tuturor categoriilor de utilizatori ai bazei de date , dar in mod special administratorului . Aici sunt incluse depanatoare , editoare , browsere , produse de retea , utilitare de diferite tipuri.

Programele de aplicatie sunt scrise , in cea mai mare parte , in limbajele de programare oferite de SGBD – uri . Cele doua tipuri de limbaje , LDD si LMD , permit scrierea programelor pentru descrierea si manipularea datelor prin istructiuni (scrierea codului sursa) sa prin interfete (generarea codului sursa) .

Unele module de program pot fi realizate de programatorii de aplivatie in limbajele de programare universale pe care le accepta ( ca interfete de programare ) diferitele SGBD – uri. De exemplu FoxPRo adminte interfata cu cu limbajul C si cu limbajul de asamblare.

Programele de aplicatie sunt compuse atat din module procedurale ( pentru prelucrari , interfete om – masina ) , cat si module neprocedurale ( pentru accesul la baza de date ).

Modulele procedurale sunt scrise in limbaje imperative , care permit dezvoltarea celor trei structuri fundamentale din programarea structurala : secventiala , alternativa , repetitiva. Astfel de limbaje de programare sunt cele universale ( Basic , Pascal , C , etc. ) sau cele proprii unor SGBD – uri ( FoxPro , dBase , Progress ).

Modulele neprocedurale sunt scrise in limbaje descriptive care permit dezvoltarea doar a unor structuri secventiale de program. Astfel de limbaje de programare sunt cele relationale ( SQL , QBE ) sau cele orientate obiect ( Smalltalk ).

Exemple de tipuri de module de program de aplicatie : pentru incarcare / validare de date , pentru actualizare , pentru regasire , pentru construirea de meniuri .

Pentru dezvoltarea programelor de aplicatie , in vederea cresterii eficientei muncii de programare , se folosesc atat tehnicile de programare clasice ( structurala , modulara ) , cat si cele mai noi ( orientata obiect , vizuala ) . Tot pentru cresterea productivitatii programarii se pot genera module de program de aplicatie cu intrumentele oferite de SGBD – uri ( exemple : generatoare de meniuri , de videoformate , de rapoarte , de grafice , etc. ).

Avantajul generatoarelor este ca usureaza munca de programare s ca permit dezvoltarea rapida a aplicatiilor cu baze de date . Dezavantajul este ca rezulta o flexibilitate mai redusa a aplicatiilor.

   Sisteme de gestiune a bazelor de date relationale

 

Sistemele relationale au ca orice SGBD caracteristicile comune prezentate anterior . Pe langa acestea , fiecare tip de SGBD , deci si cele relationale , au o serie de caracteristici specifice . Aceste elemente specifice pentru SGBD relationale (SGBDR) vor fi trecute in revista , pe scurt , in cele ce urmeaza

Conceptele din teoria relationala , prezentate anterior , sunt implementatea in VFP. O parte dintre ele au denumiri diferite , dar continutul este acelasi . De asemenea , stiind faptul ca organizarea datelor in baze de date din memoria externa a evoluat din organizarea in fisiere , exista analogii in ceea ce priveste notiunile utilizate.

Un SGBD este relational daca utilizeaza pentru organizarea datelor in memori externa modelul de date relational si limbajele relationale . Sistemele relationale fac parte din generatia a doua de SGBD – uri.

Evaluarea unui SGBDR se poate face riguros pe cele 13 reguli ale lui E.F. Codd. Deoarece acestea sunt foarte restrictive , in practica se foloseste un set de cerinte mnimale desprinse din regulile lui Codd:

a)      intreaga baza de date se reprezinta prin tabele (relatii );

b)     operatiile cu tabele nu fac apel la pointeri , fisiere inverse ;

c)      operatorii relationali de proiectie , selecti , jonctiune  trebuie sa fie implementati fara limitari interne;

d)     toti operatorii de baza din algebra relationala trebuie sa fie implementati fara limitari interne;

e)      sunt suportate restrictiile de integritate referitoare la unicitatea cheii (UNIQUE) si cea referentiala (FOREIGN KEY) . In functie de modul cum sunt asigurate cerintele de mai sus , se poate face evaluarea unui SGBD astfel : comple relational(a,b,c,d) , minimal relational (a,b,c) , presudorelational (a,c) , cu interfata relationala ( a , c partial – doar pentru interogare).

Arhitectura  unui SGBDR respecta structurarea pe trei niveluri , cu urmatoarele aspecte specifice :

-                   nucleul contine un limbaj relational si un limbaj procedural ( propriu sau gazda ) ; cel mai utilizat limbaj relational , singurul standardizat international , este SQL ;

-                   interfetele contin generatoare pentru dezvoltarea aplicatiilor ( videoformate , ecrane , rapoarte , grafice ) , elemente de CASE pentru proiectarea asistata a aplicatiilor , interfete cu alte sisteme de baza de date sau cu limbaje de programare universale ;

-                   instrumentele contin utilitare pentru intretinerea bazei de date  , puse la dispozitia administratorului bazei de date si a aςtor utilizatori.

Caracteristicile unui SGBDR pot fi identificate la nivel global si particular.

Caracteristicile globale rezulta din faptul ca sistemel relationale sunt o categorie distincta de SGBD – uri :

-                   limbajele relationale permit definirea datelor – LDD si manipularea datelor LMD. Exemple de limbaje relationale : SQL , QUEL , QBE, ISBL;

-                   controlul integritatii semantice se face in conformitate cu restrictiile de integritate impuse la descrierea datelor prin mecanisme specifice de control;

-                   asigurarea coerentei datelor prin tratarea unitatii de lucru , care este tranzactia , cu mecanisme specifice ;

-                   optimizarea cererilor de regasire pentru cresterea performantelor prin implementarea unor interfete automate ;

-                   utilitare specializate pentru diferitele categorii de utilizatori.

Caracteristicile particulare rezulta din faptul ca fiecare SGBDR are caracteristici individuale comparativ cu alte SGBDR – uri similare . Aceste caracteristici sunt de fapt criterii de comparatie intre diferite SGBDR .Prezentam aceste caracteristici particulare grupate astfel :

-                   caracteristici functie de facilitatile de descriere a datelor  ( modul de implementare a modelului relational , utilizarea comceptului de baza de date , definirea metodelor , actualizarea schemei relatiei , restrictiile de integritate ce pot fi dclarate ;

-                   caracteristici functie de facilitatile de manipulare a datelor ( limbajul relational implementat pentru manipularea datelor , modurile de acces la date , calculul aritmetic , tratarea valorii NULL , optimizarea cererilor de regasire , actualizarea realtiilor de baza si virtuale , programarea orientata obiect ;

-                   caracteristici functie de utilizare si administrare ( generatoare de diferite tipuri : videoformate , meniuri , rapoarte , grafice , aplicatii ; elemente de CASE , analize statistice , acces la distanta , autorizarea accesului , utilitate de intretinere).

Exemple de SGBDR : Oracle , DB2 , Informix , Ingres , SQL Server , Visual FoxPro , Acces , Progress , Paradox , dBase.

               DESCRIEREA APLICATIEI

 

Agentia de voiaj  este o aplicatie realizata in Microsoft Visual FoxPro 6.0 si are ca scop simularea unei baze de date specifice unei agentii de voiaj. Contine patru sectiuni principale : angajati , trasee , finante si rezervari , cu urmatoarele functii : adaugare , modificare , stergere , vizualizare. Lansarea in executie a aplicatiei se face cu Agentia de voiaj.app iar modificarea acesteia cu Agentia de voiaj.pjx.

STRUCTURA BAZEI DE DATE

  

                  Tabele:

                                    ANGAJATI – stocheaza informatii despre angajati

                                                NUME            C         15        numele

                                                DATA_N                    D         8          data nasterii

                                                LOC                C         20        locul nasterii

                                                CNP                            C         13        cnp - ul

                                                FUNCTIE        C         20        functia

                                                DATA_A                    D         8          data angajarii 

                                                SALARIU       N         5          salariu

                                                ADRESA        C         4          adresa

                                                NR                               C         10        numarul de telefon

                        TRASEE – stocheaza informatii despre trasee

                                    RUTA             C         30        plecarea si destinatia

                                    OPRIRI                       M        4          opririle pe traseu

                                    PLECARE       C         5          ora de plecare

                                    SOSIRE                       C         5          ora de sosire



                                    SOFER                        C         20        soferul

                                    LISTA             C         50        camp folosit pentru lista de pe formular

                        REZERVARI – stocheaza informatii despre rezervari

                                    NUME            C         15        numele

                                    CNP                            C         13        cnp - ul

                                    RUTA             C         50        ruta

                                    LOC                C         2          locul in autocar

                                    DATA             D         8          data rezervarii

                        FINANTE – stocheaza informatii despre finante

                          AN                                        C         4          anul

                          LUNA                                   C         15        luna

                          MOTORINA             N         5          cheltuieli pe motorina

                          INTRETIN                N         5          intretinere autovehicule

                          SALARII                   N         5          salarii

                          ALTELE                   N         5          alte cheltuieli

                          CHELTUIELI           N         5          total cheltuieli

                          INCASARI                N         5          total incasari

                        PROFIT                                   N         5          profit

La rularea aplicatiei se lanseaza in executie formularul main care contine urmatorele butoane:

1.          info – lanseaza in executie formularul info  care contine informatii despre aplicatie

2.          angajati – lanseaza formularul angajati care permite adaugarea de noi angajati , si modificarea datelor celor existenti . Contine butoanele :

a.          adauga – adauga un angajat in baza de date:

if empty (thisform.text1.value)

            messagebox('Introduceti numele !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text2.value)

            messagebox('Introduceti data nasterii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text3.value)

            messagebox('Introduceti locul nasterii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text4.value)

            messagebox('Introduceti cnp - ul !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text5.value)

            messagebox('Introduceti functia !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text6.value)

            messagebox('Introduceti data angajarii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text7.value)

            messagebox('Introduceti salariul !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text8.value)

            messagebox('Introduceti adresa !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text9.value)

            messagebox('Introduceti numarul de telefon !',16,'Agentie de voiaj')

            return

endif

use angajati

set exact on

locate for thisform.text1.value = nume

if found()

            messagebox('Numele figureaza deja in baza de date !',16,'Agentie de voiaj')

            return

else

            append blank

            replace nume with thisform.text1.value

            replace data_n with thisform.text2.value

            replace loc with thisform.text3.value

            replace cnp with thisform.text4.value

            replace functie with thisform.text5.value

            replace data_a with thisform.text6.value

            replace salariu with thisform.text7.value

            replace adresa with thisform.text8.value

            replace nr with thisform.text9.value

            messagebox('Inregistrarea a fost adaugata !',48,'Agentie de voiaj')

endif

use

thisform.init()

thisform.list1.click()

b.          reseteaza – reseteaza toate campurile:

thisform.text1.value = ''

thisform.text2.value =

thisform.text3.value = ''

thisform.text4.value = ''

thisform.text5.value = ''

thisform.text6.value =

thisform.text7.value = 0

thisform.text8.value = ''

thisform.text9.value = ''

c.           sterge – sterge angajatul selectat:

if empty(thisform.list1.value)

            messagebox('Selectati un angajat !',16,'Agentie de voiaj')

            return

endif

use angajati

set exact on

locate for thisform.list1.value = nume

delete

pack

messagebox('Inregistrarea a fost stearsa !',48,'Agentie de voiaj')

use

thisform.init()

thisform.list1.click()

d.          modifica – modifica datele angajatului selectat:

if empty (thisform.text1.value)

            messagebox('Introduceti numele !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text2.value)

            messagebox('Introduceti data nasterii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text3.value)

            messagebox('Introduceti locul nasterii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text4.value)

            messagebox('Introduceti cnp - ul !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text5.value)

            messagebox('Introduceti functia !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text6.value)

            messagebox('Introduceti data angajarii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text7.value)

            messagebox('Introduceti salariul !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text8.value)

            messagebox('Introduceti adresa !',16,'Agentie de voiaj')



            return

endif

if empty (thisform.text9.value)

            messagebox('Introduceti numarul de telefon !',16,'Agentie de voiaj')

            return

endif

use angajati

set exact on

locate for thisform.text1.value = nume

            replace nume with thisform.text1.value

            replace data_n with thisform.text2.value

            replace loc with thisform.text3.value

            replace cnp with thisform.text4.value

            replace functie with thisform.text5.value

            replace data_a with thisform.text6.value

            replace salariu with thisform.text7.value

            replace adresa with thisform.text8.value

            replace nr with thisform.text9.value

            messagebox('Inregistrarea a fost modificata !',48,'Agentie de voiaj')

use

thisform.list1.click()

e.           inapoi – inchide formular curent si lanseaza formularul main:

thisform.release

do form main

3.          finante – ruleaza formularul finante care permite adaugarea de noi inregistrari sau vizualizarea celor existente . Contine butoanele :

a.          adauga – adauga noi inregistrari:

if empty(thisform.text1.value)

            messagebox('Introduceti un an !',16,'Agentia de voiaj')

            return

endif

if empty(thisform.combo1.value)

            messagebox('Selecatati o luna !',16,'Agentia de voiaj')

            return

endif

use finante

set exact on

locate for thisform.text1.value = an and thisform.combo1.value = luna

if found()

            messagebox('Exista inregistrari pe luna selectata !',16,'Agentie de voiaj')

            return

else

            append blank

            replace an with thisform.text1.value

            replace luna with thisform.combo1.value

            replace motorina with thisform.text2.value

            replace intretin with thisform.text3.value

            replace salarii with thisform.text4.value

            replace altele with thisform.text5.value

            replace cheltuieli with thisform.text6.value

            replace incasari with thisform.text7.value

            replace profit with thisform.text8.value

            messagebox('Inregistrarea a fost salvata !',48,'Agentia de voiaj')

endif

use

b.          reseteaza – reseteaza campurile de pe formular:

thisform.text1.value = ''

thisform.combo1.value = ''

thisform.text8.value = 0

thisform.text2.value = 0

thisform.text3.value = 0

thisform.text4.value = 0

thisform.text5.value = 0

thisform.text6.value = 0

thisform.text7.value = 0

c.           vizualizeaza – afiseaza inregistrarile de pe luna selectata:

if empty(thisform.text9.value)

            messagebox('Introduceti un an !',16,'Agentia de voiaj')

            return

endif

if empty(thisform.combo2.value)

            messagebox('Selecatati o luna !',16,'Agentia de voiaj')

            return

endif

use finante

set exact on

locate for thisform.text9.value = an and thisform.combo2.value = luna

if found()

            thisform.text10.value = motorina

            thisform.text11.value = intretin

            thisform.text12.value = salarii

            thisform.text13.value = altele

            thisform.text14.value = cheltuieli

            thisform.text15.value = incasari

            thisform.text16.value = profit

else

            messagebox('Nu exista inregistrari pe luna selectata !',16,'Agentie de voiaj')

            return

endif

use

d.          inapoi – inchide formularul curent si ruleaza formularul main :

thisform.release

do form main

4.          trasee – ruleaza formularul trasee care permite adaugarea de noi trasee , stergerea sau modificarea celor existente. Contine butoanele :

a.          adauga – adauga un traseu nou :

if empty (thisform.text1.value)

            messagebox('Introduceti ruta !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text2.value)

            messagebox('Introduceti ora plecarii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text3.value)

            messagebox('Introduceti introduceti ora sosirii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text4.value)

            messagebox('Introduceti soferul cursei !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.edit1.value)

            messagebox('Introduceti opririle din timpul cursei !',16,'Agentie de voiaj')

            return

endif

use trasee

set exact on

locate for thisform.text1.value = ruta and thisform.text2.value = plecare

if found()

            messagebox('Cursa figureaza deja in baza de date !',16,'Agentie de voiaj')

            return

else

            append blank

            replace ruta with thisform.text1.value

            replace plecare with thisform.text2.value

            replace sosire with thisform.text3.value

            replace sofer with thisform.text4.value

            replace opriri with thisform.edit1.value

            replace lista with thisform.text5.value

            messagebox('Inregistrarea a fost adaugata !',48,'Agentie de voiaj')

endif

use

thisform.init()

thisform.list1.click()

b.          reseteaza – reseteaza toate campurile :

thisform.text1.value = ''

thisform.text2.value = ''

thisform.text3.value = ''

thisform.text4.value = ''

thisform.edit1.value = ''

c.           sterge – sterge traseul selectat:

if empty(thisform.list1.value)

            messagebox('Selectati o cursa !',16,'Agentie de voiaj')

            return

endif

use trasee

set exact on

locate for thisform.list1.value = lista

delete

pack

messagebox('Inregistrarea a fost stearsa !',48,'Agentie de voiaj')

use

thisform.init()



thisform.list1.click()

d.          modifica – modifica traseul selectat:

if empty (thisform.list1.value)

            messagebox('Selectati o ruta !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text1.value)

            messagebox('Introduceti ruta !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text2.value)

            messagebox('Introduceti ora plecarii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text3.value)

            messagebox('Introduceti introduceti ora sosirii !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.text4.value)

            messagebox('Introduceti soferul cursei !',16,'Agentie de voiaj')

            return

endif

if empty (thisform.edit1.value)

            messagebox('Introduceti opririle din timpul cursei !',16,'Agentie de voiaj')

            return

endif

use trasee

set exact on

locate for thisform.list1.value = lista

            replace ruta with thisform.text1.value

            replace plecare with thisform.text2.value

            replace sosire with thisform.text3.value

            replace sofer with thisform.text4.value

            replace opriri with thisform.edit1.value

            replace lista with thisform.text5.value

            messagebox('Inregistrarea a fost modificata !',48,'Agentie de voiaj')

use

thisform.init()

thisform.list1.click()

e.           inapoi – inchide formularul curent

5.          rezervari – ruleaza formularul rezervari care permite efectuare de noi rezervari si modificarea celor existente. Contine butoanele :

a.               adauga – adauga o noua rezervare:

if empty (thisform.text1.value)

                        messagebox('Introduceti numele !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text2.value)

                        messagebox('Introduceti cnp - ul !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text3.value)

                        messagebox('Introduceti ruta rezervata !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text4.value)

                        messagebox('Introduceti locul !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text4.value)

                        messagebox('Introduceti data rezervarii !',16,'Agentie de voiaj')

                        return

endif

use rezervari

set exact on

locate for thisform.text1.value = nume and thisform.text3.value = ruta

if found()

                        messagebox('Rezervarea figureaza deja in baza de date !',16,'Agentie de voiaj')

                        return

else

                        append blank

                        replace nume with thisform.text1.value

                        replace cnp with thisform.text2.value

                        replace ruta with thisform.text3.value

                        replace loc with thisform.text4.value

                        replace data with thisform.text5.value

                        messagebox('Inregistrarea a fost adaugata !',48,'Agentie de voiaj')

endif

use

thisform.init()

thisform.list2.click()

b.               reseteaza – reseteaza toate campurile :

thisform.text1.value = ''

thisform.text2.value = ''

thisform.text3.value = ''

thisform.text4.value = ''

thisform.text5.value = ''

c.                sterge – sterge o rezervare:

if empty(thisform.list2.value)

                        messagebox('Selectati un nume !',16,'Agentie de voiaj')

                        return

endif

use rezervari

set exact on

locate for thisform.list2.value = nume

delete

pack

messagebox('Inregistrarea a fost stearsa !',48,'Agentie de voiaj')

use

thisform.init()

thisform.list2.click()

d.               modifica – modifica o rezervare

if empty(thisform.list1.value)

                        messagebox('Selectati un nume !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text1.value)

                        messagebox('Introduceti numele !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text2.value)

                        messagebox('Introduceti cnp - ul !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text3.value)

                        messagebox('Introduceti ruta rezervata !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text4.value)

                        messagebox('Introduceti locul !',16,'Agentie de voiaj')

                        return

endif

if empty (thisform.text4.value)

                        messagebox('Introduceti data rezervarii !',16,'Agentie de voiaj')

                        return

endif

use rezervari

set exact on

locate for thisform.text1.value = nume and thisform.text3.value = ruta

                        replace nume with thisform.text1.value

                        replace cnp with thisform.text2.value

                        replace ruta with thisform.text3.value

                        replace loc with thisform.text4.value

                        replace data with thisform.text5.value

                        messagebox('Inregistrarea a fost adaugata !',48,'Agentie de voiaj')

use

thisform.init()

thisform.list2.click()

e.                inapoi – inchide formularul

6.          iesire – asigura iesirea din aplicatie si din mediul FoxPro:

quit.








Politica de confidentialitate

.com Copyright © 2019 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE Clasa: I Matematica - Adunarea si scaderea numerelor naturale de la 0 la 30, fara trecere peste ordin
 Proiect didactic Grupa: mijlocie - Consolidarea mersului in echilibru pe o linie trasata pe sol (30 cm)
 Redresor electronic automat pentru incarcarea bateriilor auto - proiect atestat
 Proiectarea instalatiilor de alimentare ale motoarelor cu aprindere prin scanteie cu carburator

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 Proiect diploma Finante Banci - REALIZAREA INSPECTIEI FISCALE LA O SOCIETATE COMERCIALA
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”

Lucrari licenta

vezi toate lucrarile de licenta
 CONTABILITATEA FINANCIARA TESTE GRILA LICENTA
 LUCRARE DE LICENTA - FACULTATEA DE EDUCATIE FIZICA SI SPORT
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 Proiect atestat informatica- Tehnician operator tehnica de calcul - Unitati de Stocare
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 Proiect atestat tehnician in turism - carnaval la venezia




UTILIZAREA UML-urilor IN ANALIZA ORIENTATA OBIECT ( APOO )
CONCEPTUL DE DATA SI INFORMATIE
PROIECT ATESTAT INFORMATICA - GESTIONAREA STOCULUI UNEI FARMACII
Elementele de baza ale unui template Joomla
PROIECT DE ATESTAT - AGENITA DE VOIAJ
Sinteza unui dispozitiv secvential de inmultire a numerelor binare reprezentate in complement de doi prin procedura James Robertson
SISTEME INFORMATIONALE SI SISTEME INFORMATICE IN GESTIUNEA ORGANIZATIILOR
ATESTAT LA INFORMATICA - Baza de date relationala aplicata intr-o biblioteca scolara


Termeni si conditii
Contact
Creeaza si tu