Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


LUCRARE DE ATESTAT - GESTIUNE ASOCIATIE DE LOCATARI

baze de date



+ Font mai mare | - Font mai mic



Liceul Teoretic "Grigore Moisil " Tulcea



LUCRARE DE ATESTAT

< GESTIUNE ASOCIATIE DE LOCATARI >

INTRODUCERE

Versiunea de FoxPro 2.5 a aparut , ca produs comercial , in primavara anului 1993.

Ca limbaj tehnologic din familia Xbase a reprezentat prima realizare a strategiei de portare intre platforme , el putand fi exploatat atat sub sistemul de operare DOS 6,-. , cat si sub Windows (95 , NT ).. Acest lucru face din FoxPro unul din principalii sustinatori ai suportului multiplatforma de exploatare pentru aplicatii de baze de date , mai ales pentru cei care au fost legati de aplicatii Xbase.

In acelasi timp , FoxPro 2.5 continua sa extinda reputatia deja castigata a produsului pentru viteza , mai ales in situatia multiutilizator.Unele tipuri de cereri si activitati cu multe operatii de intrare-iesire sunt de trei pana la patru ori mai rapide decat erau in FoxPro 2.0 , iar acel produs era deja recunoscut ca lider in aceasta privinta.

Dar viteza de executie nu este totul. Astazi standardele de proiectare ale interfetei cu utilizatorul impun instrumente performante orientate vizual , ca sa permita de asemenea , o dezvoltare rapida a aplicatiilor , in vederea automatizarii pe cat posibil a intretinerii de platforme diferite a ecranelor , rapoartelor si a meniurilor.

FoxPro permite si exploatarea de baze de date non-Xbase , precum si a celor fara o orientare speciala catre gestiunea bazelor de date.

Din aceste considerente , am elaborat lucrarea de fata sub acest limbaj.

Prezentare

Programul este realizat de Ciobanu Ana, eleva in clasa a XII-a A a Liceului Teoretic "Grigore Moisil" si tine evidenta unei asociatii de locatari, numita "VENUS".

Programul contine campurile:

* NR_CRT;

* NUME;

* ADRESA;

* NR_PERS;

* PLATA_LUN;

* RESTANTE;

* PENALIZARI;

* NR_ZILE;

* TOTAL.

Campurile PLATA_LUN, TOTAL si PENALIZARI vor fi calculate pe parcursul programului cu ajutorul bazei de date INFO.

Programul va folosi o singura baza de date intitulata ASOCIATI.DBF. in care sunt trecute:

Numele si prenumele persoanei;

Adresa;

Nr. de persoane din apartament;

Suma restanta;

Nr. zile restante.

Totalul a fost retinut intr-o variabila 'S'.

Cerinte Hardware si Software

Programul nu necesita un calculator performant. Este compatibil cu orice calculator capabil sa ruleze Programul Visual Fox Pro.

Pentru a lucra in conditii optime este preferabil sa fie folosit Visual Fox Pro versiunea 6.0 .

Descrierea Programului

Programul a fost realizat cu o interfata destul de prietenoasa si usor de utilizat. Cateva elemente grafice animeaza inceputul programului.Acestea sunt create cu ajutorul comenzii "say":

FOR X=1 TO 18

CLEAR

@ X,10 SAY ' ATESTAT LA INFORMATICA' COLOR GR+/N*

@ X+1,10 SAY ' LICEUL TEORETIC ' COLOR GR+/N*

@ X+2,10 SAY ' "GRIGORE MOISIL" ' COLOR GR+/N*

@ X+3,10 SAY ' PROMOTIA 2008 ' COLOR GR+/N*

WAIT ' 'TIMEOUT 0.03

ENDFOR

CLEAR

@ 18,25 SAY ' ELEV: Ciobanu Ana' COLOR GR+/N*

@ 6,5 SAY '' COLOR GR+/N

@ 1,5 SAY ' LICEUL TEORETIC ' COLOR GR+/N*

@ 1,35 SAY ' "GRIGORE MOISIL ' COLOR GR+/N*

@ 20,25 SAY ' PROF. INDRUMATOR ' COLOR GR+/N*

@ 20,49 SAY ' SAVELIEV IULIAN ' COLOR GR+/N*

@ 23,25 SAY ' PROMOTIA ' COLOR GR+/N*

