Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




FEREASTRA DE COMANDA

Informatica


Observatie: Dupa fiecare aplicatie ce presupune utilizarea de tabele scriem instructiunea CLOSE ALL (închide toate tabelele, etc, deschise conform enuntului) pentru a vedea independent fiecare aplicatie în parte.

Sa se seteze calea implicita de creare a tabelelor si, ulterior, a programelor folder-ul dvs. (Ex: \\servercig\student\1xx\Georgescu)



Raspuns:

set default to "\\servercig\student\1xx\Georgescu"

close all

  1. Sa se creeze în mod direct, cu ajutorul ferestrei de comanda urmatoarele tabele:

a.      PRODUSE (CodProd N(3), DenProd C(20), Um C(4), Pu N(7,2), CantStoc N(7), CodGest N(3))

b.      GESTIUNE (CodGest N(3), DenGest C(20))

Raspuns:

a. create table Produse(CodProd N(3),DenProd C(20),Um C(4),Pu N(7,2),CantStoc N(7), CodGest N(3))

* s-a creat tabela Produse. Pentru a vedea ca ea exista fizic trebuie sa verificati folder-ul DVS.

b. create table Gestiune (CodGest N(3), DenGest C(20))

* s-a creat tabela Gestiune. Pentru a vedea ca ea exista fizic trebuie sa verificati folder-ul DVS.

close all

Sa se vizualizeze pe ecran structura tabelei PRODUSE pagina cu pagina.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

display structure

* vizualizati pe ecran structura tabelei PRODUSE

close all

OBS. Atunci când se lucreaza cu o tabela aceasta trebuie deschisa în prealabil cu ajutorul comenzii USE urmat de numele tabelei (Ex: USE PRODUSE).

Sa se modifice structura tabelei PRODUSE la câmpul PU, de la N(7,2) la N(7,4), sa se vizualizeze pe ecran modificarea facuta si sa se refaca acest câmp la dimensiunea N(7,2).

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

modify structure

* se efectueaza modificarea la câmpul PU pe coloana Decimale punând în loc de 2 cifra 4. OK. Confirmati cu Yes.

display structure

* vizualizati pe ecran structura 11311u202l tabelei Produse, în mod expres, numarul de zecimale al câmpului PU. Trebuie sa fie de 4.

modify structure

* se efectueaza modificarea la câmpul PU pe coloana Decimale punând în loc de 4 cifra 2. OK. Confirmati cu Yes.

close all

Sa se insereze un nou câmp în tabela PRODUSE cu numele CodFz N(5) si sa se vizualizeze pe ecran modificarea facuta.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

modify structure

* se adauga la sfârsit, pe coloana NAME - CodFz, pe coloana TYPE - Numeric, iar pe coloana WIDTH - 5. OK. Confirmati cu Yes.

display structure

* vizualizati pe ecran structura tabelei Produse, în mod expres, ultimul câmp. Trebuie sa fie si câmpul CodFz.

close all

Sa se stearga din tabela PRODUSE câmpul introdus anterior (CodFz).

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

modify structure

* se pozitioneaza cursorul pe câmpul CodFz. Se actioneaza butonul DELETE. Ok. Confirmati cu Yes.

close all

Sa se adauge 5 înregistrari în tabela Produse, iar apoi alte 5 în tabela Gestiune.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

append

* se deschide o fereasta ce are toate câmpurile din tabela PRODUSE dispuse pe verticala cu valori vide. Dati valori reale tuturor acestor câmpuri. La tastarea valorii pe câmpul CodProd va apare o noua înregistrare vida. Completati 5 astfel de înregistrari. Salvarea acestora cu închiderea ferestrei se face cu CRTL+W. Asteptati aplicatia 10 pentru vizualizarea înregistrarilor adaugate.

use Gestiune

* se deschide tabela GESTIUNE. Observati pe bara de stare acest lucru.

append

* se deschide o fereasta ce are toate câmpurile din tabela GESTIUNE dispuse pe verticala cu valori vide. Dati valori reale tuturor acestor câmpuri. La tastarea valorii pe câmpul CodProd va apare o noua înregistrare vida. Completati 5 astfel de înregistrari. Salvarea acestora cu închiderea ferestrei se face cu CRTL+W. Asteptati aplicatia 10 pentru vizualizarea înregistrarilor adaugate.

close all

