Scrigroup - Documente si articole

     

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


PROCEDURI SI FUNCTII DEFINITE DE UTILIZATOR

fox pro



+ Font mai mare | - Font mai mic



PROCEDURI SI FUNCTII DEFINITE DE UTILIZATOR

Pe masura ce creste dimensiunea unei aplicatii (creste numarul liniilor de program ale aplicatiei ) testarea si depanarea acesteia devine din ce in ce mai dificila, datorita numarului mare de variabile folosite, datorita numarului mare de instructiuni si a legaturilor dintre acestea. Astfel s-a trecut la gruparea unor instructiuni in module separate, care rezolva o anumita parte a problemei, aceste module fiind independente intre ele. Comunicarea lor cu celelalte module se face prin intermediul unor parametri, variabile de comunicare, care realizeaza interfatarea modulului cu exteriorul.



O functie definita de utilizator, spre deosebire de procedura, poate intra in componenta unei expresii ca operand, analog functiilor standard din FOXPRO. Variabilele definite in interiorul functiilor si procedurilor sint cunoscute doar in acest domeniu, in sensul ca pentru programul ce apeleaza functia sau procedura, aceste variabile nu exista.

Definirea unei functii se face prin intermediul comenzii FUNCTION care are sintaxa :

FUNCTION <nume functie>

unde <nume functie> reprezinta numele care se atribuie functiei nou definite si care va fi folosit la fiecare apel al acesteia pentru identificarea printre celelalte functii a celei dorite. Definirea procedurilor se realizeaza in mod analog : PROCEDURE <nume procedura> .

Numele unei functii sau proceduri definite de utilizator (rutine) poate fi alcatuit din maxim zece (10) caractere incepind cu litera sau caracterul subliniere si continind litere, cifre sau caracterul subliniere. Instructiunile unei rutine vor incepe    imediat dupa comanda FUNCTION sau PROCEDURE si se vor intinde pina la intilnirea unei noi comenzi FUNCTION sau PROCEDURE sau pina la intilnirea sfirsitului de fisier. Apelul unei functii se face prin numele acesteia, urmat, intre paranteze rotunde, de lista parametrilor prin care se comunica cu functia. La executare, in locul acestei constructii se va introduce valoarea returnata de functie, ca rezultat al prelucrarilor din interiorul acesteia. O procedura se executa prin comanda DO urmata de numele procedurii (pe pozitia lui <fisier> iar parametrii prin care programul comunica cu aceasta se introduc in lista clauzei WITH a acestei comenzi. Terminarea executiei unei rutine se face fie dupa executia ultimei instructiuni a acesteia, fie la intilnirea uneia dintre comenzile RETURN, CANCEL, SUSPEND, QUIT. Procedurile si functiile unui program se introduc, de regula dupa ultima instructiune a programului, in acelasi fisier cu acesta. Dar acestea se pot introduce in fisiere separate care vor fi asociate programului apelant prin comanda SET PROCEDURE :

SET PROCEDURE TO [<fisier>]

Aceasta comanda asociaza programului curent in executie, fisierul <fisier> (cu extensia implicita PRG) unde se vor cauta procedurile care nu se gasesc in fisierul programului apelant. Comanda fara alti parametri determina inchiderea fisierului de proceduri curent asociat programului in executie. La executia unei proceduri folosind comanda DO, cautarea acesteia se face in urmatoarea ordine :

- mai intii se cauta in fisierul care contine comanda DO de apelare a procedurii

- daca nu se gaseste, se cauta apoi in fisierul de proceduri deschis cu comanda SET PROCEDURE

- in ultima instanta se cauta pe rind in programele in curs de executie pe diferite nivele, pina la programul de nivel 1 (primul executat)

- abia dupa ce toate aceste etape s-au incheiat fara succes, se va cauta fisierul cu numele identic cu al procedurii, considerind comanda ca determinind executia unui program.

Pentru ca o cautare a unei proceduri sa se faca numai intr-un anumit fisier, acesta se va include in clauza IN a comenzii DO : IN <fisier>.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1107
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