Scrigroup - Documente si articole

     

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


Comenzi privind introducerea si afisarea pe ecran

calculatoare



+ Font mai mare | - Font mai mic



COMENZI PRIVIND INTRODUCEREA SI AFISAREA PE ECRAN


O afisare simpla pe ecran se face prin instructiunile:

? ?? expr_1,expr_2



Un singur ? are ca efect trecerea la o linie noua inaintea unei afisari.Daca nu se specifica nici o expresie, va fi afisata o linie goala.Virgula care separa expr_1,expr_2, are ca efect separarea printr-un spatiu a rezultatelor afisate.

Doua ?? au ca efect afisarea pe aceeasi linie, in pozitia curenta de pe ecran.

In cazul folosirii instructiunii de mai sus, la umplerea cu informatie,ecranul este defilat.

Pentru a permite un control eficient al afisarii se utilizeaza instructiunea:

@ lin,col SAY expr PICTURE sablon FUNCTION cod


Se va evalua expresia expr si rezultatul se va afisa in linia si coloana indicate pe ecran (daca este activ SET DEVICE TO SCREEN) sau la imprimanta (daca este activ SET DEVICE TO PRINTER).

Prin aceasta instructiune ecranul poate fi gestionat dinamic, prin cresterea numarului de linie pentru afisare (lin=lin+1).Deasemenea, afisarea informatiilor pe ecran se poate face in orice ordine, deoarece ecranul este considerat ca fiind “adresabil”, in sensul ca fiecare caracter are coordonatele linie si coloana bine stabilite.Gestiunea dinamica a ecranului este favorizata de functiile sistemului COL() si ROW() care returneaza coordonatele pozitiei curente a cursorului pe ecran.


Exemplu:

@ 10,20 say “Acesta este un text”

@ row ( ) +1,0 say “Text pe linia urmatoare”

@ row ( ) ,col ( ) +10 “scriu pe aceeasi linie”


In forma @ lin , col SAY expr, instructiunea permite numai afisarea sirurilor de caractere.Celelalte tipuri de date (numerice,logice,date calendaristice), trebuie trasformate inainte de afisare in siruri de caractere.

La tiparire poate fi utilizat un sablon sau o functie de conversie sau ambele. Un sablon poate contine si coduri ale functiilor de conversie caz in care incepe cu @ dar o functie de conversie nu poate contine decat codurile proprii.

Sablonul specificat dupa clauza PICTURE poate contine orice caracter ; numai cele care vor fi prezentate in continuare au un rol activ in afisarea sau in preluarea datelor .Daca in sablon sunt incluse si alte caractere, acestea se afiseaza.


Cod in sablonSemnificatia

APermite doar litere.

L Permite numai valori logice.

N Permite numai litere si cifre.

X Permite orice caracter.

Y Permite doar valori logice Y,y,N,n.

9             Permite doar cifre si semn algebric.

# Permite cifre ,semn si spatiu.

Converteste literele mici in litere mari.

$ Afiseaza simbolul monetar stabilit prin SET.

0                    Zerourile de la inceputul numerelor se inlocuiesc cu *.

punct) Stabileste pozitia punctului zecimal.

, (virgula) Stabileste reprezentarea pe grupe a numerelor.


Codurile functiilor de conversie sunt prezentate in tabelul urmator:


Codul functiei Semnificatie

A Admite numai caractere alfabetice.

B Aliniazala dreapta numerele afisate.

C Scrie CR(CREDIT) dupa un numar pozitiv.

D Utilizeaza formatul american pentru o data.

E Utilizeaza formatul BRITISH pentru o data

ICentreza un text.

JAliniaza la stanga un text.

L Transforma spatiile din fata unui numar in zerouri.

Sn Limiteaza lungimea de afisare la n caractere;

Se permite astfel defilarea pe orizontala in interiorul campului.

T Elimina spatiie nesemnificative.

X Scrie DB(DEBIT) dupa numerele negative.

Z O valoare 0 este tiparita prin spatii.

