Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Crearea programelor FoxPro

Crearea programelor FoxPro

Fisierele de comenzi (programele sursa) pot fi create si/sau modificate in doua moduri:

Printr-o comanda MODIFY COMMAND introdusa in fereastra de comenzi;

Prin deschiderea meniului File si selectarea optiunii New. In caseta de de dialog New se selecteaza optiunea Program si apoi se executa clic pe butonul New.

Crearea unui program folosind comanda MODIFY COMMAND

Pentru a crea un fisier de comenzi (program sursa) in fereastra Command se tasteaza o comanda MODIFY COMMAND. Efectul acestei comenzi este lansarea in executie a editorului de texte propriu sistemului FoxPro, care va permite sa creati un nou fisier de coemnzi sau sa modificati un fisier de coemnzi existent. Sintaxa comenzi este urmatoarea:



MODIFY COMMAND [<file> | ?]

[NOEDIT

[NOWAIT

[RANGE <expN1>, <expN2>]

[[WINDOW <window name1>]

[IN WINDOW] <window name2> | IN SCREEN

[AS <expN3>]

[SAME

[SAVE

unde:

[<fisier> | ?]

Daca in <fisier> nu s-a specificat extensia dupa numele de fisier, se presupune procesarea unui fisier cu extensie .PRG. Comanda MODIFY COMMAND permite folosirea unu sablon de fisier care sa contina caracterele * si ? pentru a indica un grup de fisiere, caz in care se va deschide cate o fereastra de editare pentru fiecare program al carui nume de fisier corespunde sablonului precizat.

Daca se omite numele de fisier, atunci se deschide o fereastra de editare text pentru un fisier avand numele initial UNTITLED.PRG. Cand se inchide fereastra de editare puteti salva fisierul cu un nume diferit.

Daca includeti ? dupa comanda, se deschide dialogul Open, care va afisa o lista cu fiserele avand extensiile: .PRG (program), .MPR (program meniu), .SPR (program ecran) si .QPR (program interogare) din care sa-l selectati pe cel dorit. 

AS <expN3>

Permite translatarea autoamata a caracterelor accentuate dintr-un fisier program creat pe o alta platforma FoxPro. <expN3> reprezinta codul de pagina al platformei FoxPro pe care a fost creat fisierul repsectiv, atunci cand folositi aceasta clauza la deschiderea unui fisier program existent. Daca clauza este folosita la crearea unui nou program, atunci <expN3> va indica codul de pagina in care va fi salvat fisierul. Salvarea fisierului cu un alt cod de pagina se poate realiza si folosind dialogul Save As (File/Save As.).

Nota Daca un program cu un alt cod de pagina are caractere ce nu pot fi reprezentate in codul de pagina curent, ele sunt convertite la cele mai apropiate caractere ale codului de pagina curent.

NOEDIT

Includerea acestei clauze asigura vizualizarea si/sau copierea programului, dar nu permite modificarea lui..

NOWAIT

De regula, aceasta clauza se utilizeaza atunci cand comanda MODIFY COMMAND este inclusa intr-un fisier program si determina continuarea executiei programului dupa ce fereastra de editare a fost deschisa. In mod normal executia programului este intrerupta dupa deschiderea ferestrei de editare texte si este reluata la inchiderea ferestrei de editare.

RANGE <expN1>, <expN2>

Aceasta clauza determina deshiderea intr-o fereastra de editare a programului indicat avand selectate un domeniu de caractere. Selectarea incepe din pozitia <expN1> (fara a include) si se termina in pozitia <expN2>. Daca <expN1> este egal cu <expN2>, nu este selectat nici un caracter, dar cursorul este plasat in pozitia <expN1>.

WINDOW <fereastra1>

Daca se include aceasta clauza, fereastra de editare va avea caracteristicile ferstrei specificate prin <fereastra1>. Nu este necesar ca fereastra specificata prin <fereastra1> sa fie activa sau vizibila ci doar sa fie definita.



IN [WINDOW] <fereastra2>

Includerea acestei clauze determina ca fereastra de editare sa se deschida in interiorul unei ferestre parinte <fereastra2> (trebuie sa fie definita, activata si vizibila) fara insa a prelua caracteristicile acesteia. O fereastra de editare activata in interiorul unei ferestre parinte nu poate fi mutata in afara acesteia, ea se va muta impreuna cu fereastra parinte.

IN SCREEN

Includerea clauzei determina plasarea explicita a ferestrei de editare in ferastra principala a sistemului FoxPro. Este o clauza implicita.

SAME

Clauza este specifica mediului FoxPro pentru Windows, fiind ignorata de mediul FoxPro pentru MS-DOS, si asigura interzicerea activarii ferestrei de editare. Daca fereastra de editare este ascunsa, atunci ea devine vizibila dar nu poate activata.

SAVE

Clauza are efect numai intr-un fisier de comenzi, fiind ignorata daca comanda este lansata din fereastra Command. Includerea acestei clauze determina pastrarea unei imagini a ferestrei de editare in fereastra principala a mediului FoxPro. In mod normal. la inchidere ferestrele de editare sunt eliminate din fereastra principala.

Crearea unui program folosind optiunea New (din meniul File)

Pentru a crea un fisier de comenzi poate fi creat si folosind optiunea New din meniul File se executa urmatoarele operatii:

1.     Se deschide meniul File si se selecteaza optiunea New.

2.     In caseta de dialog New se selecteaza butonul radio Program si apoi se executa clic pe butonul New.

3.     Se introduc comenzile dorite.

4.     Se salveaza fisierul de comenzi. Pentru aceasta se deschide meniul File si se selecteaza optiunea Save sau Save As.. Apare caseta de dialog Save As (vezi fig. 1) in care se vor executa urmatoarele operatii:

In caseta de text Save Document As: se tasteaza numele fisierului de comenzi.

In lista derulanta Drive: se selecteaza untitatea de disc in care se gaseste directorul unde se va salva fisierul.

Folosind lista Directory: se stabileste directorul in care se va salva.

Pentru ca fisierul sa fie convertit intr-un alt cod de pagina, se activeaza caseta de validare Change Code Page.

Se executa clic pe butonul Save. Daca caseta de validare Change Code Page a fost activata, atunci se va afisa dialogul Write As (vezi fig. 2) unde dupa ce din lista Destination Code Page: se alege codul de pagina dorit se va executa clic pe butonul OK.


Pentru a fi executate comenzile (instructiunile) continute intr-un program, FoxPro apeleaza la un compilatorul propriu si nu la un interpretor. Compilatorul transforma programul sursa in cod obiect. La fiecare lansare in executie a programului, sistemul executa codul obiect. Aceasta modalitate este mai rapida decat cea oferita de un interpretor (care converteste liniile programului sursa in cod masina, la fiecare lansare in executie). In urma compilarii se creaza un fisier cu acelasi nume dar avand extensia .FXP.



Lansarea in executie a unui program se efectueaza cu comanda DO. Un program sursa poate contine la randul sau comenzi DO, fiind permise cel mult 32 de asemenea includeri. Daca nu se specifica extensia fisierului in comanda DO, sistemul FoxPro cauta si executa fisiere in urmatoarea ordine: versiuni executable (.EXE), aplicatii (.APP), versiuni compilate (.FXP) si programe sursa (.PRG).

Orice modificare efectuata cu editorul de texte FoxPro asupra unui program deja compilat, determina recompilarea lui, odata cu lansarea in executie.

Fata de programele scrise in alte limbaje de programare, un program scris in FoxPro este mult mai simplu si are urmatoarele caracteristici:

Nu are comenzi de inceput/sfarsit program;

Nu are caracter terminator de comanda;

Nu este structurat pe sectiuni, parti etc.;

Nu are o parte separata pentru instructiuni neexecutabile si alta pentru instructiuni executabile;

Pe o linie se scrie o singura comanda; o comanda se poate continua pe mai multe linii;

Permite modularizarea si structurarea totala.

Tipuri de comenzi si functii FoxPro

Comenzile, functiile si variabilele de memorie (ale sistemului FoxPro) ce se folosesc in programele FoxPro pot fi clasificate conform scopului actiunii lor in urmatoarele grupe:

1.     Comenzi si functii ce actioneaza asupra tipurilor de date - grupa contine: functii caracter (opereaza cu date de tip caracter); functii numerice (opereaza si/sau returneaza date numerice); functii pentru data si timp (genereaza si manipuleaza informatii de tip data calensaristica si timp); comenzi si functii pentru conversii de date (transforma datele dintr-un tip in altul).

2.     Comenzi si functii ce actioneaza asupra bazei de date - grupa cuprinde: comenzi si functii pentru manipularea campurilor din tabelele ce compun baza de date; comenzi si functii pentru manipularea tabelelor bazei de date (crearea, manipularea si monitorizarea tabelelor bazei de date); comenzi si functii pentru manipularea inregistrarilor (selectarea unor inregistrari sau pozitionarea pe anumite inregistrari); comenzi si functii pentru indexarea tabelelor; comenzi si functii pentru stabilirea sau eliminarea legaturilor dintre tabelele bazei de date.

3.     Comenzi si functii ce actioneaza asupra programului - grupa contine: comenzi si functii pentru depanare; comenzi si functii pentru lansarea, suspendarea si incheierea programelor; comenzi si functii pentru controlul fluxului programelor; functii pentru manipularea fisierelor; comenzi si functii pentru atribuirea valorilor variabilelor de memorie; comenzi si functii pentru lucru cu masive de memorie.

4.     Comenzi si functii pentru operatii de intrare/iesire - grupa cuprinde: comenzi si functii pentru formatarea si directionarea datelor din inregistrari sau variabile de memorie, pe ecran, imprimanta sau fisiere de iesire; comenzi si functii pentru imprimarea si afisarea datelor din inregistrari sau variabile de memorie, pe ecran, imprimanta sau fisiere de iesire; comenzi si functii pentru realizarea, deazactivarea si afisarea ferestrelor definite de utilizator; comenzi si functii pentru lucru cu tastatura si mouse-ul; comenzi si functii pentru crearea de rapoarte si etichete.

5.     Comenzi si functii pentru configurarea sistemului FoxPro - grupa contine: comenzi si functii pentru configurarea sistemului; comenzi si functii pentru evidenta si gestionarea fisierelor de pe disc.

6.     Comenzi si functii pentru lucru in retea - grupa contine comenzile necesare utilizarii simultane a fisierelor de catre mai multi utilizatori conectati intr-o retea de calculatoare.