@ 23,40 SAY ' 2008 ' COLOR GR+/N*

WAIT WINDOW 'APASATI O TASTA '

CLEAR

Datele programului au fost protejate cu parola:

**PAROLARE PROGRAM**

@ 3,3 SAY 'ACEST PROGRAM ESTE PAROLAT ' COLOR GR+/N*

@ 4,5 SAY 'AVETI NEVOIE DE CHEIA DE ACCES ' COLOR GR+/N*

PAROLA='    ' P='VENUS'

@ 5,7 SAY 'INTRODUCETI PAROLA ' GET PAROLA

READ

PAROLA=ALLTRIM(PROPER(PAROLA))

P=ALLTRIM(PROPER(P))

IF PAROLA=P

CLEAR

DEACTIVATE WINDOW DFD

for x=1 to 15

clear

@ X,10 SAY ' Parola este corecta!' COLOR GR+/N*

@ X+1,10 SAY ' Please Wait ' COLOR GR+/N*

WAIT ''TIMEOUT 0.01

endfor

CLEAR

ELSE

@ 7,10 SAY 'PAROLA INCORECTA--ACCESUL NU ESTE PERMIS ' COLOR GR+/N*

WAIT ''TIMEOUT(2)

CLOSE ALL

DEACTIVATE WINDOW ALL

CLEAR

DO LOCATARI

ENDIF

DEFINE WINDOW F1 FROM 0,0 TO 24,79 DOUBLE COLOR GR+/N

ACTIVATE WINDOW F1

CLEAR

Meniul programului contine 5 rubrici structurate dupa cum urmeaza:

Despre:

Prezentare-informatii personale;

* Penalizari-informatii despre calculul penalizarilor; Penalizarile se aplica numai in cazul in care un anumit locatar intarzie cu plata intretinerii. Se fixeaza o data scadenta. Persoanele care intarzie cu plata datoriilor vor fi penalizate cu 0.2% pe zi. Suma obtinuta in urma penalizarii va fi adaugata la totalul de plata.

Prg-informatii despre program;

Dbf-informatii despre baza de date folosita.

Afisari:

Locatari-afiseaza numele,prenumele si adresa locatarilor;

Plata_lun--afiseaza suma lunara ce trebuie platita de fiecare proprietar de apartament;

Restante-afiseaza locatarii care au restante, suma restanta si penalizarile pentru fiecare locatar;

Total-afiseaza numele locatarilor, suma totala de plata si restantele.

Utilitare:

Cautare-cautare locatari dupa nume si prenume;

Adaugare-adauga locatari la baza de date;

Stergere-sterge locatari din baza de date;

Modificare-modifica datele locatarilor din baza de date;

Plati-Introduce suma platita de un anumit locatar.

Calcule:

Tot_restante-calculeaza valoarea totala a restantelor;

Tot_penalizari-calculeaza valoarea totala a penalizarilor;

Total_plata-afiseaza suma totala de plata;

Listare totala-listeaza informatiile din baza de date.

Iesire:

Iesire -> FOX-inchide programul si revine la FoxPro;

Iesire ->Windows-inchide atat programul cat si FoxPro.

Pentru fiecare functie a meniului programul foloseste cate o procedura prin care este accesata baza de date unica:ASOCIATIE.DBF.

Sursa programului

SET TALK OFF

SET SAFETY OFF

SET HOUR TO 24

SET ESCAPE ON

SET ECHO OFF

DEACTIVATE WINDOW ALL

CLOSE ALL

CLEAR

SET COLOR TO BG/R+

FOR X=1 TO 18

CLEAR

@ X,10 SAY ' ATESTAT LA INFORMATICA' COLOR GR+/N*

@ X+1,10 SAY ' LICEUL TEORETIC ' COLOR GR+/N*

@ X+2,10 SAY ' "GRIGORE MOISIL" ' COLOR GR+/N*

@ X+3,10 SAY ' PROMOTIA 2008 ' COLOR GR+/N*

WAIT ' 'TIMEOUT 0.02

ENDFOR

CLEAR

@ 18,25 SAY ' ELEVA: Ciobanu Ana' COLOR GR+/N*

@ 6,5 SAY '' COLOR GR+/N

@ 1,5 SAY ' LICEUL TEORETIC ' COLOR GR+/N*

@ 1,35 SAY ' "GRIGORE MOISIL" ' COLOR GR+/N*