( Numerele negative se scriu intre paranteze.

! Converteste literele mici in litere mari.

^ Afiseaza numerele cu notatia stiintifica.

$ Afiseaza numerele in format monetar.


Exemplu:

@ 10,10 say “Hello!” PICT “@!”

@ 12,10 say 1234. 25 FUNCTION “$”

@ 14,10 say 1235. 25

PICT “9999999.99” FUNCTION “$”


CITIREA DATELOR DE PE ECRAN


Programatorul poate sa introduca date cu ajutorul instructiunilor de afisare concatenate cu instructiuni de citire.Citirea datelor se face de la tastatura , (prin tastarea lor); ele apar in ecou pe ecran si sunt transferate unor variabile de memorie definite corespunzator de utilizator.

Sintaxa instructiunii de initiere a procesului de citire de la tastatura este:

@ lin,col SAY “ text” GET variabila


Efectul instructiunii este afisarea pe ecran a textului dintre ghilimele pe linia lin

Si in coloana col si initierea procesului de citire a variabilei variabila mentionata dupa GET.In program pot fi mai multe asemenea instructiuni , succesuve sau nu.Citirea se realizeaza de fapt numai la intalnirea instructiunii READ care are ca efect citirea tuturor varibilelor specificate prin toate optiunile GET anterioare ei . Utilizatorul va trebui sa tasteze valori pentru aceste variabile.Textul dintre ghilimele are rol explicativ, pentru ca utilizatorul sa cunoasca in orice moment ce fel de date se introduc .


Exemplu:

CLEAR

SET TALK OFF

@ 1,1 to 23,79 DOUBLE

@ 2,3 say “B.B. Computer”

@ 2,50 say padl (“Curs FAP1, 29)

@ 5,1 say padc (“TEST MODUL 4 – FOXPRO”,77)

@ 7,5 to 20,75

*identificare cursant

nume=space (15)

prenume=space(20)

@ 10,8 say “ Nume :” get nume

@ 11,8 say “Prenume:” get prenume

read


In exemplul de mai sus, se initializeaza variabilele de memorie cu spatii, apoi se face initializarea citirii lor folosind instructiunea GET si in final se face citirea efectiva prin instructiunea READ.

Instructiunea de citire poate sa impuna formatul variabilei,limitele in care trebuie sa fie cuprinsa variabila precum si alte conditii de validare a datelor introduse.O forma mai generala a instructiunii GET este:


@ lin,col [SAY expr_1 [PICTURE sablon_1][FUNCTION cod_1]]

GET variabila [PICTURE sablon_2 FUNCTION cod_2]

[DEFAULT expr_2][MESSAGE expr_car1]

[RANGE expr_3,expr_4]

[VALID expr_log1[ERROR expr_car2]][WHEN expr_log2]

[COLOR SCHEME expr_num COLOR lista culori]


Daca se utilizeaza GET cu SAY in fata ,se va introduce automat un spatiu intre expresia tiparita prin SAY si pozitia din care incepe GET.

Clauzele PICTURE si FUNCTION au aceeasi semnificatie cu cea prezentata pentru SAY.


Clauza Semnificatia

DEFAULT expr_2 Daca variabila specificata dupa GET, nu exista, ea va fi creata si initializata cu valoarea specificata prin expr_2.DEFAULT nu are efect asupra campurilor dintr-un fisier.Daca nu exista clauza DEFAULT si variabila specificata dupa GET nu exista, va apare o alerta cu mesajul “Variable <variabila> not found”.Daca DEFAULT apare dar variabila specificata dupa GET exista, DEFAULT este ignorat.

MESSAGE expr_car1Are ca efect afisarea mesajului expr_car1 pe ultima linie a ecranului, atunci cand cursorul este pozitionat pe GET-ul respectiv.

RANGE

Expr_3,expr_4Poate fi utilizat cu variabile de tip caracter, numeric sau data pentru a specifica un domaniu de valori permise.Daca valorile introduse nu se incadreaza in domeniul precizat,va apare un mesajde eroare care va indica domeniul permis.verificarea domeniului se face doar in cazul modificarii valorii variabilei precizate prin GET; daca ea ramane neschimbata(se tasteaza ENTER),clauza RANGE nu are efect.

WHEN expr_log2 Permite sau nu accesul la GET in functie de rezultatul evaluarii expresiei logice expr_log2.Daca expresia returneaza (.T.), este permis accesul la GET; in caz contrar cursorul se deplaseaza pe GET-ul urmator.

VALID expr_log1Permite validarea intrarii .Expresia logica expr_log1 este evaluata la fiecare iesire dintr-un GET .Daca dupa evaluare expresia logica returneaza (.T.) , valoarea introdusa este considerata corecta si se trece la citirea unei noi valori.In caz contrar, valoarea introdusa este considerata incorecta , va apare un mesaj care va cere sa introduceti o alta valoare dupa ce tastati un SPATIU (sa dispara mesajul de eroare), si nu se avanseaza la o alta citire decat dupa introducerea unei valori corecte sau tastand ESC .

ERROR expr_car2 Permite specificarea de catre utilizator a mesajului de eroare care se va afisa atunci cand conditia specificata dupa clauza VALID este falsa.

COLOR SCHEME

Expr_num COLOR

Lista_culori Daca nu se include clauza COLOR , culorile folosite de @ GET sunt determinate de schema de culori pentru fereastra principala FOXPRO care este ecranul.

Se pot specifica explicit culorile fie precizand numarul unei scheme de culoare prin clauza COLOR SCHEME fie indicand un set de perechi de culori prin clauza COLOR.


In tabelul urmator sunt prezentate perechile de culori folosite de @ GET.


Perechea de culori Zona afectata


1                    zona de afisare SAY

2                    zona de editare

5mesajul din clauza MESSAGE

6zona de editare a GET-ului selectat


Exemplu:

Virsta=0

An_nastere=0

Rasp=.F.

@ 5,5 say “Introduceti virsta ” get virsta;

pict “999” range 0,120

@ 6,5 say “Anul nasterii:” get an_nastere;

pict “9999” valid an_nastere<=year(date ( ) )

@ 7,5 say “Raspunsurile sunt corecte? (Y/N) “;

get rasp pict “Y”

read


Instructiunea READ ,activeaza obiecte create prin @ GET.

Cand READ este activa ,puteti tasta ENTER,TAB sau sagetile sus-jos pentru a trece de la un obiect la altul Mutarea de la un obiect la altul se face in ordinea in care acestea sunt plasate in program.Cand lucrati cu mouse-ul,

puteti selecta un obiect printr-un click pe mouse dupa ce v-ati pozitionat pe obiectul dorit.

Introducerea textului intr-un obiect GET ,respecta regulile de editare a textelor cunoscute.Iesirea dintr-un READ se face in mai multe feluri:

1.      Deplasand cursorul in fata primului GET ,

2.      Deplasand cursorul dupa ultimul GET ,

3.      Tastand ESC ,

4.      Tastand CTRL+W.


Pentru a anula initierea proceselor de citire de variabile ,proces lansat prin secvente de GET-uri ,programatorul poate folosi instructiunea CLEAR GETS.Acesta are ca efect invalidarea tuturor secventelor @ GET ,anterioare ei .Pot fi initiate in continuare noi procese de citire de variabile.


Exemplu:

Program pentru introducerea datelor pprin dialog cu utilizatorul intr-o baza de date MARFURI ,.cu structura:

COD_MARFA Numeric11

DEN_MARFA Character 30

UMCharacter 3

PRETNumeric11 2

INFO Character 40


Imaginea ecranului pentru introducerea de date este cea din figura urmatoare:


Program ADAMARFA. PRG -- adauga marfuri in catalog

set talk of

set color of scheme 1 to w+/b,n/bg

@ 0,0 clear to 24,79

@ 0,0 to 3,79 double

@ 1,2 say “Curs FOXPRO”

@ 2,1 say padc(“Exemplu – Program adăugare ; articole intr-o BD”,78)

USE mărfuri

adaug=.t.

do while adaug

set color of scheme 1 to n/bg,w+/r

@ 4,0 clear to 20,79

@ 4,0 to 20,79

@ 5,2 say “Adăugare mărfuri”

mcodm=0

mdenm=space(30)

minfo=space(40)

mun=space(3)

mpret=0.00

set color of scheme 1 to w+/b,n/bg

@ 6,11 clear to 13,69

@ 6,11 to 13,69

@ 6,25 say “Informatii despre marfă”

Comenzi care folosesc operatori relationali


Copy to – unde se copiaza din tabela activa

Fields < ce cimpuri > for < conditie de copiere>

While<pana cand>Tipe>extensia unde copiez>

OBS.1:baza de date din care se ia informatiile trebuie deschise.Regasirea de date in mai multe tabele si concentrarea lor intr-o noua tabela se face asa:

SELECT*/<campuri>FROM<tabelele de unde se iau toate campurile sau doar cele numite>[INTO<noua tabela unde se pun >TO FILE<nume fisier unde se pun >/Toprinter?TO screen]

WHERE<filtrul de selectie al inregistrarilor>[UNION<o noua comanda selectata pentru ao combina cu cea curenta>] [ORDER BY < ordonarea si selectarea dupa acest criteriu>].

Pentru legarea a doua tabele acestea trebuie deschise in doua zone diferite si indexate dupa un camp comun cu comanda:

JOIN WITH< tabela din alta zona , nu cea curenta>TO< tabela unde se pun campurile din cele doua tabele conectate>[FOR <campul comun din cea curenta = tabela_din_cealalalta _zona;campul comun>] [FIELDS< campurile care se copiaza , iar cele care nu se afla in zona curenta se specifica si denumirea bazei de date>]

Sortarea unui tabel se face asa:

SORT TO<numele_tabelei_care va fi deja rezultatul sortarii>ON<campul de sortare >[/ A] [_D] [C] [ASCENDING] [DESCENDING] [FOR<conditie>] [WHILE<pana cand>] FIELDS<campurile care se pun la tabela ce va fi rezultatul sortarii>]


Obs.2:tabela sortata va trebui la randul ei deschisa si listata.

Totalizarea unui camp (indexat pentru a fi unic ),adica insumarea valorilor din camp se face asa:

TOTAL TO<numele tabelei unde se pune totalul>ON<campul indexat pentru ca valorile sa fie unice>[FIELDS<campurile din tabela initiala care se totalizeaza>][FOR<conditii de totalizare>][WHILE<pana cand>].





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


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