atestat evidenta materialelor

31
COLEGIUL NATIONAL „IONITA” ASAN CARACAL  Evidenta depozitului de materiale de constructii Profesor indrumator: Pomana Alina Elev: Popescu Liviu  Cls. a 12-a D

Transcript of atestat evidenta materialelor

Page 1: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 1/31

Page 2: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 2/31

2008

Page 3: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 3/31

CUPRINS

1. Prezentarea temei:Enunţul problemeiScurt istoric

2. Aspecte generale:DefiniţiiProceduri şi funcţii folosite

3. Note:Programul propriu-zisDespre autor

4. Bibliografie

Page 4: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 4/31

1.1. Prezentarea temei – Evidenta depozitului de materialede constructii

Programul pentru evidenţa materialelor a fost realizat pentru a permite gestionarea facilă a maflate într-o magazie. În plus există posibilitatea folosirii acestui program şi de către depozitela care, pe lângă evidenţă, este necesară şi o componentă de vânzare a produselor aflate în respectiv.

Una din facilităţile care ar mai trebui implementate ar putea fi analiza stocurilor de prealizarea de către program a unor rapoarte (inclusiv cu mici grafice) care să permită utilizavizualizeze produsele cu cel mai bun randament din punct de vedere al vânzărilor (astfel ut poate lua decizii referitoare la aprovizionarea cu noi produse în funcţie de vânzările realizate

1.2. Prezentarea temei – Scurt istoric

O bază de date este o colecţie de date de dimensiuni mari, aflate în interdependenţă, m pe un suport (de regulă magnetic) împreună cu descrierea lor şi a legăturilor dintre ele.nivelului de dezvoltare tehnologică în industria de software a dus la organizarea bazelor de mai multe modele, unul foarte răspândit fiind modelul relaţional.

Modelul relaţional a fost pus la punct în anii ’70, fiind consacrat în practică în anii ’8Acest model organizează datele în relaţii sau tabele. O relaţie descrie de regulă o clasă de enlumea reală. Clasa de entităţi este caracterizată prin nişte atribute sau proprietăţi, ce formează tabelei (în limbaj curent se numesc câmpuri). Pe liniile tabelei se găsesc valori posibile ale aAtributele (coloanele) compun schema sau structura tabelei (stabilă în timp) iar liniile conţinutul acestuia (variabil în timp).

Un SGBD reprezintă o colecţie de programe car permit definirea structurii unei baze d

ulterior, gestionarea conţinutului acesteia. Prin caracteristicile sale, FoxPro (atunci când aversiuni şi pentru sistemul de operare Windows s-a adăugat prefixul Visual) se încadrează înSGBD-urilor relaţionale.

Conform unei concepţii răspândite printre cei care lucreză în domeniul bazelor de dacalculatoare, FoxPro aparţine familiei de programe „xBase”, numită aşa după programul dBas

În 1978, C. Wayne Ratliff a pus la punct un mic SGBD dedicat microcalculatMicrocalculatoarele din acea perioadă aveau preţuri destul de mari şi performanţe extrem dfaţă de ceea ce cunoaştem noi astăzi. Programul se numea Vulcan şi ideea de la care s-a pornacestuia era clasamentul unui campionat de fotbal. Ratliff a început să mediatizeze acest pravut cereri din partea unei firme mici ce calculatoare, firmă care a văzut în acest program un iieftin şi comod de ţinere la zi a datelor financiare, contabile, personale, etc. În 1980, Ratliff a partea lui George Tate şi Hall Lashlee, patronii unei firme mici, o ofertă de colaborare. Ctârziu, când Ratliff devine şi el colaborator al firmei respective, produsul său a stat la baza prodBase II. Curând a început să apară şi concurenţa, sub chipul unor firme ca Borland, Microrim

MicroPro şi FoxBorland. Produsele tuturor acestor firme erau asemănătoare ca arhitectură cu unde şi reunirea acestora sub numele de xBase. Versiunea dBase IV din 1988 nu a avut succefrecventelor erori ale produsului. Microsoft lansează între timp SGBD Acces care nu era poat performant ca dBase dar avea o interfaţă prietenoasă şi de o mare uşurinţă în utilizare, fiind pfie exploatat direct în logica interfeţei grafice utilizator specifică Windows. Firma Borlanversiuni îmbunătăţite ale programului dBase.

Page 5: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 5/31

Fox Software şi-a perfecţionat produsul care a devenit FoxPro. Versiunea 2.0 a fost ucomercial al anilor 1991. În acea perioadă, Microsoft a încercat să impună Acces, dar acesta nfoarte avansat. În lume exista un un număr mare de calculatoare mai vechi care nu putea rulde operare Windows (deci nici programul Acces) dar care erau foarte potrivite pentru pFoxPro. În plus aplicaţiile FoxPro se remarcau printr-o viteză de execuţie mare, impresionandBase. Microsoft a achiziţionat în cele din urmă firma Fox Software (1992). Din momentul producţia a continuat cu versiunile 2.5 şi 2.6 (pentru DOS, Windows, Macintosh şi UNIX

versiunile „Visual” 3, 5 şi 6.Versiunile 2.x ale produsului FoxPro au oferit, pe lângă motorul bazei de date, facilităscrierea şi execuţia propriilor programe, proiectarea asistată a interfeţelor (meniuri, formmachete de prelucrare a datelor – în mod caracter, tipic mediului DOS), proiectarea de caracteristici specifice mediilor de dezvoltare a aplicaţiilor. Versiunile „Visual” au introdusserie de facilităţi.

Aceste caracteristici au făcut ca FoxPro să evolueze de la un SGBD simplu, cu ofacilităţi de realizare a aplicaţiilor, la un adevărat mediu integrat de dezvoltare – un mdezvoltare constă dintr-un editor de texte pentru scrierea codului-sursă într-un limbaj dat, un c pentru limbajul respectiv şi câteva facilităţi de natura depanatoarelor, pentru verificarea apldată cu perfecţionările în domeniul hardware-ului şi cu creşterea atât a numărului de limbaje ale acestora, cât şi a numărului de dezvoltatori de aplicaţii, aceste instrumente s-au diverîmbunătăţit, integrând noi facilităţi.

Astăzi, printr-un mediu integrat de dezvoltare (IDE—Interactive Development Enviînţelegem un cadru completat de un set de instrumente pentru realizarea aplicaţiilor. Instrumemai ales din categoria generatoarelor de aplicaţii, în care utilizatorul construieşte aplicaţia prin specificaţii declarative decât pirn programare procedurală. De exemplu, machetele de intdatelor sunt proiectate vizual, programatorul plasând pe un ecran (formular) diferite obiecte ( predefinite, fiecare „ştiind” să interpreteze anumite evenimente – ca de pildă, un click de moapăsare de tastă. Nu e nevoie a se scrie instrucţiuni detaliate care să asigure desenarea acelor pe ecran la momentul execuţiei, generarea codului-sursă, pornind de la specificaţiile creatsarcina instrumentului respectiv.

Page 6: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 6/31

2. Aspecte generale – definiţii

O bază de date reprezintă o colecţie de date persistente. Din acest punct de vedere logicdate este un set de tabele, împreună cu un set de indecşi şi cu anumite relaţii stabilite între ta punct de vedere fizic, baza de date este un fişier cu o anumită structură, memorat pe disc într-director. În cazul limbajului Fox, tabelele care aparţin unei baze de date sunt memorate

separate, având extensia.dbf .Oricărei acţiuni executate de calculator îi corespunde o comandă. Aceste comenzi se ssingură linie, in ceea ce se numeţte fereastra de comenzi . Pentru acceptarea comenzii se taste< ENTER> .

Astfel, pentru a crea o noua tabelă se utilizează comanda :CREATE <nume>[.dbf]

Se va preciza în comandă numele noului fişier, iar la executarea comenzii suntem invitaţfereastră de dialog să precizam structura tabelei respective.

După creare, suntem întrebaţi dacă dorim să introducem imediat înregistrări în noua tabe

lucru poate fi facut acum sau mai târziu. Pentru a introduce ulterior alte înregistrări, vocomanda : APPENDSe deschide o fereastră de adăugare, în care suntem invitaţi să tastăm noi date. În moment

nu mai dorim să introducem date, vom apăsa tastele<CTRL> + <END> . pentru a afişa sau modifica datele introduse avem la dispoziţie comanda BROWSE . Aceasta poate

avea mai mulţi parametri. Formatul general al comenzii şi principalii săi parametri sunt urmat BROWSE [FIELDS <câmp1><:R><:dim1>...

<câmp calculat1>=<exp1][FOR <condiţie>][LOCK <nr>] [WIDTH <exp>][NOAPPEND] [NOEDIT] [NODELETE]

Informaţiile din câmpuri se vor afişa pe verticală. Prin opţiunea FIELDS este posibilă afişarea doa unei liste reduse de cîmpuri. Mai mult, printre acestea pot apare şi cîmpuri care nu sunt mefectiv în baza de date. Acestea din urmă poartă denumirea decâmpuri calculate , iar valorile prezentate acolo se pot determina pornind de la informaţiile deja existente. Pentru fiecare cîm preciza lungimea de afişare(WIDTH) şi dacă datele pot fi modificate sau nu(LOCK) . De asemenea, s poate preciza lungimea maximă de afişare a tuturor câmpurilor. Prin clauza FOR se vor afişa numaacele înregistrari care respectă condiţia dată. În sfarşit, putem anula posibilitatea acţiunilor de(NOAPPEND) , modificare(NOEDIT) , ştergere(NODELETE) .

Exemple concrete de utilizare a comenzii : browse fields nume, prenume for camin==.T.

Page 7: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 7/31

browse fields nume :R :3 , mediabrowse noedit, noappend browse for camin==.T. width 10

Odată deschisă fereastra debrowse , pentru adăugarea de noi înregistrări folosim combi<CTRL> + <N> . La salvarea modificărilorefectuate se apasă<CTRL> + <END> .

Iată cum va arăta ecranul în urma unei comenzi simple BROWSE :Dupa ce a fost creată o tabelă, aceasta se află în starea de ‘deschis’. Aceasta înseamna c

respectiv este deschis şi se pot efectua operaţii (adaugare, modificare, afişare etc.) asuprrespective. Pentru a deschide o tabela deja existentă, folosim commanda :

USE <nume>[.dbf]iar pentru a o închide, comanda :USE Listarea pe ecran a informaţiilor comţinute în tabelă se efectuează cu comanda :

LIST Iată cum apar aceste date pe ecran :

Informaţiile globale referitoare la tabela curentă pot fi afişate cu ajutorul comenzii comutaSET STATUS ON / OFF Acestea cuprind printre altele : numele tabelei, numărul total de înregistrări şi numele în

curente. La deschiderea bazei de date înregistrarea curentă este prima înregistrare.Putem lucra într-un director personal prin utilizarea comenzii :SET DEFAULT TO <cale> , unde<cale> reprezintă un drum de tip DOS.

VariabilePe lângă memorarea datelor sub formă în baze de date (tabele) în cadrul unor fişiere sp

harddisc, se impune şi posibilitatea memorării temporare a acestor date în memoria internă. Ase realizează în principal prin folosirea variabilelor.

Page 8: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 8/31

Variabila este un obiect definit prin 4 caracteristici:a) un tip de dată anumit; b) un nume (identificator);c) o valoare (curentă);d) o adresă de memorie.

