Scrigroup - Documente si articole

     

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


Lansarea in executie a VFP

fox pro



+ Font mai mare | - Font mai mic



Lansarea in executie a VFP |

Definirea ferestrelor utilizator



DEFINE WINDOW [<nume_fereastra>] [FROM <rand,coloana>] [TO <rand,coloana>]

[TITLE <titlu - sir de caractere sau alte tipuri transformate in carcater>]

[FLOAT]

[GROW]

- sufiect daca se folosesc primele patru litere din cuvintele cheie: exemplu:

DEFI WIND FEREASTRA FROM 10,10 to 24,50 TITL 'Fereastra noua' FLOA

- pentru numele ferestrei utilizatorul poate folosi

maxim 10 caractere, numere sau linia de subliniere, insa nu pot exista spatii

- un ecran are 24 randuri si 79 coloane

- titlul ferestrei (care apare in partea de susu la afisarea ferestrei) este

incadrat de ghilimele sau apostrofuri

- FLOAT = fereastra se poate muta (fara atribut este fixa)

- GROW = se pot modifica dimensiunile ferestrei (fara atribut este fixa)

- activarea ferestrelor utilizator se face cu ajutorul comenzii:

ACTIVATE WINDOW <nume_fereastra>

- toate comenzile careincep cu ? se vor afisa in fereastra activa (1 la un moment dat)

- dezactivarea ferestrelor se face cu comanda:

DEACTIVATE WINDOW <nume_fereastra> ce are ca efect stergerea fereastrei de pe ecran

- stergerea din memorie se face cu comanda:

RELEASE WINDOW <nume_fereastra>

- la toate comenzile pentru lucrul cu ferestre se poate schimba <nume_fereastra> cu ALL

si efectul va fi la toate ferestrele vizibile sau din memorie, dupa caz.

VARIABILE DE MEMORIE

www.atestate-informatica.tk

Initializarea variabilelor in VFP se face astfel:

STORE <valoare> TO <nume_variabila>

sau

<nume_variabila> = <valoare>

Comanda DISPLAY MEMORY LIKE [<sablon>]

face ca toate variabilele din memorie sa fie listate la ecran

LIKE [<sablon>] - afiseaza sellectiv doar variabilele care corespund sablonului

DISP MEMO LIKE curs*

- variabilele de memorie pot fi salvate intr-un fisier cu extensia *.mem

de unde pot fi restaurate in memorie sau sterse

SALVARE / STERGERE / RESTAURARE variabile de memorie

a) salvare

SAVE TO <nume_fisier.mem> [LIKE | EXCEPT <lista_variabile>]

b)restaurare

RESTORE FROM <nume_fisier.mem>

c)stergere

RELEASE <lista_variabile> | ALL | LIKE | EXCEPT

Afisarea variabilelor pe ecran sau la imprimanta

? - afiseaza lista_variabile

?? - afiseaza lista_variabile din locul unde a ramas cursorul

[PICTURE <sablon>] [FUNCTION <sablon>]

[AT <expresie_numerica>]

[FONT <nume_font>] <marime_caracter>

[STYLE <cod_style>] - poate fi: B,U,I

unde:

PICTURE

- restrange domeniul de afisare la sablon

9 = numeric

. = pozitia marcii zecimale

x = orice caracter

ex.:

nume='Popescu'

salariu=2500000

? nume picture 'xxxxxxxxx'    => Popescu__

? 'salariu:'+salariu picture '999999999.99' => salariu:__2500000.00

FUNCTION

'$' afiseaza simbolul monetar implicit

'E' afiseaza data in mod european

?'Data: ',date() funct 'E' => Data: 09/09/01

AT

- afiseaza 'ceva' la o anumita pozitie <rand,coloana>

Modul de lucru cu compilatorul

MODIFY COMMAND <nume_program>

- deschide fereastra unde putem scrie comenzile VFP

- iesirea se face cu CTRL+W pentru salvare => comnpilarea programului in cod masina

- sau File -> New -> Program

DO <nume_program>

- lanseaza in executie un program cu extensia *.prg (contine coemnzi visual fox pro)

- versiunea inteleasa de VFP este compilata in fisier.fxp

Comenzi SET

- schimba setarile imlpicite:

SET DEFAULT TO <cale>

SET POINT TO <marca_zecimale>

SET CURRENCY TO <simbol_monetar>

SET CURRENCY RIGHT