Sa se adauge o înregistrare vida la sfârsitul tabelei Produse.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

append blank

* se adauga automat o înregistrare cu valori vide la sfârsitul tabelei active. Deci, o sa avem 6 înregistrari în tabela (la cele 5 introduse de dvs se adauga aceasta înregistrare vida). Verificati pe bara de stare.

close all

Sa se încarce înregistrarea vida cu urmatoarele date:

CodProd = 6

DenProd = "Diverse"

Um = "Buc"

Pu = 5000.50

CantStoc = 50

CodGest = 6

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru. Tabela care are înregistrarea vida este tabela PRODUSE. La deschiderea tabelei cursorul se afla pozitionat pe prima înregistrare din cadrul tabelei.

go bottom

* se deplaseaza cursorul pe ultima înregistrare pentru ca acolo este înregistrarea vida adaugata automat la aplicatia 8.

replace CodProd with 6

* se înlocuieste valoarea vida de pe câmpul CodProd cu valoarea 6

replace DenProd with "Diverse"

* se înlocuieste valoarea vida de pe câmpul DenProd cu valoarea " Diverse"

replace Um with "Buc"

* se înlocuieste valoarea vida de pe câmpul Um cu valoarea "Buc"

replace Pu with 5000.50, CantStoc with 50, CodGest with 6

* se înlocuieste valoarea vida de pe câmpul Pu cu valoarea 5000.00, valoarea vida de pe câmpul CantStoc cu valoarea 50, valoarea vida de pe câmpul CodGest cu valoarea 6.

close all

Sa se vizualizeze înregistrarile din tabelele PRODUSE si GESTIUNE fara a avea posibilitatea sa le modificam.

Raspuns:

use Produse

se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

browse nomodify

afiseaza înregistrarile din tabela utilizând o fereastra ce are dispuse câmpurile pe orizontala, iar valorile acestor câmpuri pe verticala (înregistrarile). Încercati sa modificati o valoare. Închideti fereastra cu CTRL+W.

use Gestiune

se deschide tabela GESTIUNE. Observati pe bara de stare acest lucru. Într-o singura zona de lucru (acum suntem în cea implicita, adica zona 1) nu se poate deschide decât o singura tabela, deschiderea alteia o închide automat pe cea precedenta. În cazul nostru se va închide automat tabela PRODUSE si va deveni activa tabela GESTIUNE.

browse nomodify

afiseaza înregistrarile din tabela utilizând o fereastra ce are dispuse câmpurile pe orizontala, iar valorile acestor câmpuri pe verticala (înregistrarile). Încercati sa modificati o valoare. Închideti fereastra cu CTRL+W.

close all

sau

use Produse

se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

display all

* se va afisa continutul tabelei active direct pe ecran, deci nu se pot face nici aici modificari

use Gestiune

se deschide tabela GESTIUNE. Observati pe bara de stare acest lucru.

display all

* se va afisa continutul tabelei active direct pe ecran, deci nu se pot face nici aici modificari

close all

Sa se modifice pretul unitar de la 5000.50 lei la 7.000 lei, pentru CodProd = 6 cu pozitionarea directa pe câmpul Pu pentru a efectua modificarea.



Raspuns:

use Produse

se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

replace Pu with 7000 for CodProd=6

înlocuieste toate valorile existente pe câmpul Pu cu valoarea 7000 daca au pe CodProd valoarea 6. Altfel spus, toate înregistrarile care au valoarea câmpului CodProd egala cu 6 vor avea pretul unitar (Pu) 7000.

close all

sau

use Produse

se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

browse for CodProd=6 freeze Pu

* se va deschide o fereastra de dialog ce va cuprinde pe orizontala toate câmpurile din tabela activa, iar pe verticala se vor afisa numai acele înregistrari care au valoarea câmpului CodProd egala cu 6. Cursorul va fi pozitionat direct pe câmpul Pu. Tastati valoarea 7000. Închideti fereastra cu CTRL+W.

close all

Sa se stearga logic din tabela PRODUSE înregistrarile care au pe câmpul CodProd valoarea 6 si sa se vizualizeze înregistrarile marcate logic pentru stergere. Sa se stearga fizic aceste înregistrari. Verificati daca sunt sterse definitiv (fizic).

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

delete for CodProd=6

* stergerea logica a înregistrarilor din tabela PRODUSE care au pe câmpul CodProd valoarea 6. La vizualizarea înregistrarilor din tabela acestea trebuie sa fie marcate cu un semn distinct în partea stânga.