Putem figura toate acestea în felul următor:

1. putem face abstracţie de adresa de memorie a variabilei; acest lucru este gestionat ncalculator.

2. în limbajul Fox, tipul de dată al unei variabile nu este fixat la început; el poate fi m printr-o simplă atribuire ulterioară.

Citirea variabilelorOperaţia de citire se execută în mod simplu prin comanda INPUT. Forma generală a comenzii est

următoarea: INPUT <mesaj> TO <nume_variabilă>Spre exemplu:input ‘a=’ to ainput ‘numar=’ to nr Citirea datelor numerice cu comandainput se realizează tastând cifră cu cifră valoarea dorită, i

final apăsându-se tasta ENTER . În cazul datelor de tip şir de caractere se vor tasta în plus, la încela sfârşit, caracterele delimitatorii: ’(apostrof) sau ”(ghilimele). La fel, pentru citirea datelor dcalendaristică se vor utiliza perechile de acolade şi delimitatorii de forma: /.

AtribuireaAsupra variabilelor declarate se pot efectua calcule, spre exemplu calculele aritme

operaţiile: + (adunare), - (scădere), * (înmulţire), / (împărţire). Rezultatul acestor calcule se în cele mai multe cazuri tot într-una din aceste variabile.

a : 3

Identificator Valoaretipul întreg

