Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru...

29
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

Transcript of Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru...

Page 1: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 2: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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;

Page 3: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 4: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 5: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 6: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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 :

Page 7: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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 :

Page 8: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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 ;

Page 9: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 10: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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..

Page 11: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 12: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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:

Page 13: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 14: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 15: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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.

Page 16: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 17: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 18: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 19: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 20: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 21: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 22: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 23: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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.

Page 24: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 25: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 26: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 27: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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

Page 28: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

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)

Page 29: Revista Virtuala Info MateTehnic ISSN 2069-7988 ISSN-L ... · PDF fileSuport pentru programarea distribuita ... Linia 6=permite comparare exacta a doua siruri de caractere cu lungimi

Revista Virtuala Info MateTehnic ISSN 2069-7988

ISSN-L 2069-7988

29