Introducerea datelor de la tastatura

ACCEPT <comentariu> TO <nume_variabila> - ptr. caractere

INPUT <comentariu> TO <nume_variabila> - ptr. date de tip numeric

Exemplu:

MODI COMM FACTURA

CLEAR

SET POINT TO ','

SET CURR TO 'lei'

SET CURR RIGHT

NUME=SPACE(12)

ADR='NATURII 11'

U_CIT=128.12

LEIKW=1409

CLEAR

DEFI WIND F FROM 1,1 TO 15,70 TITLE 'FACTURA DE ENERGIE ELECTRICA' FLOAT GROW

ACTI WIND F

? 'NUME CONSUMATOR: ',NUME 'ARIAL',20 STYLE 'B,I'

? 'ADRESA: ', ADR

? 'ULTIMA CITIRE: ', U_CIT PICT '9999.99', 'Kw/ora'

ACCEPT 'CITIRE CURENTA: ' TO CIT_C

? 'PRET KW: ',LEIKW PICT '9999.99' FUNC '$'

??'VALOARE FACTURA: ',(CIT_C-U_CIT)*LEIKW PICT '9999999.99' FUNC '$'

? 'DATA PLATII: ',DATE()+' ' FUNC 'E'

??'TERMEN SCADENT: ',DATE()+30 FUNC 'E'

WAIT ''

CLEAR

DEACTI WIND F

CANCEL

STRUCTURI ALTERNATIVE

Exemplu:

MODI COMM AB.PRG

CLEAR

INPUT 'A=' TO A

INPUT 'B=' TO B

IF A>B

?'A ESTE MAI MARE DECAT B'

ELSE

?'B ESTE MAI MARE DECAT A'

ENDIF

CTRL+W

DO AB

STRUCTURILE ALTERNATIVE

testeaza o conditie si dupa cum conditia este adevarata sau falsa programul continua pe una din cele

doua ramuri: ramura de adevarat sau ramura de fals. Schematic IF se reprezinta intr-un romb. Sa se scrie secventa de program care sa introduca de la tastatura un A si un B stiind ca acestia sunt coeficientii unei ecuatii de gradul 1 cu 1 necunoscuta. (ax+b=0) sa se testeze daca a=0, caz in care este o ecuatie imposibil de rezolvat. In caz contrar se va afisa x.

MODI COMM ECUATIE

DEFI WIND A FROM 10,10 TO 60,60 TITLE 'ECUATIA ax + b = 0'

ACTI WIND A

INPUT 'A=' TO A

INPUT 'B=' TO B

IF A=0

?'ECUATIA NU SE POATE REZOLVA'

ELSE

?'X=B/A=',B/APICT '9999.99'

ENDIF

WAIT WIND 'oK !'

DEACTI WIND A

clear

CANCEL

comanda DO CASE

descrie o structura alternativa generalizata. Formatul general:

DO CASE

CASE conditie1

COMENZI

CASE conditie2

COMENZI

CASE conditie3

COMENZI

CASE conditie4

COMENZI

CASE conditie5

COMENZI

CASE conditie6

COMENZI

OTHEWISE

COMENZI

ENDCASE

Sa se scrie secv. de program care intr-o fereastra sa introduca una din zilele saptamanii. In functie de ZIUA ALEASA trebuiesc afisate urmatoarele treburi:

Luni - la piata

- la servici

Marti - la cinema

- la servici

Miercuri- ziua lui Ion

Joi - la servici

Vineri - la servici

- la picnic

MODI COMM ZILE

CLEAR

DEFI WIND A FROM 10,10 TO 60,60 TITLE 'ECUATIA ax + b = 0'

ACTI WIND A

INPUT 'In ce zi suntem ?' to Z

DO CASE

CASE Z='LUNI'

?'- la piata'

?'- la servici'

CASE Z='MARTI'

?'- la cinema'

?'- la servici'

CASE Z='MIERCURI'

?'- ziua lui Ion'

CASE Z='JOI'

?'- la servici'

CASE Z='VINERI'

?'- la servici'

?'- la picnic'

OTHERWISE

?'N-AI NIMIC DE FACUT ?!!!'

ENDCASE

WAIT WIND 'oK !'

DEACTI WIND A

clear

CANCEL

BAZE DE DATE (relationale)

O baza de date contine mai multe tabele (tabele.dbf)

| tabel.dbf |