Adresă

Memoriainternă

Page 9: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 9/31

Page 10: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 10/31

Ca regulă generală, pentru a inhiba afişarea pe ecran a unor mesaje din partea sistemului Fcadrul execuţiei programului, se utilizează comanda comutator:

SET TALK ON / OFF Astfel, primul nostru program va arăta în modul următor:

set talk off input ’a=’ to ainput ’b=’ to b

c=a+b?cIar următoarea figură arată modul în care apar pe ecran aceste lucruri:

Compilarea

Următoarea etapă în folosirea unui program o reprezintă operaţia de compilare. Compilareexecută cu ajutorul opţiuniiCOMPILE din submeniu.

Acum se verifică dacă comenzile programului au fost scrise sintactic corect şi se genereazăobiect cu acelaşi nume, dar cu extensia.fxp. Tot acum, prin compilare, se salvează şi conţinfişierului sursă editat. Nu mai este necesară salvarea programului prin intermediul opţiuniiSAVE dinsubmeniul FILE .

ExecuţiaÎn sfârşit, un program compilat poate fi lansat în execuţie. Acest lucru se realizează prin co

DO , cu următoarea formă generală: DO <nume_fişier>

Este bine ca înainte de execuţie fereastra cu fişierul sursă să fie închisă.

Despre program