browse

* vizualizarea înregistrarilor din tabela cu ajutorul unei ferestre ce are câmpurile dispuse pe orizontala, iar înregistrarile pe verticala. Verificati daca exista un semn distinctiv în partea stânga la înregistrarile ce au pe câmpul CodProd valoarea 6, astfel fiind marcate ca sterse logic. Închideti fereastra cu CTRL+W.

pack

* stergerea definitiva (fizica) din tabela a înregistarilor marcate logic.

browse

* vizualizarea înregistrarilor din tabela cu ajutorul unei ferestre ce are câmpurile dispuse pe orizontala, iar înregistrarile pe verticala. Verificati daca mai exista acele înregistrari sterse logic. Trebuie sa nu mai existe. Închideti fereastra cu CTRL+W.

close all

OBS. Nu se poate sterge fizic, cu ajutorul comenzii PACK, o înregistrare daca aceasta nu este marcata logic pentru stergere cu ajutorul comenzii DELETE.

Sa se steara logic toate înregistrarile care au Pu > 3000 si sa se verifice daca acestea au fost marcate logic pentru stergere.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

delete for Pu>3000

* stergerea logica a înregistrarilor din tabela PRODUSE care au pe câmpul Pu valori mai mari de 3000. La vizualizarea înregistrarilor din tabela, acestea trebuie sa fie marcate cu un semn distinct în partea stânga.

browse

* vizualizarea înregistrarilor din tabela cu ajutorul unei ferestre ce are câmpurile dispuse pe orizontala, iar înregistrarile pe verticala. Verificati daca exista un semn distinctiv în partea stânga la înregistrarile ce au pe câmpul Pu valori mai mari de 3000, astfel fiind marcate ca sterse logic. Închideti fereastra cu CTRL+W.

close all

Sa se renunte la stergerea logica pentru acele produse care au Pu >= 5000 si sa se verifice daca acestea au fost demarcate.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

recall for Pu>=5000

* renuntarea la stergerea logica pentru acele înregistrari din tabela PRODUSE care au pe câmpul Pu valori mai mari sau egale cu 5000. Astfel, toate înregistrarile marcate logic la aplicatia anterioara care au însa pe câmpul Pu valori mai mari sau egale cu 5000 vor fi demarcate (s-a renuntat la stergere logica), ramânând marcate numai cele care au pe câmpul Pu valori cuprinse între 3000 si 4999. 99. Explicati de ce.

browse

* vizualizarea înregistrarilor din tabela. Verificati daca mai exista un semn distinctiv în partea stânga la înregistrarile ce au pe câmpul Pu valoari mai mari sau egale cu 5000. Dar la cele care au Pu cuprins între 3000 si 4999.99 mai exista acel semn distinctiv în partea stânga?. Trebuie sa existe. Închideti fereastra cu CTRL+W.

close all

Sa se stearga logic urmatoarele 2 înregistrari de la înregistrarea curenta din tabela PRODUSE.

Raspuns:

use Produse

* se deschide tabela PRODUSE. La deschiderea tabelei cursorul este pozitionat pe prima înregistrare. Observati pe bara de stare acest lucru.

delete next 2

* stergerea logica a urmatoarelor doua înregistrari din tabela PRODUSE. La vizualizarea înregistrarilor din tabela, prima si a doua înregistrare trebuie sa fie marcate cu un semn distinct în partea stânga (stergere logica). Scrieti dvs. instructiunea de vizualizare a înregistrarilor si verificati daca sunt marcate acele înregistrari.

close all

Sa se stearga logic înregistrarea a patra din tabela PRODUSE.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Observati pe bara de stare acest lucru.

delete record 4

* stergerea logica a înregistrarii a patra din tabela PRODUSE. La vizualizarea înregistrarilor din tabela, aceasta înregistrare trebuie sa fie marcata cu un semn distinct în partea stânga (stergere logica). Scrieti dvs. instructiunea de vizualizare a înregistrarilor si verificati daca este într-adevar marcata.

close all

Sa se deplaseze cursorul pe înregistrarea a 3 din tabela PRODUSE. Sa se sara apoi peste 2 înregistrari.

Raspuns:

use Produse

* se deschide tabela PRODUSE. La deschiderea tabelei cursorul este pozitionat pe prima înregistrare. Observati pe bara de stare acest lucru.