@ 20,25 SAY ' PROF. INDRUMATOR ' COLOR GR+/N*

@ 20,49 SAY ' SAVELIEV IULIAN ' COLOR GR+/N*

@ 23,25 SAY ' PROMOTIA ' COLOR GR+/N*

@ 23,40 SAY ' 2008 ' COLOR GR+/N*

WAIT WINDOW 'APASATI O TASTA '

CLEAR

**PAROLARE PROGRAM**

@ 3,3 SAY 'ACEST PROGRAM ESTE PAROLAT ' COLOR GR+/N*

@ 4,5 SAY 'AVETI NEVOIE DE CHEIA DE ACCES ' COLOR GR+/N*

PAROLA='    ' P='VENUS'

@ 5,7 SAY 'INTRODUCETI PAROLA ' GET PAROLA

READ

PAROLA=ALLTRIM(PROPER(PAROLA))

P=ALLTRIM(PROPER(P))

IF PAROLA=P

CLEAR

DEACTIVATE WINDOW DFD

for x=1 to 15

clear

@ X,10 SAY ' Parola este corecta!' COLOR GR+/N*

@ X+1,10 SAY ' Please Wait ' COLOR GR+/N*

WAIT ''TIMEOUT 0.01

endfor

CLEAR

ELSE

@ 7,10 SAY 'PAROLA INCORECTA--ACCESUL NU ESTE PERMIS ' COLOR GR+/N*

WAIT ''TIMEOUT(2)

CLOSE ALL

DEACTIVATE WINDOW ALL

CLEAR

DO LOCATARI

ENDIF

DEFINE WINDOW F1 FROM 0,0 TO 24,79 DOUBLE COLOR GR+/N

ACTIVATE WINDOW F1

CLEAR

DEFINE WINDOW TEXT FROM 1,1 TO 3,63 DOUBLE TITLE 'Asociatia de Locatari VENUS' COLOR GR+/N*

ACTIVATE WINDOW TEXT

DEFINE MENU UP

DEFINE PAD OPT1 OF UP PROMPT ' <DESPRE '

DEFINE PAD OPT2 OF UP PROMPT ' <AFISARI '

DEFINE PAD OPT3 OF UP PROMPT ' <UTILITARE '

DEFINE PAD OPT4 OF UP PROMPT ' <CALCULE '

DEFINE PAD OPT5 OF UP PROMPT ' <IESIRE '

DEFINE POPUP A FROM 1,0

DEFINE BAR 1 OF A PROMPT '<PREZENTARE '

DEFINE BAR 2 OF A PROMPT 'P<ENALIZARI '

DEFINE BAR 3 OF A PROMPT '<PRG '

DEFINE BAR 4 OF A PROMPT '<DBF '

ON SELE BAR 1 OF A DO PREZ

ON SELE BAR 2 OF A DO PENAL

ON SELE BAR 3 OF A DO PRG

ON SELE BAR 4 OF A DO DBF

DEFINE POPUP B FROM 1,13

DEFINE BAR 1 OF B PROMPT ' <LOCATARI '

DEFINE BAR 2 OF B PROMPT ' <PLATA_LUN '

DEFINE BAR 3 OF B PROMPT ' <RESTANTE '

DEFINE BAR 4 OF B PROMPT ' <TOTAL '

ON SELE BAR 1 OF B DO LOCA

ON SELE BAR 2 OF B DO PLATA

ON SELE BAR 3 OF B DO REST

ON SELE BAR 4 OF B DO TOTAL

DEFINE POPUP C FROM 1,25.

DEFINE BAR 1 OF C PROMPT ' <CAUTARE '

DEFINE BAR 2 OF C PROMPT ' <ADAUGARE '

DEFINE BAR 3 OF C PROMPT ' <STERGERE '

DEFINE BAR 4 OF C PROMPT ' <MODIFICARE '

DEFINE BAR 5 OF C PROMPT ' <PLATI '

ON SELE BAR 1 OF C DO CAUT

ON SELE BAR 2 OF C DO ADAUG

ON SELE BAR 3 OF C DO STERG

ON SELE BAR 4 OF C DO MODIFIC

ON SELE BAR 5 OF C DO PLATI

DEFINE POPUP D FROM 1,36

DEFINE BAR 1 OF D PROMPT '<TOT_RESTANTE '