Interfata programului este creata dintr-un meniu vertical cu 7 optiuni, iar fiecare are un meni.Aplicatia are un meniu orizontal :date produse, modificari, tva, rapoarte, vizualizari, help si ieAplicatia foloseste urmatoarele tabele:

marfa.dbf

Page 11: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 11/31

coduri.dbf

vand.dbf

Page 12: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 12/31

MeniulDATE: are urmatoarele optiuni:Intrari :se introduc produseIesiri :se scot produseCoduri produse : pentru a introduce un produs trebuie introdus codul produsuluiIesire din submeniu .

Page 13: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 13/31

Page 14: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 14/31

Meniul Modificari :Intrari produseCoduriIesire

Page 15: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 15/31

Meniul TVA:Modificare TVA si Iesire.

Meniul RAPOARTE cu optiunile:Intrari/perioada, Iesire/perioada, Liste produse si iesire .

Meniul Vizualizari :Intrari/perioada

Page 16: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 16/31

Iesire /perioadaIntrari/ toate produseleIesire

Page 17: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 17/31

3. Note – Programul propiu-zis

set talk offset century on

set clock onset safety offset status offset blink offset exact on

clearSET CURSOR OFFSET CURSOR ONPUBLIC m.di,m.dfCLEAR@2,2SAY"╔══════════════════════════╦═══════════════════════════════╗"For i=3 TO 15@i,2 SAY

"║ ║║ "ENDFOR@16,2SAY"╚══════════════════════════╩═══════════════════════════════╝"@7,50 SAY"EVIDENTA"@8,40 SAY"MATERIALELOR DE CONSTRUCTII"

@12,40 SAY" ATESTAT DE DIPLOMA" COLOR g+/b@13,40 SAY" CANDIDAT: numele autorului" COLOR Gr+/b@14,40 SAY" 2006" COLOR Gr+/b

define menu MAGAZIE

define pad date of MAGAZIE at 3,3 prompt '\<DATE 'define pad modif of MAGAZIE at 5,3 prompt'\<MODIFICARI 'define pad tva of MAGAZIE at 7,3 prompt '\<TVA 'define pad rap of MAGAZIE at 9,3 prompt '\<RAPOARTE 'define pad vad of MAGAZIE at 11,3 prompt '\<VIZUALIZARI'define pad help of MAGAZIE at 13,3 prompt '\<HELP 'define pad ies of MAGAZIE at 15,3 prompt '\<IESIRE '

on selection pad ies of MAGAZIE do iesireon selection pad HELP of MAGAZIE do HELP

on selection pad date of MAGAZIE do cedate

Page 18: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 18/31

on selection pad modif of MAGAZIE do cemodifon selection pad tva of MAGAZIE do cetvaon selection pad rap of MAGAZIE do cerapon selection pad vad of MAGAZIE do cevad define menu cedatedefine pad ced1 of cedate at 3,3 prompt '\<INTRARI PRODUSE'define pad ced2 of cedate at 5,3 prompt 'IESIRI \<PRODUSE 'define pad ced3 of cedate at 7,3 prompt '\<CODURI PRODUSE 'define pad ced4 of cedate at 9,3 prompt 'IE\<SIRE 'on selection pad ced1 of cedate do datemarfaon selection pad ced2 of cedate do datevandon selection pad ced3 of cedate do datecoduri

on selection pad ced4 of cedate do iesdate

define menu cemodif