cod nume adresa structura tabelei

c1 ion timisoara

c2 vasile iasi inregistrari/articol/record

c3 gheorghe craiova

camp1 camp2 camp3

Campul este cea mai mica unitate adresabila.

Campul poate fi :

- modificat

- sters

- inlocuit

MOD DE LUCRU: - INTERACTIV (PRIN BROWSE)

- PRIN COD (LIMBAJ VFOX)

PRELUCRAREA INTERACTIVA:

CREAREA unei tabele:

-> click pe new

-> nume

-> structura campurilor

-> introducerea inregistrarilor

DESCHIDEREA tabelelor

-> butonul open

-> butonul radio 'exclusive' bifat permite orice modificari,

altfel tabela se deschide readonly.

Fereastra browse permite madoficarea inregistrarii curente.

Inregistrarea curenta cea pe care se pozitioneaza la un momemt dat

INDICATORUL DE INREGISTRARI.

MENIUL TABLE apare doar cand avem o tabela deschisa (activa) si fereastra browse e activa. Comanda GO TO RECORD localizeaza o anumita inregistrare functie de o anumita conditie.

INDECSI COMPUSI

In practica este nevoie sa indexam inregistrarile unui tabel dupa mai multe criterii -> index compus. Ca regula in cadrul indecsilor compusi trebuie sa amintim faptul ca toate campurile trebuie sa fie de acelasi tip -> functii de conversii. Totul se converteste in tipul caracter.

exemplu:

codcurs + str(nrmatr,5)

Indexul trebuie creat inainte de accesare. Comanda de acesare a tabelei este :

use tabel.dbf order codcurs + str(nrmatr,5)

browse

trasformarea datei in caracter se face pentru index cu :

dtos (01/01/2001) sau dtoc(data,1)

DESCHIDEREA UNUI TABEL

USE NUMETABEL

FUNCTII

EOF() - permite detectarea sfarsitului de tabel

BOF() - permite detectarea inceputului de tabel

FOUND() - constata daca cautarea unui articol a avut sau nu succes

COMENZI care schimba pozitia contorului de inregistrari

GO TO TOP / BOTTOM / <nr record>

SKIP - sare la urmatoarea inregistrare

LOCATE - cauta un articol care indeplineste conditia din dreapta lui

FOr. Cautarea se opreste in momentul in care se gaseste primul articol

care satisface acesta conditie:

LOCATE FOR <conditie> <domeniu> WHILE <conditie>

unde:

<conditia> - conditia de cautare

<domeniu> - domeniu de cautare - all (tot tabelul)

- next n (de la pozitia cursorului la n inregistrari)

- rest (de la pozitia cursorului la sfarsitul tabelei)

Obs.: Daca LOCATE nu gaseste nici un articol care sa satisfaca conditia

indicatorul de inregistrari va fi pe EOF.

use reg_cat

locate for nume='ionel'

locate for codcurs='ajut' and nume='ion'

locate for codcurs='prog' and nume='dan'

locate for codcurs='ajut'

locate for nume='dan' while codcurs='ajut'

CONTINUE - executa in continuare cautarea dupa conditia precedentului

LOCATE()

SET EXACT OFF - localizeaza pe toti pe rand

cursanti .dbf

pope popescu

pop popici

ion popa

popey

ana

SET EXACT OFF

locate for nume='pop'

display pope

continue

disp pop

continue

disp popey

continue

disp popescu

Sa se scrie o secventa de program care intr-o fereastra sa introduca un nume din tabelul reg_cat, sa il caute si sa afiseze datele personale ale acestuia.

MODI COMM CAUTARE

CLEAR

DEFI WIND A FROM 10,10 TO 50,50

ACTI WIND A

USE REG_CAT

ACCEPT 'Pe cine cauti ?' TO MNUNE

LOCATE FOR NUME=MNUME

IF FOUND()

?'Datele cursantului'

? repl('=',18)

? 'NUME SI PRENUME', NUME

? 'DATA NASTERII', DATAN FUNC 'E'

? 'COD CURS', CODCURS

? 'NOTA DOS:', ND PICT '99.99'

ELSE

? 'NU EXISTA CURSANTUL CU NUMELE ',MNUME

ENDIF

WAIT WIND ''

DEACTI WIND A

CANCEL



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 943
Importanta: rank

Comenteaza documentul:

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

Creaza cont nou

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