DEFINE BAR 2 OF D PROMPT '<TOT_PENALIZARI'

DEFINE BAR 3 OF D PROMPT '<TOTAL PLATA '

DEFINE BAR 4 OF D PROMPT '<LISTARE TOTALA'

ON SELE BAR 1 OF D DO RES

ON SELE BAR 2 OF D DO PEN

ON SELE BAR 3 OF D DO TOT

ON SELE BAR 4 OF D DO LIS

DEFINE POPUP E FRom 1,45

DEFINE BAR 1 OF E PROMPT '<Iesire -> FOX '

DEFINE BAR 2 OF E PROMPT '<Iesire -> WINDOWS '

ON SELE BAR 1 OF E DO FOX

ON SELE BAR 2 OF E DO WIN

ON SELE PAD OPT1 OF UP ACTIVATE POPUP A

ON SELE PAD OPT2 OF UP ACTIVATE POPUP B

ON SELE PAD OPT3 OF UP ACTIVATE POPUP C

ON SELE PAD OPT4 OF UP ACTIVATE POPUP D

ON SELE PAD OPT5 OF UP ACTIVATE POPUP E

ACTIVATE MENU UP

USE ASOCIATIE

REPLACE ALL PLATA_LUN WITH (S*NR_PERS)

REPLACE ALL PENALIZARI WITH (S*NR_PERS*NR_ZILE*2)/1000

REPLACE ALL TOTAL WITH (PLATA_LUN+PENALIZARI+RESTANTE)

DEACTIVATE WINDOW ALL

CLOSE ALL

PROCEDURE PLATI

DEFINE WINDOW RBW FROM 5,10 TO 8,65 DOUBLE TITLE ' PLATI ' COLOR RB+/N

ACTIVATE WINDOW RBW

HIDE POPUP C

NUM='    '

ACCEPT 'DATI NUMELE PERSOANEI: ' TO NUM

NUM = ALLTRIM(PROPER(NUM))

USE ASOCIATIE

LOCATE FOR ALLTRIM(PROPER(NUME))=ALLTRIM(PROPER(NUM))

IF FOUND()

STORE RECNO() TO N

INPUT 'INTRODUCETI VALOAREA: ' TO SUMA

IF (SUMA<TOTAL)

REPLACE REST_PLATA WITH TOTAL-SUMA

BROWSE FIELDS NUME,TOTAL,REST_PLATA FOR RECNO()=N

WAIT ''TIMEOUT(3)

? 'S-A INREGISTRAT PLATA '

ELSE

? 'SUMA INTRODUSA GRESIT '

DEACTIVATE WINDOW QW

ELSE

WAIT WINDOW 'PERSOANA INEXISTENTA!!!'

ENDIF

DEACTIVATE WINDOW RBW

SHOW POPUP C

CLEAR

USE

RETURN

PROCEDURE FOX

CLOSE ALL

DEACTIVATE WINDOW ALL

CLEAR

CANCEL

RETURN

PROCEDURE WIN

CLOSE ALL

DEACTIVATE WINDOW ALL

CLEAR

QUIT

RETURN

PROCEDURE PREZ

DEFINE WINDOW FER FROM 5,10 TO 17,60 DOUBLE TITLE 'PREZENTARE' COLOR G+/N

ACTIVATE WINDOW FER

HIDE POPUP A

TEXT

Acest program este realizat de Ciobanu Ana, eleva in clasa a XII-a A a Liceului Teoretic "Grigore Moisil" din Tulcea si tine evidenta unei asociatii de locatari.

ENDTEXT

@ 10,21 GET OKBTN DEFA 0 FUNC '* OK '

READ

CLEAR

DEACTIVATE WINDOW FER

SHOW POPUP A

RETURN

PROCEDURE PENAL

DEFINE WINDOW FER1 FROM 5,10 TO 18,60 DOUBLE TITLE 'PENALIZARI' COLOR G+/N

ACTIVATE WINDOW FER1

HIDE POPUP A

TEXT

Penalizarile se aplica numai in cazul in care un anumit locatar intarzie cu plata intretinerii. Se fixeaza o data scadenta.Persoanele care intarzie cu plata datoriilor vor fi penalizate cu 0.2% pe zi. Suma obtinuta in urma penalizarii va fi adaugata la totalul de plata.

ENDTEXT