define pad cemod1 of cemodif at 3,3 prompt '\<INTRARI PRODUSE'define pad cemod2 of cemodif at 5,3 prompt '\<CODURI 'define pad cemod3 of cemodif at 7,3 prompt 'IE\<SIRE 'on selection pad cemod1 of cemodif do modifmarfaon selection pad cemod2 of cemodif do modifcodon selection pad cemod3 of cemodif do iesmodif

define menu cetva

define pad cetva1 of cetva at 3,3 prompt '\<MODIFICARI'define pad ies of cetva at 5,3 prompt '\<IESIRE 'on selection pad cetva1 of cetva do tvamodifon selection pad ies of cetva do iestva

define menu cerap

define pad cerap1 of cerap at 3,3 prompt '\<INTRARI/PERIOADA'define pad cerap2 of cerap at 5,3 prompt '\<IESIRI/PERIOADA 'define pad cerap3 of cerap at 7,3 prompt '\<LISTE PRODUSE 'define pad cerap4 of cerap at 9,3 prompt 'IE\<SIRE 'on selection pad cerap1 of cerap do rapinton selection pad cerap2 of cerap do rapies

on selection pad cerap3 of cerap do listeon selection pad cerap4 of cerap do iesrap

define menu cevad

define pad cev1 of cevad at 3,3 prompt '\<INTRARI/PERIOADA 'define pad cev2 of cevad at 5,3 prompt 'I\<ESIRI/PERIOADA 'define pad cev3 of cevad at 7,3 prompt 'IN\<TRARI /UN PRODUS 'define pad cev4 of cevad at 9,3 prompt 'INT\<RARI /TOATE PRODUSELE'define pad cev5 of cevad at 11,3 prompt 'IE\<SIRE '

Page 19: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 19/31

on selection pad cev1 of cevad do inperon selection pad cev2 of cevad do iesperon selection pad cev3 of cevad do unprodon selection pad cev4 of cevad do totprodon selection pad cev5 of cevad do iesprod

activate menu MAGAZIECLEAR menuCLEAR POPUPS

PROCEDURE cedatehide menu MAGAZIEactivate menu cedateRETURN

PROCEDURE cemodifhide menu MAGAZIEactivate menu cemodifRETURN

PROCEDURE cetvaHIDE MENU MAGAZIEACTIVATE MENU cetvaRETURN

PROCEDURE cerapHIDE MENU MAGAZIEACTIVATE MENU cerapRETURN

PROCEDURE cevadHIDE MENU MAGAZIEACTIVATE MENU cevadRETURN

PROCEDURE datemarfahide menu cedateSAVE SCREEN TO aaCLEARdefine window fermarfa from 4,4 to 20,74 double title 'DATE MARFA'shadowactivate window fermarfarasp='D'do while rasp='D'

Page 20: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 20/31

@ 1,2 say 'COD PRODUS '@ 2,2 say 'DENUMIRE PRODUS '@ 3,2 say 'PRET UNITAR '@ 4,2 say 'DATA INTRARII '@ 5,2 say 'NUMAR BUCATI '@ 6,2 SAY 'ADAOS COMERCIAL(%)'@ 7,2 SAY 'VALOARE ADAOS '@ 8,2 say 'VALOARE TVA '@ 9,2 say 'PRET VANZARE 'sele 1

use marfa order cod_prodsele 2

use tvascatter memvarsele 3use coduri order cod_prodsele 1scatter memvar blank

@ 1,25 get m.cod_prod valid m.cod_prod<>0 error 'COD DIFERIT DEZERO' picture '@z 999'readsele 3seek m.cod_prodif not found()

DO sunetwait 'PRODUS INEXISTENT! INTRODUCETI INTAI CODUL!!' window

elsescatter memvarsele 1@ 2,25 say m.den_prod COLOR W+/N@ 3,25 get m.pret_unit PICTURE '@z 9999999999'@ 4,25 get m.data_int@ 5,25 get m.nr_buc valid m.nr_buc<>0 error 'NUMAR DIFERIT DE

ZERO' PICTURE "@Z 9999"read@ 6,25 get m.adaos_com picture'@z 999'READm.val_adaos=m.pret_unit*m.adaos_com/100@ 7,25 say m.val_adaos COLOR r+*/nm.val_tva=m.pret_unit*m.procent/100m.pret_vanz=m.pret_unit+m.val_tva+m.val_adaos