goto 3

* deplasarea pe înregistrarea a treia din tabela. Verificati acest lucru pe bara de stare.

skip +2

* salt peste 2 înregistrari. Verificati bara de stare. Pe ce înregistrare este acum?

close all

Sa se deplaseze cursorul pe prima înregistrare, pe ultima înregistrare, pe penultima, pe înregistrarea a 3-a , iar apoi pe urmatoarea, în cadrul tabelei PRODUSE.

Raspuns:

use Produse

* se deschide tabela PRODUSE. La deschiderea tabelei cursorul este pozitionat pe prima înregistrare. Observati pe bara de stare acest lucru.

go top

* cu toate ca suntem pe prima înregistrare (tocmai s-a deschis tabela PRODUSE), haideti sa executam cerinta cu ajutorul unei comenzi. Deci, GO TOP permite deplasarea pe prima înregistrare în cadrul tabelei active. Verificati bara de stare.

go bottom

* deplasarea pe ultima înregistrare din tabela activa. Verificati bara de stare. Ce numar are înregistrare pe care este pozitionat cursorul acum?

skip -1

* salt înapoi cu o înregistrare. Fiind pe ultima, saltul inapoi ne-a pozitionat cursorul pe penultima înregistrare. Verificati bara de stare. Ce numar are înregistrare pe care este pozitionat cursorul acum?

go record 3

* deplasarea cursorului pe înregistrarea a treia din tabela. Verificati bara de stare.

skip 1

* salt înainte cu o înregistrare. Verificati bara de stare. Ce numar are înregistrare pe care este pozitionat cursorul acum?

close all

Sa se caute în tabela neindexata PRODUSE înregistrarile care au o cantitate stocata (CantStoc) mai mare decât 20 si sa se afiseze fiecare înregistrare pe ecran.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

locate for CantStoc>20

* localizarea primei înregistrari care are pe câmpul CantStoc o valoare mai mare de 20.

display

* afisarea pe ecran a acestei înregistrari. Verificati înregistrarea afisata pe ecran daca la CantStoc exista o valoare mai mare ca 20. Verificati bara de stare si precizati ce numar are înregistrarea afisata.

continue

* continua localizarea unei alte înregistrari care respecta conditia pusa (CantStoc > 20). Daca a localizat o alta înregistrare care respecta conditia pusa, atunci si aceasta trebuie sa o afisam pe ecran.

display

* afisarea pe ecran a acestei înregistrari. Verificati înregistrarea afisata pe ecran daca la CantStoc exista o valoare mai mare ca 20. Precizati ce numar are înregistrarea afisata.

continue

* continua localizarea unei alte înregistrari care respecta conditia pusa (CantStoc > 20). Daca a localizat o alta înregistrare care respecta conditia pusa, atunci si aceasta trebuie sa o afisam pe ecran. Se va da comanda CONTINUE pâna când va apare pe bara de stare mesajul END OF LOCATE SCOP (sfârsitul cautarii scopului - conditiei specificate - cu LOCATE)



close all

Sa se numere si sa se afiseze câte produse exista în tabela PRODUSE.

Raspuns

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

count all to variabila_memorie

* numara toate înregistrarile din tabela activa si pastreaza rezultatul numararii în variabila de memorie cu numele variabila_memorie

? variabila_memorie

* afiseaza pe ecran continutul variabilei de memorie variabila_memorie . Care este numarul de produse?

close all

Sa se numere si sa se afiseze câte produse exista cu o valoare mai mare de 12.000 u.m. în cadrul tabelei Produse.

Raspuns

use produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

count all to variabila_memorie for Pu*CantStoc>=12000

* numara toate înregistrarile din tabela activa care au Pu*CantStoc > = 12000 (care au valoarea > = 12000) si pastreaza rezultatul numararii în variabila de memorie cu numele variabila_memorie

? variabila_memorie

* afiseaza pe ecran continutul variabilei de memorie variabila_memorie . Care este numarul de produse?

close all

Sa se sortreze tabela PRODUSE dupa câmpul CodProd în ordine descrescatoare si sa se vizualizeze înregistrarile sortate.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

sort on CodProd /d to Sproduse