@ 10,21 GET OKBTN DEFAULT 0 FUNCTION '* OK '

READ

CLEAR

DEACTIVATE WINDOW FER1

SHOW POPUP A

RETURN

PROCEDURE PRG

DEFINE WINDOW FER2 FROM 5,10 TO 13,60 DOUBLE TITLE 'DESPRE PROGRAM' COLOR G+/N

ACTIVATE WINDOW FER2

HIDE POPUP A

TEXT

Acest program contine campurile NR_CRT,NUME, ADRESA,NR_PERS,PLATA_LUN,RESTANTE,PENALIZARI, NR_ZILE si TOTAL. Campurile PLATA_LUN,TOTAL si PENALIZARI vor fi calculate pe parcursul programului cu ajutorul bazei de date INFO

ENDTEXT

WAIT WINDOW 'PRESS ANY KEY '

DEACTIVATE WINDOW FER2

CLEAR

MODI COMM LOCATARI NOEDIT

WAIT WINDOW 'APASATI O TASTA '

CLEAR

SHOW POPUP A

RETURN   

PROCEDURE DBF

DEFINE WINDOW FER3 FROM 5,10 TO 15,60 DOUBLE TITLE 'DATA BASE FILE' COLOR G+/N

ACTIVATE WINDOW FER3

HIDE POPUP A

TEXT

Programul va folosi o singura baza de date intitulata ASOCIATI.DBF. Totalul a fost retinut intr-o variabila 'S'.

ENDTEXT

WAIT WINDOW 'PREZENTARE BAZA DE DATE'

DEACTIVATE WINDOW FER3

CLEAR

DEFINE WINDOW X FROM 4,1 TO 15,75 PANEL TITLE 'INFO.TXT'

ACTIVATE WINDOW X

TEXT

Serviciu    Tarif_pers

**********

Apa calda - 44500

Apa rece - 25500

Canal - 9000

Gaze - 16000

Gunoi - 11500

En.Electrica- 3000

Cheltuieli - 7500

Totalul de plata a unei persoane este de 117000 lei/luna

ENDTEXT   

WAIT ''TIMEOUT(4)

DEFINE WINDOW Y FROM 13,1 TO 23,75 PANEL TITLE 'ASOCIATIE'

ACTIVATE WINDOW Y

USE ASOCIATI

DISP ALL

WAIT '' TIMEOUT(5)

CLOSE ALL

DEACTIVATE WINDOW X

DEACTIVATE WINDOW Y

CLEAR

SHOW POPUP A

RETURN

PROCEDURE LOCA

USE ASOCIATIE

DEFINE WINDOW SX FROM 5,5 TO 23,75 TITLE 'AFISARI' COLOR G+/N

ACTIVATE WINDOW SX

HIDE POPUP B

BROWSE FIELDS NR_CRT,NUME,ADRESA IN WINDOW SX

WAIT ''TIMEOUT(2)

CLOSE ALL

DEACTIVATE WINDOW SX

SHOW POPUP B

RETURN

PROCEDURE PLATA

S=117000

USE ASOCIATI

DEFINE WINDOW SX FROM 5,5 TO 23,75 TITLE 'AFISARI' COLOR G+/N

ACTIVATE WINDOW SX

HIDE POPUP B

REPLACE ALL PLATA_LUN WITH (S*NR_PERS)

SORT TO ASOC1 ON PLATA_LUN/D

USE ASOC1

BROWSE FIELDS NUME,NR_PERS,PLATA_LUN

CLOSE ALL

CLEAR

DEACTIVATE WINDOW SX

SHOW POPUP B

RETURN

PROCEDURE REST

S=117000

USE ASOCIATI

DEFINE WINDOW SX FROM 5,5 TO 23,75 TITLE 'AFISARI' COLOR G+/N

ACTIVATE WINDOW SX

HIDE POPUP B

REPLACE ALL PENALIZARI WITH (S*NR_PERS*NR_ZILE*2)/1000

SORT TO ASOC2 ON RESTANTE/D

USE ASOC2

BROWSE FIELDS NUME,RESTANTE,PENALIZARI

CLOSE ALL

CLEAR

DEACTIVATE WINDOW SX

SHOW POPUP B

RETURN

PROCEDURE TOTAL

USE ASOCIATI

DEFINE WINDOW SX FROM 5,5 TO 23,75 TITLE 'AFISARI' COLOR G+/N