@8,25 SAY m.val_tva COLOR r+*/n@9,25 SAY m.pret_vanz COLOR r+*/n

append blankgather memvarreplace all stoc with stoc+m.nr_buc for cod_prod=m.cod_prod

endif@ 13,10 say 'MAI INTRODUCETI DATE ? [D/N]'@ 13,40 get rasp picture '!'read

Page 21: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 21/31

clearenddoclose datadeactivate window fermarfaRESTORE SCREEN FROM aareturn

PROCEDURE modifmarfa

hide menu cemodifSAVE SCREEN TO aaCLEARdefine window fermarfa from 4,4 to 20,74 double title'DATE MARFA' shadowactivate window fermarfarasp='da'do while rasp='da'

@ 1,2 say 'COD PRODUS'@ 2,2 say 'DATA INTRARII'@ 3,2 say 'DENUMIRE PRODUS'@ 4,2 say 'PRET UNITAR'@ 5,2 say'NUMAR BUCATI'@ 6,2 say 'VALOARE TVA'@ 7,2 say 'PRET VANZARE'

sele 1use marfa order modificscatter memvar blanksele 2use tvascatter memvarsele 1@ 1,19 get m.cod_prod picture '@z 9999'@ 2,19 get m.data_intreadseek STR(m.cod_prod)+DTOC(m.data_int)if NOT found()

DO sunetwait 'PRODUS INEXISTENT !!!' windowdefine window vad1 from 4,4 to 20,74 double title 'VIZUALIZARE

INTRARI' FOOTER '[ESC]=Iesire' shadow

activate window vad1define window vad from 6,6 to 18,72 noneactivate window vadbrowsedeactivate windows vad,vad1

ELSESCATTER MEMVAR@ 3,19 say m.den_prod COLOR r+*/n

@ 4,19 get m.pret_unit PICTURE '@z 9999999999'

Page 22: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 22/31

@ 5,19 get m.nr_buc valid m.nr_buc<>0 error'NUMAR DIFERIT DE ZERO' PICTURE "@Z 9999"

readm.val_tva=m.pret_unit*m.procent/100m.pret_vanz=m.pret_unit+m.val_tva@ 6,19 SAY m.val_tva COLOR r+*/n@ 7,19 SAY m.pret_vanz COLOR r+*/ngather memvarreplace all stoc with stoc+m.nr_buc for cod_prod=m.cod_prod

endif@ 10,10 say 'MAI FACETI MODIFICARI ? [D/N]'@ 10,40 get rasp picture '!'readclear

close dataenddodeactivate window fermarfaRESTORE SCREEN FROM aareturn

PROCEDURE tvamodif

hide menu cetvaSAVE SCREEN TO aaCLEARdefine window modtva from 4,2 to 22,75 double title "MODIFICATIPROCENTUL DE TVA ?" FOOTER '[Esc]=Iesire' shadow color scheme 5activate window modtvadefine window modtva1 from 6,4 to 20,73 none color scheme 5activate window modtva1use tvabrowusedeactivate windows modtva,modtva1RESTORE SCREEN FROM aareturn

PROCEDURE datevand

hide menu cedateSAVE SCREEN TO aaCLEARdefine window fervand from 4,4 to 20,74 double title 'DATE VAND'shadowactivate window fervandrasp='D'do while rasp='D'sele 1

Page 23: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 23/31

use vandscatter memvar blanksele 2use marfa order cod_prod@ 1,2 say 'COD PRODUS'@ 1,19 get m.cod_prod picture '@z 9999'readsele 2seek m.cod_prodif not found() OR stoc=0DO sunetwait " COD INEXISTENT IN MARFA SAU STOC ZERO!!! " windowelsescatter memvarsele 1@ 2,2 say 'DENUMIRE PRODUS'@3,2 say "STOC "@ 4,2 say 'NUMAR BUCATI'@ 5,2 say 'PRET VANZARE'@ 6,2 say 'DATA VANZARII'@ 7,2 say 'VALOARE VANZARE'@ 2,19 SAY m.den_prod COLOR r+*/n@ 3,19 SAY m.stoc COLOR r+*/n@ 4,19 GET m.nr_b VALID m.nr_b<>0 AND m.nr_b<=m.stocERROR' NUMAR DIFERIT DE ZERO SI MAI MIC SAU EGAL CU STOCUL' PICTURE'@z 9999999999'@ 5,19 SAY m.pret_vanz@ 6,19 get m.data_vanz valid m.data_vanz<=date()error "DATA VANZARII NU TREBUIE SA DEPASEASCA DATA CURENTA !"readm.val_vanz=m.pret_vanz*m.nr_b@ 7,19 SAY m.val_vanz COLOR r+*/nappend blankgather memvarsele 2replace all stoc with m.stoc-m.nr_b for cod_prod=m.cod_prodendif