* se sorteaza tabela activa (PRODUSE) pe câmpul CodProd în ordine descrescatoare creând o noua tabela SPRODUSE în care sunt pastrare înregistrarile sortate. Altfel spus, tabela sortata are toate câmpurile (implicit) din tabela supusa sortarii (PRODUSE) si toate înregistrarile, dar sortate descrescator dupa câmpul CodProd. Pentru vizualizarea înregistrarilor sortate trebuie sa deschidem tabela în care acestea se afla, adica tabela SPRODUSE. Verificati folder-ul dvs. pentru a vedea ca s-a creat noua tabela SPRODUSE.

use Sproduse

* se deschide tabela SPRODUSE. Verificati pe bara de stare.

browse

* vizualizarea înregistrarilor din tabela. Verificati daca sunt sortate descrescator valorile de pe câmpul CodProd. Închideti fereastra cu CTRL+W.

close all

Sa se sorteze tabela Produse dupa codul de gestiune (câmpul CodGest), iar în cadrul acestuia dupa cantitatea stocata (câmpul CantStoc). Sa se vizualizeze înregistrarile sortate.

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

sort on CodGest, CantStoc to Sproduse_0

* se sorteaza tabela activa (PRODUSE) pe câmpul CodGest, iar în cadrul acestuia dupa CantStoc creând o noua tabela SPRODUSE_0 în care sunt pastrare înregistrarile sortate. Altfel spus, tabela sortata are toate câmpurile (implicit) din tabela supusa sortarii (PRODUSE) si toate înregistrarile, dar sortate dupa codul de gestiune (câmpul CodGest), iar în cadrul fiecarei gestiunii dupa CantS.toc. Pentru vizualizarea înregistrarilor sortate trebuie sa deschidem tabela în care acestea se afla, adica tabela SPRODUSE_0. Verificati folder-ul dvs. pentru a vedea ca s-a creat noua tabela SPRODUSE_0.

use Sproduse_0

* se deschide tabela SPRODUSE_0. Verificati pe bara de stare.

browse

* vizualizarea înregistrarilor din tabela. Verificati daca sunt sortate pe câmpul CodGest, iar în cadrul acestuia dupa CantStoc (implict este o sortare crescatoare). Închideti fereastra cu CTRL+W.

close all

Sa se sorteze tabela PRODUSE dupa câmpul CodProd în ordine crescatoare, retinându-se în tabela sortata numai câmpurile CodProd, DenProd, CantStoc si CodGest. Se vor sorta numai acele înregistrari care au cantitatea stocata mai mare decât 30. Sa se vizualizeze înregistrarile sortate fara a avea posibilitatea modificarii lor.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

sort on CodProd to Sproduse_1 for CantStoc>=30 fields CodProd,DenProd, CantStoc, CodGest

* se sorteaza tabela activa (PRODUSE) pe câmpul CodProd, implicit în ordine crescatoare creând o noua tabela SPRODUSE_1 în care sunt pastrare înregistrarile sortate, dar care respecta si conditia: CantStoc > = 30. Aceasta noua tabela are numai câmpurile CodProd, DenProd, CantStoc si CodGest. Altfel spus, tabela sortata are, de data aceasta, numai câmpurile CodProd, DenProd, CantStoc si CodGest si numai înregistrarile care au pe câmpul CantStoc valori mai mari sau egale cu 30. Pentru vizualizarea înregistrarilor sortate trebuie sa deschidem tabela în care acestea se afla, adica tabela SPRODUSE_1. Verificati folder-ul dvs. pentru a vedea ca s-a creat noua tabela SPRODUSE._1.

use Sproduse_1

* se deschide tabela SPRODUSE_1. Verificati pe bara de stare.

browse nomodify

* se afiseaza înregistrarile din tabela activa fara a avea posibilitatea modificarii lor. Verificati daca în aceasta tabela exista numai câmpurile CodProd, DenProd, CantStoc si CodGest, iar înregistrarile au pe câmpul CantStoc numai valori mai mari sau egale cu 30. Încercati sa tastati o valoare. Închideti fereastra cu CTRL+W.

close all

Sa se stearga definitiv (fizic) înregistrarile din tabela SPRODUSE_1 si sa se adauge în mod automat înregistrarile din tabela GESTIUNE aferente câmpului comun din cele doua tabele (CodGest). Sa se vizualizeze înregistrarile adaugate.

Raspuns:

use Sproduse_1

* se deschide tabela SPRODUSE_1. Verificati pe bara de stare.

