Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
1
CAPITOLUL I
PREZENTAREA GENERALA A VISUAL FOXPRO
1.1 )Prezentarea general a VFP
O baza de date (BD) reprezinta un ansamblu structurat de fisiere care grupeaza datele
prelucrate in aplicatiile informatice ale unei carti,cititori.etc..,sau vom spune ca o baza de
date este o colectie de date de dimensiuni mari,aflate in interdependenta,memorate pe un
suport extern impreuna cu descrierea lor si a legaturilor dintre ele.
Modelul relational a fost pus in practica in anii ‟80 si ‟90.Acest model organizeaza datele
in relatii sau tabele.
O relatie descrie de regula o clasa de entitati din lumea reala.Clasa de entitati este
caracterizata prin atribute sau proprietati,ce formeza coloanele tabelei sau cimpuri.Pe
liniile tabelei se gasesc valori posibile ale atributelor.Ca urmare,fiecare linie dintr-o
tabela (careia I se mai spune inregistrare) este un tuplu de valori ale atributelor
Obaza de date relationala este formata din mao multe tabele care contin date legate
semantic
Exemple : tabela Autori – contine date despre autori,
Un sistem de gestiune a bazelor de date (SGBD)reprezinta o colectie de programe care
permit definirea structurii unei baze de date si,ulteror,gestionarea continutului acesteia
Tabelul cu versiuni ale VisualFoxpro
Anul
aparit
ie
Versiune Caracteristici noi
1995 Visual Foxpro
3.0
Versiune pe 16 biti destinat mediilor DOS+WIN 3.X
Gestionarul de aplicatii Project Manager a fost reproiectat
Suport pentru baza de date si includerea in dictionarul de date
Facilitatea de a crea proceduri stocate si declansatoare
Orientarea spre obiect,Mod de lucru grafic
1996 Visual Foxpro
5.0
Versiune de lucru pe 32 biti,win 95,NT
Instrumente puternice de depanare a aplicatiilor
Wizard pentru crearea de aplicatii executabile si biblioteci
1998 VisualFoxpro
6.0
Mecanism imbunatatit pentru gestionarea proiectelor
Suport pentru crearea de aplicatii Web
Suport pentru Server
2001 Visual Foxpro
7.0
Suport pentru programarea distribuita (COM-Component
Object Model)
Facilitatii de navigare in codul-sursa
Compatibilitate sporita cu Microsoft SQL Server
Driver OLE DB ce permit crearea de aplicatii client/server
non-Foxpro,Oracle etc…
1.2)Modaliatati de lansare a VISUAL FOXPRO
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
2
Exista mai multe moduri de lansare anume :
-modul asistat sau meniu ,in care utlizatorul are la dispozitie optiuni de meniu pentru
operatiile dorite
-modul direct,presupune cunoasterea comenzilor ,comenzi scrise in fereastra de
comenzi,unde tasta Enter are rolul de a le lansa in executie.
-modul de lucru program se refera la scrierea de programe –sursacu ajutorul editorului
specializat
Intr-un program se pot folosi aproape toate comenzile modului de lucru direct,respectiv
cateva comenzi reprezentand structurile de control.
Programul scris se memoreaza ca fisier,se compileaza si se executa cu ajutorul comenzii
DO <Nume-program>
Figura 1.1 Ecranul principal Visual Foxpro
1.3)Crearea unui proiect Visual Foxpro
In general,elaborarea unei aplicatii intr-un mediu integrat de dezvoltare consta in
construierea unui proiect care trebuie sa gestioneze o serie de componente cum ar fi :
Structurile de date utilizate de aplicatie,cum ar fi schemele de baze de date;
Componente care vor genera interfata aplicatiei:meniuri,formulare,rapoarte;
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
3
Componente dedicate exclusiv structurarii logicii de prelucrare specifice
aplicatiei:module de cod (proceduri);
Diverse biblioteci refolosibile,claseAceste componente se concretizeaza intr-un
numar de fisiere,tipurile de fisiere necesare intr-o aplicatie fiinfd multe si
diferite,dupa cum se vede in tabelul alaturat:
Tipuri de fisiere folosite de Visual Foxpro
Tip fisier Extensie Explicatii
Database container .dbc Dictionarul de date
Database container text .dct Tabela memo asociata dictionarului de date
Database container index .dcx Fisierul index
Database File .dbf Tabele ale bazei de date
IndexFile .idx Fisier index asociat unei tabele(index simplu)
Compound Idex File .cdx Fisier index asociat unei tabele(index
compus,adica mai multi indecsi sunt memorati
in acelasi fisier
FoxproText .fpt Fisier asociat tabelelor care contin cimpuri
memo
Screen File(Form) .scx Fisier care contine definitiile realizate prin
intermediul constructorului de machete
FORMS=formulare
Screen Memo .sct Fisier memo asociat formularului
Report File .frx Fisier ce contine informatii despre datele
incluse intr-un raport
Report Memo .frt Fisier memo asociat raportului
Menu File .mnx Fisier ce contine informatii despre meniuri
Menu Memo .mnt Fiesie memo
Generated Menu program .mpr Progamul-sursa generat de macheta meniului
Project File .pjx Proiect contine date despre baza de
date,formulare,rapoarte,meniuri,programe
Project Memo .pjt Proiect memo
Program .prg Program-sursa Foxpro
Compiled Program .fxp Program compilat
Executable Program .exe Fisier executabil obtinut dintr-un proiect ce
contine macar un program,formular,meniu
Foxpro VisualClass Libray .vcx Biblioteca de clase Foxpro create cu class
wizard
Foxpro visual libray memo .vct Fisier memo asociat unei biblioteci.vcx
OxproDynamic Link libray .fll Biblioteca de functii de nivel scazut API
DynamicLink Library .dll Biblioteca de functii Windows de uz general
Crearea fiserului proiect se face din proiectantul Project Manager,din figura alaturata
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
4
,care se lanseaza prin optiunile din meniu
File-NewProjectSave as..->ProAgentie (AGENTIE IMOBILIARA)
Sau in mod direct prin comanda :
CREATE PROJECT <NUME_PROIECT>
EX: CREATE PROJECT PROAGENTIE <ENTER>
Structura unui proiect este redata fie arborescent,elementele specifice proiectului putand
fi accesate din cadrul de pagina ALL,fie sub forma unor cadre de
pagina,anume:Data,docs,clasese,code,other
Fereastra Project Manager prezinta in partea dreapta o serie de butoane prin care se
lanseaza rapid anumite actiuni : NEW,ADD,REMOVE ETC…
1. Pentru baze de date – open,close,modify;
2. Pentru tabele – browse,modify;
3. Pentru formulare-modify,run;
4. Pentru rapoarte-modify,preview,run;
5. Pentru programe,meniuri-modify,run;
6. Pentru clase-modify
Figura 2
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
5
1.4 )Configurarea Fisierului de baza CONFIG.FPW
Pentru versiunile Visual acest fisier de configurare se numeste CONFIG.FPW,
Si contine o serie de comenzi de parametrizare.Este un fisier de tip text, ce poate fi scris
cu un editor simplu de texte,NOTEPAD
Exemplu de fisier de configurare
DEFAULT=C:\AGENTIMB
PATH=Progm,reports,forms,database
CLOCK=STATUS
TALK=OFF
EXCLUSIVE=OFF
EXCAT=ON
COMMAND=_SCREEN.Caption=,,Agentie imobiliara”
Explicatii
Linia 1=specifica directorul de lucru
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
6
Linia 2=permite specificarea mai multor cai de cautare separate prin virgula a unor
subdirectoare,de ex
Programe,meniuri,rapoarte,etc…
Linia 3=afiseaza ora in bara de stare drapta jos
Linia 4=Decide daca mesaje despre rezultatele executiei unor comenzi vor fi afisate sau
nu pe ecran
Linia 5=permite acces in format partajat
Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi diferite
Linia 7=Afisarea pe ecran a mesajului corespunzator
Solutia consta in crearea unui shortcut la programul principal VFP6.EXE sau altul,in
cazul aplicatiilor compilate.Comanda asociata acestui shortcut va contine in cale si
numele programului executabil,urmate de un spatiu si de textul –C<cale _si – numde – de
fisier- de configurare>
Exemplu -se creaza calea respectiva
Se introduce calea completa in Target astfel :
C:\Program Files\Microsoft\Visual STUDIO\VFP98\VFP6.EXE –CC:\CONFIG.FPW
Lansarea unei sesiuni Visual cu parametri stabiliti prin acest fisier se va face evident ,prin
dublu-click pe shortcut-ul respectiv
CAPITOLUL II
CREAREA INITIALA A BAZEI DE DATE AGENTIMB
2.1)Crearea initiala a bazei de daste AGENTIMB o baza de data contine fisierele de
date, respectiv un fisier special numit dictionarul de date in care se stocheza structura
fisierelor de date si legaturile dintre acestea, precum si o serie de restrictii ce pot fi
definite asupra campurilor si inregistrarilor din fisiere.
Figura :
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
7
Baza de date AGENTIMB(AGENTIE IMOBILIARA),este compusa din :
.tabelele :AGENDA,CURSV,OFCERIN,CLIENTI ;
Crearea unei baze de date (dictionarul de date) se poate analiza in orcare dintre cele trei
moduri prezentate astfel
.
CREATE DATABASE <nume baze de date>
(sau cel mai simplu sa se aleaga obtiune NEW din cadrul de pagina Data al proectului
Instrumentul real pt. lucrul asistat cu o faza de date este PROECTANTUL bazei de date
(Database Designer),care permite:
- adaugarea de tabele virtuale
-modificarea comtinutului tobelelor
-vizualizarea continutului tabelelor
-stabilirea de relatii permanente intre bazele de date
-stergere de tabele ,tabele ;
fig modul de PROIECTARE AL BAZEI DE DATE (BD)
.
Modulul de proectare de baze poate fi lansat pe cadrul proiectiei pe direct prin comanda
MODIFY DATABASE utilizarea bal se poate realiza prin deschiderea sa prin :
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
8
-prin meniu
-din proiect
-prin comanda Open Database
2.2)Tabelele unei baze de date in VisualFoxpro
AGENTIMB
O tabela este o unitate orgazitionala fundamentala dintr-o baza de date relationala.
Tipurile de date folosite in aceasta aplicare orice ce tabela este alcatuita din atribute sau
campuri.La crearea fiecarui atribut i se precizeaza numele tipului, lungimea , nr de
pozitii fractionale
a)Tipurile de date folosite in aceasta aplicatie.
Orice tabela este alcatuita din atribute sau campuri,la creare fiecarui atribuit I se atribuie
numele,tipul,lungimea,nr.de pozitii fractionare
In functie de semnificarea,orice atribut poate fi de tip:
.ingtreg-numere intregi
.numeric-nr nat 2147483647 cu sau sau fara pozitii voloarea este 9999999999e+19
.charcter- sinuri de caractere
date –data calendaristica sub forma zz/ll/aa
datetime -data plus ora
{20/10/30 14 :56 :20}
logical={.t.=true
{.f.=false
- memo este util pt stocarea unor blocuri de texte mai mari decat 254
general-constituie o referinta catre un obiect OLE
Literele returmate de functiaTYPE() sunt :C,N,D,T,I,L,M,G
b)CREAREA SI MODIFICAREA UNEI STRUCTURI
Crearea unei tabele se face atat in mod direct,fie in mod interactiv,sai din proiectantul
bazei de date AGENTIMB ,alegand optiune TABLE DESIGNER
Cateva precizari privind structura unei tabele :
1. Name-numele campului ;
2. Type-tipul campului
3. Width-nr.maxim de caractere sau cifre ;
4. Decimal-nr de cifre la partea fractionara ;
5. Index-nr. De indecsi folositi ;
6. Null-cand este marcat,atributul poate accepta valori nule ;
7. Format-permite definirea unui sablon de preluare (9-cifre,A-litere etcc)
Caption-se poate defini declararea unui nume explicit ;
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
9
2.3)Descrierea generala a tabelor de lucru in VISUAL FOXPRO
1. TABELA AGENDA
-Contine informatii despre structura agentiilor imobiliari cu urmatoarele semnificatii;
Telefon,c,10-inseamna nr. De telefon al agntului imobiliar
Nume,c,20- numele agentului;
Adresa,c,15-adresa completa
Numar,c,4-nr. Blocului;
Apart,n,4-nr. De apartament
Bloc,c,4-nr.de bloc
Etaj,n,3-nr etajului
Mobil,c,10-nr. Telefon mobil
Email,c,15-adresa de email
2. TABELA CURS - VALUTAR
Contine informatii despre cursurile valutare,inregistrate la data curenta,necesara pentru
tranzactionarea ofertelor/cererlor/inchierilor de lociunte
Datac,d-data de cus-valutar –sub forma zz/l/aa
Numecasa,c,15-nume casa de schimb/banca valutar
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
10
Cusd,n,10-cerere valuta USD
Vusd,n,10-oferta usd
Ceur,n,10-cerere euro
Veur,n,10-oferta euro
3. TABELA OFCERIN –Contine date despre ofertele,cererile,inchierile primate,la data curenta,cu
urmatoarea structura;
Telefon,c,10-nr.de telefon
Nume,c,20-nume agent imobiliar,daca exista in tabela AGENDA
Admin,c,20-numele administratorului companiei respective
Datat,d-data ofertei/cererii
Tiptranz,c,15-tip tranzactie =ce cuprinde urmatoarele informatii
-oferte,cereri,inchieri-oferte,inchieri-cereri
Tipprop,c,15-Tip proprietate ce cuprinde :Garsoniere,apartamente,case,vile,terenuri,spatii;
Adresa,c,20-adresa completa
Bloc,c,4-nr de bloc
Nr,n,4-numarul casei
Etaj,n,4-nr etajului
Zona,c,10-zona unde locuieste
Pozitie,c,10-pozitia blocuui/casei/terenului etc..
Nrcamere,n,3-nr de camere
Suprafata,n,4-suprafata totala
Supteren,n,4-suprafata terenlui;
Prêt,n,10-pretul oferit/cerut/inchiriat
Tipop,c,3-tipul operatiei –Lei,Usd,Eur etc…
Facilitate,m-reprezinta facilitatile oferite,cerute,inchiriate de catre client –gresie,faianta,centrala
termica etc…
Loc,c,15-localitatea
Judet,c,15-judetul
Oras,c,20-oras/sector/comuna
Cartier,c,20-cartierul/satul oferit/cerut/inchiriat;
Email,c,15-adresa de mail
www,c,15-adresa de internet;
poza,g-reprezinta poza oferita,ceruta,inchiriata,spatii,terenuri,camere,case,vile etc..
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
11
4.TABELA CLIENTI –Contine inregistrari despre clientii din alte anuturi
client,c,20-nume client
telefon,c,10-nr de telefon
adresa,m-contine informatii despre adresa unde locuieste
tiptranz,c,15-tip tranzactie
tipprop,c,15-tip proprietate
prêt,n,10-pretul
tipop,c,4-tipul operatiei
dataop,d-data de lucru zz/ll/aa
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
12
CAPITOLUL III
Meniul principal AGENTIMB (AGENTIE IMOBILIARA)
3.1).Crearea meniului AGENTIMB , pentru crearea ,vom folosi cradrul de pagina din
proiectanul bazei de date ,cu optiune Menu Designer(asistentul de Proiectare a
meniurilor) . Procesul de creare a uniui meniu pentru intreaga aplicatiei poate fi structurat
astefel:
1. Planificarea si proiectarea meniului care sunt submeniurile si optiunile acestora ?
2. Crearea efectiva a meniurilor si submeniurilor, adica declararea ,folosind Menu
Designer, a titlurilor optiunilor din bara principala, a optiunilor corespunzatoare , etc.
3. Specificarea actiunilor ce vor fi declansate prin selectarea optiunilor meniului, care
reprezinta afisarea formularelor, rapoartelor, etc.
4. Generarea programului (a sectiunei de comenzi : DEFINE PAD , POPUP, BAR.).
5. Rularea si testarea programului generat anterior.
Figura 4.1..
Structura meniului principal AGENTIMB(MENAGENT)
CREARE
INITIALA
OFERTE/CERE
RI/INCHIERI
IESIRE
Actualizarea
agentiilor
Actualizare
oferte/cereri/inc
hier
Vizualizarea
agentiilor
imobiliari
Actualizare
curs-valutar
Configurare
imprimanta
Actualizare
clienti
Configurare
pagina
Vizualizare
oferte/cereri
Refacerea bazei
de date
Vizualizare
clienti
Cautare dupa un
anume criteriu
Afisarea
ofertelor/cererilo
r/inchierilor
Pentru construirea meniului principal este recomandabil, schitarea submeniurilor
principale si optiunilor acestora , anume:
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
13
Meniul- Bara va fi compusa din urmatoarele submeniuri :
CREAREA INITIALA A BAZEI DE DATE – Care permite acesul catre formularele ce
actualizeaza datele din tabele de referinta:
AGENDA
OFERTE/CERERI/INCHIERI
3.2)Descrierea meniului principal si submeniurilor corespuzatoare
Lansarea generatorului de meniuri VFP se poate face in doua moduri.Pe de o parte din
Project Manager, se alege cadrul de pagina. Other(diverse) Modul Menu , apoi se alege
butonul New ; apoi se salveaza MenAGENTIE.
Pe de alta parte, folosind metoda directa CREAT MENU.
Figura 3.1. Lansarea instrumentelelor MENU DESIGNER
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
14
In cele ce urmeaza voi, prezenta tabelul cu urmatoarele specificatii pentru meniul
aplicatiei.
TIPURI DE OPTIUNE SAU
SUBMENIU
RESULT REZULTAT
Meniu-bara Submenu
Crearea initiala a bd Submenu
Acualizarea agentiilor Command Do form c:\agentimb\forms\frmagenda
Vizualizare agentii command Report form c:\agentimb\reports\rep_agenda
preview
Refacerea bazei de date command Do form c:\agentimb\progs\refbd
Configurare imprimanta Bar# _mfi_sysprint
Configurare pagina Bar# _mfi_pgset
Oferte/cereri/inchieri Submenu
Actualizare oferte/cereri Command Do form c:\agentimb\forms\frmofcerin.scx
Actualizare curs-valutar command Do form
C:\AGENTIMB\FORMS\FRMCURSV
Actualizare clienti command Do form c:\agentimb\forms\frmclienti
Vizualizare oferte/cereri command Report form c:\agentimb\reports\rep_ofcerin
Vizualizare curs-valutar Commnad Report form c:\agentimb\reports\rep_cursv
Vizualizare clienti Command Report form c:\agentimb\reports\rep_clienti
Cautare
clienti/oferte/cereri/inchieri
Command Do form c:\agentimb\forms\frmcauta
iesire submenu Set sysmenu to default
Cai de acces de la tastatura la optiunile din meniu.
In faza de proiectare-planificare ; asocierea unei chei de acces a unei submeniuri sau
optiuni se realizeaza introducand simbolulrile « \< » inaintea literei.
3.3) Transpunerea unei chei de acces in bara de meniu
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
15
Definirea unei combimatiide taste care sa acceseze direct o optiune din meniu, se face
astfel :
1. Se selecteaza numele optiuni (Prompt)
2. Se actioneaza butonul din cadrul Options
3. Se selecteaza casuta key lablel si se apasa combinatia de taste
4. In casuta key Text se specifica textul care va insoti in meniu numele optiuni
respective.
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
16
CAPITOLUL IV
DESCRIEREA GENERALA
A FORMULARELOR ,PROGRAMELOR
4.1)Generalitati, tipuri de controale
Formularele sunt niste ferestre care pot contine obiecte ce raspund printr-un
copostament (metode) la evenimente declansate de utilizator ,de sistem sau de alte
obiecte,formand si o modalitate de implementare efectiva a claselor .Pentru a creea un
formular prin una
Din urmatoarele metode :
. in PROJECT MANAGER PROAGENTIE selectam cadrul de pagina forms se
efectuam click pe butonul New ;
. in meniul principal File->new si in ecranul principal alegem optiunea Form
. in fereastra de commanda,folosim metoda direct,si scriem CREATE FORM <nume
fisier>
Nota numai prima metoda va adauga in mod implicit ,formularul in proectul general al
aplicatiei,pentru cele late doua metode este necesara adaugarea prin intermediul
butonului ADD din PROJECT MANAGER ,proectantul de formulare forma designer
figura 4.1
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
17
Totodata sunt vizibile urmatoarele bare de unelte FORMS CONTROLS
,desingner,Layont,color palette cea mai importanta etapa este stabilirea dimensiunilor
maxime ale formelor de lucru,aceasta se realizeaza:
Din meniul ToolsOptionspagina Forms,de exemplu pentru PC-urele 15-17
inch,alegem rezolutia 800x600,dupa care salvam formularul in directorul(calea dorita)
C:\AGENTIMB\FORMS\ pentru modificare se poate folosi comanda MODYFY
FORM < cale-si-nume –formula> sau ?- !sau FILEOPENFormularul dorit,
Ex : FILEOPENFRMAGENDA.SCX
Tabelul (Anexa) 1
Crearea formularului frmsofer.scx –reprezinta Actualizarea gestiunei carburantilor din
parcul auto,se proceaza astfel:
Din meniul PROAGENTIE,alegem cadrul de pagina Documents si optiunea Forms-
>NEW,
Dupa care urmeaza configurarea formularului din meniul Tools->Options->Forms,
Respectiv salvarea sa in directorul AGENTIMB\FORMS
Proprietati,metode si evenimente
Proprietatile sunt variabilele de lucru ale fiecarei obiect in parte,iar prin metode vom
intelege acele proceduri specifice asociate fiecarui obiect,ceea ceea ce se executa
explicit in linia de cod
Evenimentele sunt actiuni ale utlizatorului,clik-uri,deplarea mouse-ului,deschiderea
unei bazei de date etc..
Prin intermediul evenimentelor si metodelor se implementeaza comportamentul
obiectului
In cadrul formularului am folosit urmatoarele prefixe ale tipurilor de controale,anume:
Tip control Prefix Tip control Prefix
Check box Chk Command button Cmd
Command group Cgr Editbox Edt
form Frm Label Lbl
textbox Txt Grid Grd
spinner Spn Combo-box Cbo
Tipuri de date ale proprietatii VALUE
CONTROL PROPRIETATI
Check-box Integer,logical,numeric
Combo-box Caracter,integer,numeric
Editbox Memo
Grid Caracter,numeric
Textbox Orice tip
4.2)Prezentarea generala a formularelor si,programelor de lucru din meniul
de aplicatie
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
18
Crearea formularului de lucru frmagenda –contine Actualizarea agentiilor imobiliari la
data respective,care se face astfel :
Din meniul Project manager ,alem proiectul PROAGENTIE,dupa care selectam cadrul
de pagina Documents,si alegem optiunea Forms (Formulare) NEWConfigurarea
formularului cu ajutorul TOOLSOPTIONSFORMS,si alegem pentru PC –uri 17”-
rezolutia 800*600,dupa care salvam formularul respective in directorul
C:\AGENTIMB\FORMS\FRMAGENDA,SCX
Pentru acesta am adaugat un control Grid ,care este de fapt obiect de tip container ce
afiseaza datele ,preluate de la o sursa de date AGENDA,sub forma de linii si coloane
,intr-un mod similar ferestrei Browse
Fiind un obiect ede tip container ,el contine obiecte de tip coloane (Column).La randul
ei,o coloana contine un obiect de tip Header –in care se introduce explicatia dorita pentru
campul respectiv si,alte tipuri de controale de tip Textbox ,si altele,deplasarea de la o
linie la alta in Grid asigura automat pozitionarea pe inregistrarea corespunzatoare in
tabela AGENDA,care este precizata de valoarea proprietatii Record Source ,iar valoare
proprietatii Record SOURCE TYPE =1-Alias ;
Figura principala Adaugarea unui control la o coloana a Grid-ului
Principale obiecte ale formularului Frmagenda
Proprietate Valoare Comentarii
Control ;grdagenda
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
19
Record source Agenda Grid-ul este legat la tabela AGENDA
RecordSourceType 1-Alias Sursa de date este o tabela deschisa in
prealabil
ColumnCount 12 Grid-ul contine 12 –coloane
Control :grdagenda.columntelefon
ControlSource Agenda.telefon Se selecteza tabela Agenda din view data
Control:grdagenda.header1
Caption Telefon Se scrie numele campului Telefon
Control :grdagenda.columnnume
ControlSource Agenda.nume
Control :grdagenda.header1
Caption Nume-agent
Control :grdagenda.adresa
,nr,bloc,apart,etaj,mobil,email,www,lo
c
administrator
ControlSource Agenda.adresa Se selecteaza campul (atributul corespunzator
),la fel se face pentru celelalte campuri
Control :grdagenda.header1
caption Adresa Se scrie adresa
La fel se face pentru celelate coloane Nr.,bloc,apartament,etaj,email,www,localitate
a,
Administrator
Control : cmdadauga Control pentru comamnda
Adaugare
caption Adaugare
Control :cmdstergere Se creaza cu ajutorul butonuli command
caption Stergere
Control :cmdanulez
Caption Anulez stergere
Control :cmdsave
caption Salveaza
Control :cmdiesire
caption Iesire
Formularul :frmagenda
Asters .f.-false Proprietate adaugata la nivel de formular
Ia valoare .t. –true,daca utlizatorul a marcat
Articolul pentru stergere
caption Actualizarea agentiilor imobiliari
Windowtype 1-Modal Blocheaza accesul la meniul principal
In timpul executiei
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
20
In cele urmeza voi prezenta metodele si evenimentele de lucru ale formularului,cu
explicatile de rigoare ;
Obiect :frmagenda
Eveniment :LOAD
IF NOT DBUSED(„AGENTIMB‟)
OPEN DATABASE C:\AGENTIMB\DATABASE\AGENTIMB.DBC EXCLUSIVE
ENDIF
*Se verifica existenta bazei de date create (dictionarul de date sau catalogul principal
AGENTIMB.DBC),prin instructiunea IF ,altfel se deschide baza de date cu calea sa
completa de lucru ,prin instructunea OPEN DATABASE <Cale-nume-baza de date>
*-Steluta are rolul de comentariu intr-un program
IF !used(„AGENDA‟)
USE AGENDA IN 0
ENDIF
SELECT AGENDA
BEGIN TRANSACTION
*Se verifica existenta tabelei AGENDA pe disc,altfel se deschide in zona 0
*se selecteaza tabela AGENDA,apoi se deschide o tranzactie de lucru
Eveniment :Destroy
IF TXNLEVEL()>0
IF MESSAGEBOX(„salvati ?‟,32+4,‟Inregistrarile sau ultimele nu au fost salvate‟)=6
End transaction
Else
Rollback
Endif
Endif
*se verifica nivelul tranzactiei
*in cazul cand dorim iesirea din sesiunea de lucru ,apare un mesaj cu semnificatile dorite
de mai sus
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
21
*se inchide tranzactia
*se blocheaza
sfarsit IF (1)
Sfarsit IF(2)
OBIECT :Cmdadauga
Eveniment :Click
*se adauga inregistrari in tabela AGENDA
APPEND BLANK
Thisform.refresh -necesara pentru claritatea programului
OBIECT :CmdStergere
Eveniment :Click
Select agenda
Delete
*se selecteaza tabela AGENDA
*se sterge datele cu commanda DELETE
OBIECT :Cmdsave
Eveniment :Click
End transaction
Begin transaction
*se inchide tranzactia
*se deschide tranzactia de lucru
OBIECT :Cmdiesire
Eveniment :click
Thisform.release
* iesirea din sesiunea de lucru
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
22
Crearea formularului OFERTE /CERERI /INCHIERI
Din meniul PROAGENTIECadrul de pagina DocumentsFormsnewsave
asfrmofcerin
Principale proprietati ale formularului FRMOFCERIN
Proprietate Valoare Comentarii
Control :txtdata
Controlsource Agenda.datat Se selecteza din tabela
OFCERIN
Campul data tranzactii
Enabled .t. La lansarea formularului
,controlul este activat
SelectOnEntry .t La preluarea
controlului,obiectul este
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
23
activat automat
Control :cbonume Control de tip Combo-box
ControlSource Agenda.nume Specifica atributul de care
este legata
La lista si a carui valoare
curenta va forma :
Sursa de afisare a unui
element din lista,
Proprietatea datasource va fi
obligatoriu un camp de tip
sir de caractere,nu sepoate
lega la o sursa de date de tip
numric
Enabled .f.-false Contolul nu este activat
RowSourceType 3-SQL Statement Sursa de date de populare a
listei va fi rezultatul unei
fraze SELECT SQL
RowSource SELECT NUME,TELEFON FROM
AGENDA ORDER BY NUME
INTO CURSOR AGENDACRS
Fraza SELECT furnizeza
elemetele listei in aceasta
ordine Nume,Telefon,dupa
care grupare se face dupa
Nume ,salvata intr-o tabela
temporara AGENDACRS
BoundColumn 2 A cata coloana din cele
furnizate de Rowsource este
legata la controlul Source,in
tabela OFCERIN
(Coloana=2)
ColumnCount 2 Specifica nr de coloane
afisate la deschiderea listei
(click,sau Space,sau
ALT+Sagesta pe control
ColumnWidths 250,200 Latimea maxima a
coloanelor ce vor fi afisate
ClomnLines .T. Linii care separa coloanele
in partea desfasurata a listei
Style 2-DropDownList Valorea =2->alegerea unui
element din lista ,in cazul
cand lista este ordonata se va
apasa primele lietre pentu
afisarea sirului de
caractere,dorit
Control :txttelefon
ControlSource Ofcerin.telefon Se selecteaza campul telefon
SelectOnEntry .t.
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
24
Control :txtdata La fel
Control :cbotiptranz Control de tip Combo-box
ControlSource Ofcerin.tiptranz
Enabled .f.
Rowsourcetype 1-Value Sursa de populare va
constitui valorile introduse
in proprietatea RowSource
RowSource Oferte,cereri,inchieri Se introduc in aceasta
etapa,cu virgula
Style 2-Dropdownlist
BorderStyle 0-None Elimina spatiul 3D
Control :cbotipprop
Controlsource Ofcerin.tipprop
RowSourceType 1-Value
Rowsource Garsoniera,apartament-2,apart-
3,case,vile,terenuri,spatii
Comerciale,birouri,sp.industriale
Style 2-dropdownlist
Control :txtadresa
Controlsource Ofcerin.adresa
Selectonentry .t.
Control :txtbloc,txtnr,txtetaj,txtnrcam,txtzona
Txtpozitia,txtpret,txtop,txtloc,txtjudet,
Txtemail,txtwww,txtadmin
Se selecteza campurile dorite
din tabela OFCERIN
Control :edtfacilitati Camp de tip Memo
Se introduc blocuri de texte
Controlsource Ofcerin.facilitati
Control :cmdadauga,cmdsterge,cmdsalvez
Cmdies,cmdimagine
Adaugare,stergere,salveaza
Iesire,adauga imagine
Control :oleboundcontrol1 Control special pentru
inserare de imagini
Controlsource Ofcerin.poza
Stretch 2-stretch Pentru redimensionarea
imaginii,
CAPITOLUL V
RAPOARTE,DEFINREA LOR
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
25
5.1)Constructia unui raport
Pentru constructia rapoartului AGENDA am parcurs urmatoarele etape :
1- schitarea raportului din care sa reiasa caracteristicile esentiale ale raportului :
. titlul raportului va fi : LISTA AGENTIILOR IMOBILIARI
. raportul va fi structurat pe 9 coloane
. formatul pag A4,Landscape
2 Tabela de lucru AGENDA
3- Din meniul PROAGENT alegem cadrul de pagina Documents cu optiunea
Reports -- NEW
4- Specificarea surselor de date pentru raport am procedat astfel :
. deschiderea containerului DATA ENVIRONMENT ( optiunea VIEW
DATA ENVIRONMENT ADD si aducerea tabelei CONSUMC ( Environment
ADD )
5- In aceasta etapa vom stabili structura de afisare :
. titlul Page Header
. Raport Controls alegem eticheta A
. coloanele raportului vor fi create prin plasarea unui obiect de tip field
pentru fiecare camp din tabela AGENDA
. in sectiunea PAGE FOATER va fi inclus un obiect de tip camp in care
se va estima numarul de pagini
Pentru crearea de tip campuri de raport , sau introducerea obiectelor sau datei
, sau nr de pagini se procedeaza astfel :
- din bara de instrumente Raport Control alegem buton field ( 1 ) dupa
care il plasam in dreptul coloanei .
Se va deschide fereastra REPORTE EXPRESSION , dupa care se
selecteaza campul dorit din tabela AGENDA Telefon OK OK la
fel se face pentru campul nume,etc….
Adaugarea unui camp in raport
Figura alaturata este prezentata modul de constructiei a capului tabel
Lista agentiilor imobiliari,respectiv adaugarea unui camp din tabela AGENDA
In raport
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
26
6- Salvarea , previzualizarea pe ecran a raportului , respective configurarea
imprimantei ,agenda.frx
5.2)Exemple de definre a rapoartelor
1)Din proiectantul aplicatiei PROAGENT alegem cadrul de pagina Documents si
-optiunea REPORTS NEW SALVARE denumirea raportului
OFCERIN
LISTA OFERTELOR/CERERILOR/INCHIERILOR,LA DATA :DATE()
2- Din meniul principal VIEW DATA ENVIRONMENT ( tabela de
lucru , OFCERIN ) apoi aducerea ca sursa de date din DATA
ENVIRONMENT ADD ( meniul de date adaugare tabela
OFCERIN )
3- Din meniul VIEW alegem Toolbors
-bara de instrumente REPORTS CONTROLS
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
27
4 - In sectiunea PAGE HEDER se vor afisa informatii ce se vor gasi in
antetul raportului am selectat eticheta A care insereaza blocuri de text in zona
dorita .
Localizarea functiei date() si a variabilei _pageno
Pentru a face vizibila informatia ,in campul din raport numarul de pagina se poate scrie
astfel :
“pag”+allt(str(_pageno))
5.3)Configuarea imprimantei
In,final,inante de listarea propriu-zisa la imprimanta,vom previzualiza raportul pentru a
verfica unele erori care apar ,respectiv asezarea efectiva in pagina
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
28
Specificatiile privitoare la formatul de listare se face din meniul FILE-
>Page Setup,in care se pot preciza ; -nr.de coloane de listare ,cadrul Columns->number
-latimea unei coloane de listare columns->width
-distanta dintre coloane
-marginea stanga a paginii;
cadrul Paper in care se poate alege formatele dorite A4,B5 ETC…
-cadrul Orientation ( portrait= latura mica/Landscape-latura mare)
Revista Virtuala Info MateTehnic ISSN 2069-7988
ISSN-L 2069-7988
29
Top Related