@ 10,10 say 'MAI INTRODUCETI DATE ? [D/N]'@ 10,38 get rasp picture '!'readclear

close dataenddodeactivate window fervandRESTORE SCREEN FROM aareturn

PROCEDURE inper

Page 24: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 24/31

hide menu cevadSAVE SCREEN TO aaCLEARdefine window cevad from 4,4 to 20,74 double title "VIZUALIZAREINTRARI"FOOTER "[Esc]=Iesire" shadow color scheme 1activate window cevaddefine window cevad1 from 6,6 to 18,72 none color scheme 1activate window cevad1m.di={ / / }m.df={ / / }@0,0 say "DE LA: "@0,10 get m.di@1,0 say "PANA LA: "@1,10 get m.dfreaduse marfa order cod_prodbrow for data_int>=m.di and data_int<=m.df noeditclose datadeactivate window cevad,cevad1RESTORE SCREEN FROM aareturn

PROCEDURE iesper

hide menu cevadSAVE SCREEN TO aaCLEARdefine window cevad from 4,4 to 20,74 doubletitle "VIZUALIZARE VANZARI" FOOTER "[Esc]=Iesire" shadow color scheme1activate window cevaddefine window cevad1 from 6,6 to 18,72 none color scheme 1activate window cevad1m.di={ / / }m.df={ / / }@0,0 say "DE LA: "@0,10 get m.di@1,0 say "PANA LA: "

@1,10 get m.dfreaduse vand order cod_prodbrow for data_vanz>=m.di and data_vanz<=m.df noeditclose datadeactivate windows cevad,cevad1RESTORE SCREEN FROM aareturn

PROCEDURE unprod

Page 25: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 25/31

Page 26: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 26/31

set cursor OFF

@ 3,3 say"Programul realizeaza o evidenta a aprovizionarii cu marfa a unei"

@ 4,0 SAY"societati comerciale si vanzarile de marfa. Produsele suntcodificate."

@ 5,3 SAY ""@6,0 SAY

"Datele sunt introduse de catre operator,de la tastatura."@7,0 SAY

"Pretul de vanzare se calculeaza prin program de catreprogramator,dupa"

@8,0 SAY"formula :pret_vanzare=pret_unitar+valoare_TVA+valoare_adaos_comercoal."

@9,0 SAY"Valoarea TVA se calculeaza astfel:valoare_TVA=procent_tva*pret_unitar/100"

@10,3 SAY" "@11,0 SAY" "@12,0 SAY

"Se pot scoate liste cu intrari marfa si vanzare marfa! "@13,3 SAY

"Tot prin rapoarte se calculeaza valoarea totala a marfiicumparate ,"

@14,0 SAY"respectiv vandute precum si alte informatii referitoare la valorilede vanzare!"

readset cursor ondeactivate window HELPreturn

PROCEDURE sunet

SET BELL TO 880,4??CHR(7)

SET BELL TO 1400,4??CHR(7)SET BELL TO 880,4??CHR(7)SET BELL TORETURN

PROCEDURE rapint

Page 27: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 27/31

hide menu cerapSAVE SCREEN TO aaCLEARdefine window rap from 4,4 to 20,74 doubletitle 'INTRODUCETI PERIOADA PENTRU CARE SE FAC LISTELE'footer"[Esc]=Iesire" shadowactivate window rapdefine window rap1 from 6,6 to 18,72 noneactivate window rap1m.di={ / / }m.df={ / / }@0,0 say "DE LA: "@0,10 get m.di@1,0 say "PANA LA: "@1,10 get m.dfreaduse marfa order cod_prodrepo form int.frx for data_int>=m.di and data_int<=m.df pdsetuppreviewclose datadeactivate window rap,rap1RESTORE SCREEN FROM aareturn

PROCEDURE rapies