ACTIVATE WINDOW SX

HIDE POPUP B

REPLACE ALL TOTAL WITH (PLATA_LUN+RESTANTE+PENALIZARI)

INDEX ON TOTAL TO TOTAL

BROWSE FIELDS NUME,TOTAL,REST_PLATA

CLOSE ALL

CLEAR

DEACTIVATE WINDOW SX

SHOW POPUP B

RETURN

PROCEDURE CAUT

USE ASOCIATI

DEFINE WINDOW SEA FROM 5,10 TO 12,60 PANEL TITLE 'SEARCHING' COLOR GR+/N

ACTIVATE WINDOW SEA

HIDE POPUP C

NUM=' '

@ 3,3 SAY 'NUME SI PRENUME: ' GET NUM

READ

LOCATE FOR ALLTRIM(PROPER(NUME))=ALLTRIM(PROPER(NUM))

IF FOUND()

STORE RECNO() TO NRC

BROWSE FOR RECNO()=NRC

ELSE

@ 4,10 SAY 'PERSOANA CAUTATA NU EXISTA!'

WAIT ''TIMEOUT(2)

ENDIF

CLEAR

CLOSE ALL

DEACTIVATE WINDOW SEA

SHOW POPUP C

RETURN

PROCEDURE ADAUG

S=117000

USE ASOCIATI

DEFINE WINDOW APP FROM 5,10 TO 22,75 PANEL TITLE'ADAUGARE DATE'COLOR GR+/RB

ACTIVATE WINDOW APP

HIDE POPUP C

APPEND BLANK

GO BOTTOM

STORE RECNO() TO NRC

NUM=' '

@ 3,3 SAY 'NUME SI PRENUME: ' GET NUM

READ

LOCATE FOR TRIM(PROPER(NUME))=TRIM(PROPER(NUM))

IF FOUND()

CLEAR

@ 3,3 SAY 'PERSOANA CAUTATA EXISTA!'

WAIT ''TIMEOUT(2)

DELETE FOR RECNO()=NRC

PACK

ELSE

CLEAR

INDEX ON NUME TO NUME

CHANGE FIELDS NUME,ADRESA,NR_PERS,RESTANTE,NR_ZILE FOR RECNO()=NRC

INDEX ON NUME TO NUME

GO NRC-1

NRC=NR_CRT

GO NRC

REPLACE ALL NR_CRT WITH RECNO()

REPLACE ALL PLATA_LUN WITH (S*NR_PERS)

REPLACE ALL PENALIZARI WITH (S*NR_PERS*NR_ZILE*2)/1000

REPLACE ALL TOTAL WITH (PLATA_LUN+PENALIZARI+RESTANTE)

CLOSE ALL

DEACTIVATE WINDOW APP

ENDIF

CLOSE ALL

DEACTIVATE WINDOW APP

SHOW POPUP C

RETURN

PROCEDURE STERG

USE ASOCIATI

DEFINE WINDOW DEL FROM 5,10 TO 12,60 PANEL TITLE 'STERGERE DATE' COLOR G+/N

ACTIVATE WINDOW DEL

HIDE POPUP C

NUM=' '

@ 3,3 SAY 'NUME SI PRENUME: ' GET NUM

READ

LOCATE FOR ALLTRIM(PROPER(NUME))=ALLTRIM(PROPER(NUM))

IF FOUND()

STORE RECNO() TO NRC

DELETE FOR RECNO()=NRC

ST=' '

CLEAR

BROWSE FIELDS NUME,ADRESA,TOTAL FOR RECNO()=NRC

WAIT ''TIMEOUT(1)

CLEAR

@ 3,3 SAY 'DORITI STERGEREA? (Yes/No)' GET ST

READ

IF LASTKEY()=89 OR LASTKEY()=121

PACK

? 'PERSOANA A FOST STEARSA DIN BAZA DE DATE!'

WAIT ''TIMEOUT(2)

DEACTIVATE WINDOW DEL

ENDIF

ELSE

CLEAR

@ 3,3 SAY 'PERSOANA NU EXISTA!'

WAIT ''TIMEOUT(2)

ENDIF

CLOSE ALL

DEACTIVATE WINDOW DEL

SHOW POPUP C

RETURN

PROCEDURE MODIFIC

USE ASOCIATIE