delete all

* stergerea logica a tuturor înregistrarilor din tabela activa (Sproduse_1)

pack

* stergerea definitiva (fizica) a înregistrarilor sterse logic, adica vor fi sterse toate înregistrarile. Astfel, tabela Sproduse_1 nu mai are nici o înregistrare. Verificati acest lucru direct de pe bara de stare.

append from gestiune

* se adauga în tabela Sproduse_1 (cea activa) valorile din tabela Gestiune, numai pe câmpul comun (CodGest), restul câmpurilor având în continuare valori vide. Altfel spus, la verificare, o sa vedeti valori numai pe coloana CodGest, în restul câmpurilor, de-a lungul tuturor înregistrarilor, numai valori vide. Verificati înregistrarile din tabela Sproduse_1.

browse

* vizualizarea înregistrarilor din tabela activa (Sproduse_1). Verificati daca sunt valori numai pe câmpul CodGest, iar aceste valori sunt cele din tabela Gestiune de pe câmpul CodGest. Închideti fereastra cu CTRL+W.

close all

Observatie: Adaugarea de date dintr-o alta tabela se poate face si fara a sterge înregistrarile din tabela intiala.

Sa se indexeze tabela Produse dupa câmpul CodProd, sa se deschida tabela Produse cu indexul asociat si sa se vizualizeze înregistrarile indexate.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.

index on CodProd to IPRODUSE

* se indexeaza tabela activa (PRODUSE) pe câmpul CodProd creând o noua tabela cu numele IPRODUSE. Verificati folder-ul dvs pentru a vedea noua tabela IPRODUSE. Aceasta noua tabela (IPRODUSE) nu contine decât câmpul dupa care s-a facut indexarea, si anume CodProd. Indexarea este utila la localizarea mai rapida a înregistrarilor atunci când se face o cautare pe câmpul indexat. Astfel, pentru a avea acces la toate informatiile de pe o înregistrare (codul produsului, denumirea produsului, unitatea de masura, pretul unitar, cantitatea stocata si codul de gestiune) trebuie sa deschidem tabela initiala cu indexul asociat. Verificati folder-ul dvs. pentru a vedea ca s-a creat noua tabela IPRODUSE.

use PRODUSE index IPRODUSE

* se deschide tabela initiala cu indexul asociat.

display all

* afiseaza pe ecran toate înregistrarile din tabela PRODUSE ordonate în urma indexarii. Pentru a vedea diferenta dintre înregistrarile neindexate ale tabelei PRODUSE si înregistrarile indexate ale acesteia, deschideti tabela PRODUSE fara indexul asociat (use Produse) si vizualizati pe ecran toate înregistrarile, iar apoi deschideti tabela PRODUSE cu indexul asociat (use PRODUSE index IPRODUSE) si vizualizati iar pe ecran toate înregistrarile. Ce deosebiri apar ? Verificati si coloana RECORD de pe ecran. Ce noi deosebiri apar?

close all

Sa se indexeze tabela PRODUSE dupa câmpurile CodProd si DenProd într-o noua tabela IPRODUSE_1. Aceasta deoarece presupunem ca dorim localizarea mai rapida în tabela a doua produse cu acelasi cod si nume de produs. Sa se vizualizeze înregistrarile indexate.

Raspuns:

use Produse

* se deschide tabela PRODUSE. Verificati pe bara de stare.



index on str(CodProd,3)+DenProd to IPRODUSE_1

* se indexeaza tabela activa (PRODUSE) pe câmpul CodProd în combinatie cu DenProd creând o noua tabela cu numele IPRODUSE_1. Pentru a indexa o tabela dupa mai multe câmpuri trebuie ca acestea sa fie mentionate folosind semnul "+". Dar semnul "+" este folosit si pentru adunare, deci se impune convertirea datelor din aceste câmpuri (daca ele sunt de tip numeric) din numeric în caracter cu ajutorul functiei STR(câmp). Verificati folder-ul dvs pentru a vedea noua tabela IPRODUSE_1. În cazul nostru numai câmpul CodProd este de tip numeric.

use Produse index Iproduse_1

* se deschide tabela initiala cu indexul asociat

display all

* afiseaza pe ecran toate înregistrarile din tabela PRODUSE ordonate în urma indexarii

close all

Sa se compuna cele doua tabele (PRODUSE si GESTIUNE) pe baza câmpului comun (numai asa se poate) astfel încât noua tabela rezultata sa aiba urmatoarea structura:

PRODGEST (CodProd N(3), DenProd C(20), CodGest N(3), DenGest C(20))

Sa se vizualizeze înregistrarile din nou tabela.

Raspuns:

* pentru a compune doua tabele trebuie ca ambele sa fie deschise simultan. Pentru a îndeplinii aceasta conditie selectam doua zone de lucru, zona 1 si zona 2, si deschidem câte o tabela în fiecare din zone.

select 1

* se selecteaza zona 1 de lucru sau zona A.

use Produse

* se deschide tabela PRODUSE

select 2

* se selecteaza zona 2 de lucru sau zona B.

use Gestiune

* se deschide tabela GESTIUNE.

* Acum suntem în zona B. Deci trebuie sa precizam ca tabela deschiza în zona B (GESTIUNE) sa se compuna cu tabela deschisa în zona A (PRODUSE).

join with A to PRODGEST for CodGest=A.CodGest fields A.CodProd, A.DenProd, CodGest, DenGest

* compune cu zona A (sa nu uitam ca suntem în zona B) creând o noua tabela cu numele PRODGEST (asa se cere în enunt) pentru valorile câmpului CodGest din B (suntem deja în zona B si acesta este motivul pentru care nu am mai pus în fata câmpului si zona din care sa-l ia) egale cu valorile câmpului CodGest din A, retinând în noua tabela (PRODGEST) numai câmpurile CodProd din zona A, DenProd din zona A, CodGest din B si DenGest din B. Asadar tabela PRODGEST are câmpurile CodProd, DenProd, CodGest si DenGest, iar ca înregistrari numai cele care se regasesc pe câmpul comun CodGest, atât în tabela PRODUSE, cât si GESTIUNE. Verificati folder-ul dvs. pentru a vedea ca s-a creat noua tabela PRODGEST.

select 3

* se selecteaza o noua zona, zona 3 sau zona C, pentru a deschide noua tabela rezultata în urma compunerii. Se poate deschide aceasta tabela si în zona 1 sau 2, închizând automat tabela initial deschisa în una din aceste zone.

use PRODGEST

* se deschide tabela PRODGEST.

browse

* vizualizarea înregistrarilor din tabela activa, PRODGEST. Verificati înregistrarile pentru a observa ce date sunt aduse în urma compunerii în aceasta tabela. Structura tabelei PRODGEST este cea din enunt?

close all

Sa se introduca de la tastatura un nume oarecare la întrebarea " Care este numele dvs.? "

Raspuns:

Accept "Care este numele dvs.? " to vmnume

Sau

Vmnume=space(25)

* initializarea variabilei de memorie Vmnume de tip caracter. Aceasta variabila va pastra numele introdus de la tastatura. Se initializeaza cu 0 (zero) variabilele de tip numeric, cu SPACE(lungime) variabilele de tip caracter sau alfanumerice. Variabilele de memorie nu trebuie sa aiba în denumirea lor spatii (Gresit: vm nume=space(25); Corect: vmnume=space(25) sau vm_nume=space(25))

@ 5,10 say "Care este numele dvs.? " get Vmnume picture replicate("x",25)

* afiseaza pe ecran începând cu linia 5, coloana 10 textul: " Care este numele dvs? ", precizând, dupa GET, care este variabila de memorie ce va pastra datele introduse de la tastatura, si anume Vmnume. PICTURE defineste atât tipul caracterelor ce pot fi introduse în aceasta variabila, cât si numarul acestora. Se va folosii "X" daca dorim date de tip alfanumeric (cifre si litere), " A " daca dorim numai litere, " 9 " daca dorim date de tip numeric, etc. Alegerea tipului de data acceptat într-o variabila este stabilit înca de la initializare. Numarul de X-uri, A-uri sau 9-ari definesc numarul maxim de caractere ce pot fi introduse în variabila respectiva. În exemplul de fata lungimea variabilei de memorie Vmnume este de 25.

read

* citeste variabila de memorie Vmnume. De abia în urma citirii utilizatorul va putea tasta numele dorit. Acesta este memorat în variabila Vmnume. Vezi aplicatia 30 pentru vizualizarea continutului unei variabile.

clear

* sterge ecranul

Sa se afiseze continutul variabilei de memorie Vmnume în urmatorul format de afisare: "Numele tastat de dvs. este: " .