hide menu cerapSAVE SCREEN TO aaCLEARdefine window rap from 4,4 to 20,74 doubletitle 'INTRODUCETI PERIOADA PENTRU CARE SE FAC LISTELE 'footer"[Esc]=Iesire" shadow color scheme 1activate window rapdefine window rap1 from 6,6 to 18,72 none color scheme 1activate window rap1m.di={ / / }m.df={ / / }@0,0 say "DE LA: "

@0,10 get m.di@1,0 say "PANA LA: "@1,10 get m.dfread

sele 1use vand order cod_prod

sele 2use marfa order cod_prod

sele 1set relation to cod_prod into 2

Page 28: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 28/31

repo form ies.frx for data_vanz>=m.di and data_vanz<=m.df pdsetuppreviewclose datadeactivate window rap,rap1RESTORE SCREEN FROM aareturn

PROCEDURE liste

hide menu cerapSAVE SCREEN TO aaCLEARuse marfa order den_prodrepo form intrari.frx pdsetup previewclose datadeactivate window rapRESTORE SCREEN FROM aareturn

PROCEDURE iesire

release allclearset clock offcancel

PROCEDURE datecoduri

HIDE menu cedateSAVE SCREEN TO aaCLEARrasp='D'DO WHILE rasp="D"define window rap from 4,4 to 20,74 double title 'INTRODUCERE DATE -CODURI PRODUSE'activate window rap

USE coduri ORDER cod_prodSCATTER MEMVAR BLANK@5,5 SAY"COD PRODUS"@5,30 GET m.cod_prod VALID m.cod_prod<>0 ERROR'COD DIFERIT DE ZERO'PICTURE "@Z 999"READSEEK m.cod_prodIF FOUND()

DO sunetWAIT "DUBLURA" WINDOW

Page 29: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 29/31

ELSE@6,5 SAY"DENUMIRE PRODUS"@6,30 GET m.den_prod FUNCTION'!'READAPPEND BLANKGATHER MEMVAR

ENDIF@ 10,10 SAY 'MAI INTRODUCETI DATE ? [D/N]'@ 10,38 GET rasp picture '!'READ

CLEARDEACTIVATE WINDOW rapENDDOCLOSE DATARESTORE SCREEN FROM aaRETURN

PROCEDURE iestva

DEACTIVATE MENU cetvaSHOW MENU MAGAZIERETURN

PROCEDURE iesmodif

DEACTIVATE MENU cemodifSHOW MENU MAGAZIERETURN

PROCEDURE iesrap

DEACTIVATE MENU cerapSHOW MENU MAGAZIERETURN

PROCEDURE iesprod

DEACTIVATE MENU cevad

SHOW MENU MAGAZIERETURN

PROCEDURE iesdate

DEACTIVATE MENU cedateSHOW MENU MAGAZIERETURN

Page 30: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 30/31

PROCEDURE modifcod

HIDE menu cemodifSAVE SCREEN TO aaCLEARrasp='D'DO WHILE rasp="D"define window rap from 4,4 to 20,74 double title'INTRODUCERE DATE - CODURI PRODUSE'activate window rapUSE coduri ORDER cod_prodSCATTER MEMVAR BLANK@5,5 SAY"COD PRODUS"@5,30 GET m.cod_prod VALID m.cod_prod<>0ERROR'COD DIFERIT DE ZERO' PICTURE "@Z 999"READSEEK m.cod_prodIF NOT FOUND()

DO sunetWAIT "COD INEXISTENT" WINDOW

ELSESCATTER MEMVAR@6,5 SAY"DENUMIRE PRODUS"@6,30 GET m.den_prod FUNCTION'!'READGATHER MEMVAR

ENDIF@ 10,10 SAY 'MAI MODIFICATI DATE ? [D/N]'@ 10,38 GET rasp picture '!'READ

CLEARDEACTIVATE WINDOW rapENDDO

CLOSE DATARESTORE SCREEN FROM aaRETURN

Page 31: atestat evidenta materialelor

8/6/2019 atestat evidenta materialelor

http://slidepdf.com/reader/full/atestat-evidenta-materialelor 31/31

4. Bibliografie

1. Mariana Pantiru, „Manual de informatica cls. 12”, Editura ALL,-Bucuresti 2007

2. „Microsoft Vizual Fox Pro 6.0. – Ghidul Programului”, Editura Teora 20003. „Vizual Fox Pro, Ghidul Dezvoltarii Aplicatiilor persoanelor”;

-Autori: Ioan Brava, Liviu Cretu, Maria Fotachie, Catalin Strambeni,-Editura Polizom 2002