DEFINE WINDOW MOD FROM 5,10 TO 22,60 PANEL TITLE 'MODIFICARE DATE' COLOR GR+/N

ACTIVATE WINDOW MOD

HIDE POPUP C

NUM=' '

@ 3,3 SAY 'NUME SI PRENUME: ' GET NUM

READ

LOCATE FOR TRIM(PROPER(NUME))=TRIM(PROPER(NUM))

IF FOUND()

STORE RECNO() TO NRC

CHANGE FIELDS NUME,ADRESA,NR_PERS,RESTANTE,NR_ZILE FOR RECNO()=NRC

REPLACE ALL PLATA_LUN WITH (S*NR_PERS)

REPLACE ALL PENALIZARI WITH (S*NR_PERS*NR_ZILE*2)/1000

REPLACE ALL TOTAL WITH (PLATA_LUN+PENALIZARI+RESTANTE)

INDEX ON NUME TO NUME

BROWSE

ELSE CLEAR

@ 3,3 SAY 'PERSOANA INEXISTENTA!'

WAIT TIMEOUT(2)

DEACTIVATE WINDOW MOD

ENDIF

CLOSE ALL

DEACTIVATE WINDOW MOD

SHOW POPUP C

RETURN

USE ASOCIATIE

DELETE FOR (RECNO()=0) OR (NUME=' ')

PACK

CLOSE DATABASE ASOCIATIE

PROCEDURE RES

CLEAR

USE ASOCIATIE

DEFINE WINDOW R FROM 6,5 TO 10,55 PANEL

ACTIVATE WINDOW R

HIDE POPUP D

CALCULATE SUM(RESTANTE) TO W

TOTALUL RESTANTELOR ESTE DE ',W,'LEI'

WAIT ''TIMEOUT(2)

DEACTIVATE WINDOW R

CLEAR

SHOW POPUP D

RETURN

PROCEDURE PEN

USE ASOCIATIE

CLEAR

DEFINE WINDOW R FROM 8,8 TO 12,55 PANEL

ACTIVATE WINDOW R

HIDE POPUP D

CALCULATE SUM(PENALIZARI) TO E

?' TOTALUL PENALIZARILOR ESTE DE ',E,'LEI'

WAIT ''TIMEOUT(2)

DEACTIVATE WINDOW R

CLEAR

SHOW POPUP D

RETURN

PROCEDURE TOT

USE ASOCIATIE

DEFINE WINDOW R FROM 8,8 TO 12,55 PANEL

ACTIVATE WINDOW R

HIDE POPUP D

CLEAR

CALCULATE SUM(TOTAL) TO T

? ' TOTALUL RESTANTELOR ESTE DE ',T,'LEI'

WAIT ''TIMEOUT(2)

CLEAR

DEACTIVATE WINDOW R

SHOW POPUP D

RETURN

PROCEDURE LIS

USE ASOCIATIE

DEFINE WINDOW L FROM 7,5 TO 11,40 PANEL TITLE 'LISTARE LA IMPRIMANTA'

ACTIVATE WINDOW L

? 'INCEPE LISTAREA LA IMPRIMANTA! '

LIST ALL TO PRINT

WAIT ''TIMEOUT(5)

DEACTIVATE WINDOW L

CLOSE ALL

CLEAR

RETURN

USE ASOCIATIE

REPLACE ALL PLATA_LUN WITH (S*NR_PERS)

REPLACE ALL PENALIZARI WITH (S*NR_PERS*NR_ZILE*2)/1000

REPLACE ALL TOTAL WITH (PLATA_LUN+PENALIZARI+RESTANTE)

DEACTIVATE WINDOW ALL

CLOSE ALL

ELSE

@ 7,10 SAY 'PAROLA INCORECTA--ACCESUL NU ESTE PERMIS ' COLOR G+/N*

WAIT ''TIMEOUT(2)

CLOSE ALL

DEACTIVATE WINDOW ALL

CLEAR   

DO LOCATARI

ENDIF

Bibliografie:

FoxPro 2.6 sub Windows Dima Gabriel, Dima Mihai Editura TEORA,1996

Initiere in FoxPro, colectia "Initiere in calculatoare" ed. Arves

Informatica varianta Visual FoxPro Mariana Pantiru, Ionut Pantiru

FoxPro 2.5 si 2.6 pentru DOS Gabriel Dima



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1448
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved