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