Documente Academic
Documente Profesional
Documente Cultură
Lucrare atestat
Evidena unui aeroport
Prof. coordonator:
Vlad Viorel
Elev:
Neagu Alexandru - Marian
Clasa a XII-a B
-Mai 2014-
Cuprins
Motivarea alegerii temei ..........................................................3
Prezentarea aplicaiei ..............................................................4
Codul surs ............................................................................14
Bibliografie ............................................................................22
Prezentarea aplicaiei
Aplicaia permite gestionarea datelor dintr-un aeroport
ntr-un mod sigur i eficient.
Aplicaia conine baze de date ce rein informaii att
despre clieni ct i despre cursele acestora.
Se simplific operaii ca :
adugarea unui nou pasager
modificarea unui pasager
tergerea unui pasager
adugarea unei noi curse
modificarea unei curse
tergerea unei curse
vizualizarea pasagerilor de la o dat
vizualizarea curselor
Structura curse:
Nr_cursa C4
Plecare (Aeroport plecare) C10
Sosire (Aeroport sosire) C10
Ora_p (Ora plecarii) C5
Ora_s (Ora sosirii) C5
Nr_locuri N4
Utilizare Aplicaie
Aplicaia se deschide cu ajutorul comenzii DO urmat
de numele programului, in cazul acesta, aeroport.prg.
Prima fereastr care va aprea va fi cea de prezentare a
lucrrii.
Vizualizare
Prezint dou butoane, Pasageri de la o data i Curse.
Pasageri de la o data
Se va introduce de la tastaur o dat, dorindu-se afiarea
pasagerilor care au selectat aceast dat ca dat de plecare.
Avnd ca i criteriu de cutare cmpul data_p va afia pe
ecran toi pasagerii care ndeplinesc condiia. n cazul n care
niciun pasager nu a selectat aceast dat, se va afisa mesajul
Nu exist pasageri care au facut rezervare la aceast dat.
Curse
Va simula o lista prezentat pe ecranele aeroporturilor,
cu modificarea c va afia toate cursele pe care le deine baza
de date curse.dbf.
12
Ieire
Ultimul buton al meniului principal prezint dou
opiuni, Iesire in FoxPro i Iesire in Sistemul de operare.
Folosind comanda CANCEL, prima opiune va anula
programul curent (aplicaia) i va reveni in linia de comand a
mediului FoxPro. Folosind comanda QUIT, a doua va inchide
mediul FoxPro, revenind n sistemul de operare.
13
Codul surs
SET TALK OFF
DEFINE WINDOW window1 FROM 0, 0 TO 73, 213 PANEL NOGROW NOZOOM
COLOR RGB(0,0,0,0,191,255)
DEFINE WINDOW aeroport FROM 0, 0 TO 54, 213 FONT 'Microsoft
Sans Serif' SYSTEM NOCLOSE NOGROW MINIMIZE NOZOOM COLOR
RGB(0,0,0,255,178,102)
ACTIVATE WINDOW window1
@ 0, 4 SAY 'X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X' FONT 'Cambria Math', 10 STYLE 'B'
FOR i = 0 TO 67 STEP 4
@ i, 2 SAY 'X' FONT 'Cambria Math', 12 STYLE 'B'
ENDFOR
FOR i = 0 TO 67 STEP 4
@ i, 154 SAY 'X' FONT 'Cambria Math', 12 STYLE 'B'
ENDFOR
@ 4, 57 SAY 'Liceul Teoretic Mihai Eminescu' FONT 'Cambria
Math', 16 STYLE 'B'
@ 20, 50 SAY 'Evidenta unui aeroport' FONT 'Cambria Math', 30
STYLE 'B'
@ 40, 10 SAY 'Profesor coordonator: Vlad Viorel' FONT 'Cambria
Math', 16 STYLE 'B'
@ 40, 108 SAY 'Elev: Neagu Alexandru - Marian' FONT 'Cambria
Math', 16 STYLE 'B'
@ 61, 70 SAY 'Mai 2014' FONT 'Cambria Math', 16 STYLE 'B'
@ 67, 4 SAY 'X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X X X X X X' FONT 'Cambria Math', 10 STYLE 'B'
WAIT WINDOW ' --> Enter'
DEACTIVATE WINDOW window1
ACTIVATE WINDOW aeroport
DEFINE MENU meniu_principal IN WINDOW aeroport FONT 'Microsoft
Sans Serif'
DEFINE PAD actualizare OF meniu_principal PROMPT
'Actualizare'
DEFINE PAD actualizare_curse OF meniu_principal PROMPT
'Actualizare curse'
DEFINE PAD vizualizare OF meniu_principal PROMPT
'Vizualizare'
DEFINE PAD iesire OF meniu_principal PROMPT 'Iesire'
DEFINE POPUP actualizare FROM 2, 0
DEFINE BAR 1 OF actualizare PROMPT 'Adauga pasager'
DEFINE BAR 2 OF actualizare PROMPT 'Modifica date pasager'
DEFINE BAR 3 OF actualizare PROMPT 'Sterge date pasager'
14
@ 6, 8 SAY 'CNP:
'
@ 7, 8 SAY 'Numar loc:
'
@ 8, 8 SAY 'Aeroport plecare: '
@ 9, 8 SAY 'Aeroport sosire:
'
@ 10, 8 SAY 'Numar cursa:
'
@ 11, 8 SAY 'Data plecarii:
sw = ' '
@ 13, 8 SAY 'Continuati?(DA/NU)'
READ
ENDDO
CLEAR
CLOSE DATABASES
ENDPROC
GET cnp
GET nr_loc
GET plecare
GET sosire
GET nr_cursa
' GET data_p
GET sw
PROCEDURE modificare_pasager
SET DATE DMY
USE pasageri
HIDE POPUP actualizare
HIDE POPUP actualizare_curse
HIDE POPUP vizualizare
sw1 = 'DA'
DO WHILE ALLTRIM(UPPER(sw1)) = 'DA'
CLEAR
lNume = SPACE(10)
lPrenume = SPACE(10)
lCnp = SPACE(15)
lNr_loc = 0
lPlecare = SPACE(10)
lSosire = SPACE(10)
lNr_cursa = 0
@ 4, 8 SAY 'Nume: ' GET lNume
@ 5, 8 SAY 'Prenume: ' GET lPrenume
@ 6, 8 SAY 'CNP: ' GET lCnp
READ
LOCATE FOR ALLTRIM(UPPER(nume)) =
ALLTRIM(UPPER(lNume)) AND ALLTRIM(UPPER(prenume)) =
ALLTRIM(UPPER(lPrenume)) AND ALLTRIM(UPPER(cnp)) =
ALLTRIM(UPPER(lCnp))
IF FOUND()
@ 8, 8 SAY 'Numar loc: ' GET lNr_loc
@ 9, 8 SAY 'Aeroport plecare: ' GET lPlecare
@ 10, 8 SAY 'Aeroport sosire: ' GET lSosire
@ 11, 8 SAY 'Numar cursa: ' GET lNr_cursa
READ
REPLACE nr_loc WITH lNr_loc
REPLACE plecare WITH lPlecare
REPLACE sosire WITH lSosire
REPLACE nr_cursa WITH lNr_cursa
ELSE
@ 8, 8 SAY 'Pasagerul cu datele introduse nu a
fost gasit in baza de date.'
16
ENDIF
sw1 = ' '
@ 13, 8 SAY 'Continuati ?(DA/NU)' GET sw1
READ
ENDDO
CLEAR
CLOSE DATABASES
ENDPROC
PROCEDURE stergere_pasager
SET DATE DMY
USE pasageri
HIDE POPUP actualizare
HIDE POPUP actualizare_curse
HIDE POPUP vizualizare
sw1 = 'DA'
DO WHILE ALLTRIM(UPPER(sw1)) = 'DA'
CLEAR
lCnp = SPACE(15)
@ 4, 8 SAY 'CNP: ' GET lCnp
READ
LOCATE FOR ALLTRIM(cnp) = ALLTRIM(lCnp)
IF FOUND()
DELETE
PACK
@ 6, 8 SAY 'Pasagerul a fost sters.'
ELSE
@ 6, 8 SAY 'Pasagerul cu CNP-ul introdus nu a
fost gasit.'
ENDIF
sw1 = ' '
@ 8, 8 SAY 'Continuati ?(DA/NU)' GET sw1
READ
ENDDO
CLEAR
CLOSE DATABASES
ENDPROC
PROCEDURE adaugare_cursa
SET DATE DMY
USE curse
HIDE POPUP actualizare
HIDE POPUP actualizare_curse
HIDE POPUP vizualizare
sw = 'DA'
DO WHILE ALLTRIM(UPPER(sw)) = 'DA'
CLEAR
APPEND BLANK
@ 4, 8 SAY 'Numar cursa: ' GET nr_cursa
@ 5, 8 SAY 'Aeroport plecare: ' GET plecare
@ 6, 8 SAY 'Aeroport sosire: ' GET sosire
17
ENDDO
CLEAR
CLOSE DATABASES
ENDPROC
PROCEDURE stergere_cursa
SET DATE DMY
USE curse
HIDE POPUP actualizare
HIDE POPUP actualizare_curse
HIDE POPUP vizualizare
sw1 = 'DA'
DO WHILE ALLTRIM(UPPER(sw1)) = 'DA'
CLEAR
lNr_cursa = SPACE(15)
@ 4, 8 SAY 'Numar cursa: ' GET lNr_cursa
READ
LOCATE FOR ALLTRIM(nr_cursa) = ALLTRIM(lNr_cursa)
IF FOUND()
DELETE
PACK
@ 6, 8 SAY 'Cursa cu numarul '
@ 6, 26 SAY lNr_cursa
@ 6, 30 SAY ' a fost stearsa din baza de date.'
ELSE
@ 6, 8 SAY 'Cursa cu numarul '
@ 6, 26 SAY lNr_cursa
@ 6, 30 SAY ' nu a fost gasita in baza de date.'
ENDIF
sw1 = ' '
@ 8, 8 SAY 'Continuati ?(DA/NU)' GET sw1
READ
ENDDO
CLEAR
CLOSE DATABASES
ENDPROC
PROCEDURE viz_curse
HIDE POPUP actualizare
HIDE POPUP actualizare_curse
HIDE POPUP vizualizare
USE curse
GO TOP
DEFINE WINDOW viz_curse FROM 10, 24 TO 53, 160 FONT
'Microsoft Sans Serif' STYLE 'B' SYSTEM CLOSE FLOAT NOGROW
MINIMIZE NOZOOM COLOR RGB(0,0,0,255,255,255)
ACTIVATE WINDOW viz_curse
CLEAR
i = 2
@ 1, 8 SAY 'Numar cursa |'
19
CLEAR
i = 3
@ 2, 8 SAY 'Nume |'
@ 2, 18 SAY 'Prenume |'
@ 2, 30 SAY 'CNP
'
@ 2, 45 SAY '| Numar loc |'
@ 2, 61 SAY 'Aeroport plecare |'
@ 2, 81 SAY 'Aeroport sosire |'
@ 2, 100 SAY 'Numar cursa'
@ 3, 8 SAY
'_____________________________________________________________
_________________________________'
DO WHILE NOT EOF()
IF lData = data_p
i = i + 1
@ i, 8 SAY nume
@ i, 18 SAY prenume
@ i, 30 SAY cnp
@ i, 47 SAY nr_loc
@ i, 61 SAY plecare
@ i, 81 SAY sosire
@ i, 100 SAY nr_cursa
i = i + 1
@ i, 8 SAY
'_____________________________________________________________
________________________________'
ENDIF
SKIP 1
ENDDO
ELSE
@ 3, 8 SAY 'Nu exista pasageri care au facut
rezervare la data aceasta.'
i = 3
ENDIF
DEFINE MENU closing
DEFINE PAD inchidere OF closing PROMPT 'Inchidere' AT i +
2, 8
ON SELECTION PAD inchidere OF closing DEACTIVATE WINDOW
viz_curse
ACTIVATE MENU closing
DEACTIVATE MENU closing
CLEAR
CLOSE DATABASES
ENDPROC
PROCEDURE iesire
DEACTIVATE WINDOW aeroport
CANCEL
ENDPROC
21
Bibliografie
1.Manual informatic Varianta Visual FoxPro , clasa a XII-a ,
Editura L&S info-mat
Autori: Mariana Poniru , Ionu Poniru , Irina Poniru
2.Manual informatic clasa a XII-a
Editura Petriom
Autori: Radu Visinecu , Constantin Scheau
22