|
Lucrarea
10
Comenzi speciale. Depanarea
programelor dBase.
1. Comenzi referitoare la organizarea datelor
în tabelelor
Exemplu:
Se va crea un fisier lucrari.dbf continând
câmpurile codm, nume,
ore_munca, valoare.
Se va crea de asemenea un index icodm
dupa câmpul codm.
USE lucrari INDEX icodm
TOTAL ON codm TO stPlata FIELDS codm, nume, ore_munca, valoare
USE stPlata
LIST
USE
|
Exemplu:
Se vor crea tabelele STOC.DBF cu câmpurile
codm(cod material), stoc
si FIE.DBF cu câmpurile codm,
cantitate, data.
Ambele tabele se vor indexa dupa cod material
rezultând fisierele index iSCodm
si iIECodm.
SELECT 1
USE stoc INDEX iSCodm
USE fie IN 2 INDEX iIECodm
UPDATE ON codm FROM fie REPLACE stoc WITH stoc+fie->cantitate
LIST
CLOSE DATABASES
RETURN
|
Exemplu:
Utilizarea comenzii JOIN:
SELECT 1
USE stud
USE masini INDEX iCods ALIAS mas
JOIN WITH mas TO parcauto FOR cods=mas->cods;
FIELDS cods, nume, mas->nrm, mas->tip
USE parcauto
LIST
CLOSE DATABASES
|
2. Depanarea programelor
Tastele pentru comenzi de depanare:
- F4 - GO
TO CURSOR executa continuu toate comenzile între punctul
curent de executie si punctul unde se gaseste cursorul.
- F7 - TRACE
INTO executa comanda de pe linia curenta. Se intra în codul
procedurilor si functiilor.
- F8 - STEP
OVER executa comanda de pe linia curenta. Sare peste apelurile
de proceduri sau functii (executa codul lor într-un singur pas
si revine în programul apelant).
- F9 - RUN
executa continuu restul codului pâna la sfârsit sau pâna
întâlneste un punct de întrerupere.
- CTRL+W - adauga o expresie pentru
vizualizare (în fereastra WATCH).
3. Probleme propuse
P1. Rulati exemplele prezentate în
acest capitol.
P2. Creati
o rutina care sa actualizeze tabela de stocuri din exemplul prezentat
la comanda UPDATE prin comenzi ciclice. Ea
va trebui în plus sa marcheze pentru stergere înregistrarile
cu stoc 0 si sa creeze câte o înregistrare într-o tabela
cu stocuri eronate pentru fiecare înregistrare cu stoc negativ.
Toate aceste operatii se vor face în aceiasi parcurgere care executa
actualizarea (se va face o singura trecere prin tabela prioncipala).
P3. Depanati
un program .PRG si un formular .WFM
din cele create în capitolele anterioare. Comparati fluxul instructiunilor
în cele doua cazuri.
©
s.l. dr. ing. Dan Pescaru '2004
|