Raspuns:

? " Numele tastat de dvs. este: " + vmnume

* cu " ? " vom afisa textul "Numele tastat de dvs. este: " la care adaugam cu semnul " + " continutul variabilei Vmnume. Aceasta variabila este initializata de tip caracter (vezi aplicatia 29) , deci nu trebuie sa mai convertim acest continut al variabilei în caracter pentru a-l adauga la textul "Numele tastat de dvs. este: ". Trebuie evitata situatia în care la un text oarecare se adauga cu semnul " + " un numar. Este exact ca si cum la textul " Este mai bine acum " adaug, cu semnul " + " numarul 5. Dar semnul " + " este folosit si pentru adunare, deci eroare. Asadar, se impune convertirea numarului 5, în cazul nostru, din numeric în caracter cu ajutorul functiei STR(variabila_de_memorie sau direct numarul) pentru ca semnul " + " sa nu fie interpretat ca adunare, ci ca adaugare.

clear

* sterge ecranul

Sa se introduca de la tastatura: "Care este numarul de telefon al dvs.?".

Raspuns:

Vmnrtelefon=0

* initializarea variabilei de memorie Vmnrtelefon de tip numeric. Aceasta variabila va pastra numarul de telefon introdus de la tastatura. S-a initializat cu 0 (zero) pentru ca numarul de telefon este de tip numeric.

@ 5,10 say "Care este numarul de telefon al dvs.? " get vmnrtelefon picture "9999999999"

* afiseaza pe ecran începând cu linia 5, coloana 10 textul: "Care este numarul de telefon al dvs.? ", precizând, dupa GET, care este variabila de memorie ce va pastra datele introduse de la tastatura, si anume Vmnrtelefon. În exemplul de fata variabila de memorie Vmnrtelefon este declarata de tip numeric (conform initializarii facute), iar lungimea este de 10 (numarul de 9-ari de la Picture).

read

* citeste variabila de memorie Vmnrtelefon. De abia în urma citirii utilizatorul va putea tasta numarul de telefon dorit. Acesta este memorat în variabila Vmnrtelefon. Vezi aplicatia 32 pentru vizualizarea continutului unei variabile.

clear

* sterge ecranul

Sa se afiseze continutul variabilei de memorie Vmnrtelefon în urmatorul format de afisare: "Numarul de telefon al dvs este: ".

Raspuns:

? "Numarul de telefon al dvs este: " +str(vmnrtelefon,10)

* cu " ? " vom afisa textul "Numarul de telefon al dvs. este: " la care adaugam cu semnul " + " continutul variabilei Vmnrtelefon. Aceasta variabila este initializata de tip numeric (vezi aplicatia 31), deci trebuie sa convertim acest continut al variabilei din numeric în caracter pentru a-l putea adauga la textul "Numarul de telefon al dvs. este: " cu semnul "+". Deci se impune utilizarea functiei STR(variabila_de_memorie), astfel: STR(vmnrtelefon,10) . 10 este numarul maxim de caractere ce poate fi scris în variabila conform aplicatiei 31.

Sa se afiseze formatul de introducere al datei calendaristice.

Raspuns : ? Date()

Sa se afiseze pe ecran a doua înregistrare din cadrul tabelei PRODUSE.

Raspuns:

use Produse

goto 2

? str(CodProd,3)+" " +DenProd+" "+Um+" "+str(Pu,7,4) + " "+str(CantStoc,7)+" "+str(CodGest,3)

sau

use Produse

goto 2

? " COD DENUMIRE UNITATE PRET CANTITATE COD "

? " PRODUS PRODUS DE MASURA UNITAR STOC GESTIUNE "

? str(CodProd,3)+" " +DenProd+" "+Um+" "+str(Pu,7,4) + " "+str(CantStoc,7)+" "+str(CodGest,3)

sau

use Produse

goto 2

@ 5,10 say "Codul produsului este : " + str(CodProd,3)

@ 6,10 say "Denumirea produsului este: "+DenProd

@ 7,10 say "Unitatea de masura este : "+Um

@ 8,10 say "Pretul unitar este : "+str(Pu,7,4)

@ 9,10 say " Cantitatea stocata este :" +str(CantStoc,7)

@ 10, 10 say "Codul gestiunii este : "+str(CodGest,3)




Document Info


Accesari: 1801
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )