CATEGORII DOCUMENTE |
STRUCTURI REPETITIVE
- permit repetarea pt. un numar finit de ori
|-> conditie --> falsa (iese din bucla)
| |
| adevarata
------ comenzi
DO WHILE <conditie>
EXIT
..
comenzi
..
ENDDO
De atatea ori se repeta comenzile cuprinse intre DO WHILE si ENDDO cat timp conditia este adevarata. In momentul cand conditia devine falsa programul continua cu prima comanda de dupa ENDDO.
Exemplu:
MODI COMM LISTA
CLEAR
USE REG_CAT
?'COD CURS'
??' NUME SI PRENUME'
MEDIA'
?REPL ('=',40)
DO WHILE NOT EOF()
?CODCURS
?? NUME AT 12
?? (N1+N2+N3+N4+N5+N6+N7)/7 PICT '99.99' AT 32
SKIP
ENDDO
WAIT WIND
CANCEL
CLAUZA LOOP SI EXIT
Clauza LOOP permite intoarcerea la prima comanda de dupa DO WHILE,iar cluza EXIT permite iesirea din ciclul DO WHILE ENDDO.
DO WHILE
ENDDO
EXIT
De obicei aceste doua clauze trebuie incluse intr-o structura alternativa IF sau DO CASE.
Exemplu:
CLEAR
USE REG_CAT
? 'LISTA CURSANTILOR CARE AU PROMOVAT'
? REPL ('=',40)
??'NUME' AT 15
??'___MEDIA' AT 30
? REPL ('_',40)
DO WHILE NOT EOF()
IF (N1+N2+N3+N4+N5+N6+N7)/7>=5
SKIP
ENDIF
?CODCURS
??NUME AT 15
??(N1+N2+N3+N4+N5+N6+N7)/7 PICT '99.99'
SKIP
IF CODCURS='AJUT'
EXIT
ENDIF
ENDDO
AFISAREA CONTINUTULUI TABELEI
DISPLAY - afiseaza fie in program fie interactiv continutul tabelei active
DISPLAY [<lista_campuri/expresie>][<domeniu>]
[FOR<conditie>][WHILE<conditie>]
[TO PRINTER/TO FILE<nume_fisier>]
unde:
USE PLATI
disp
RECORD# NRMAT CODCURS SERIE
1 332 ajut 1
Denumirea campurilor se poate schimba
SET HEADING OFF
va aparea:
DISP NRMAT CODCURS SERIE
RECORD#
1 332 ajut 1
<domeniu>
ALL - afiseaza toate inregistrarile
NEXT nr. - urmatoarele nr. inregistrari
REST - urmatoarele inregistrari incepand cu cea curenta pana la sfarsitul tabelului
RECORD nr. - numai inregistrarea cu nr.
FOR <conditie>
- afiseaza numai inregistrarile care satisfac conditia
WHILE <conditie>
- pentru conditie adevarata se afiseaza inregistrarile iar pentru conditie falsa
nu se afiseaza nimic
PRELUCRAREA ARTICOLELOR UNUI TABEL
Editarea articolelor prin comanda BROWSE
BROWSE [fields<lista_campuri>][<domeniu>]
[FOR<conditie>][WHILE<conditie>]
[FONT<nume_font>,marime][STYLE 'B | I | U']
camp1, camp2, .
camp[:R] campul poate fi doar citit
[:v=<conditie>][:F<conditie>][:E<mesaj_de_eroare>]
ex.:
USE REG_CAT
BROW FIELDS NRMAT:R,NUME,CODCURS:V(CODCURS='AJUT' OR CODCURS='OPER'):F :E= 'EROARE_COD_CURS'
Actualizarea articolelor
A) ADAUGARE DE ARTICOLE
append
SAU
append blank
brow
b)MODIFICAREA CONTINUTULUI UNUI CAMP
REPLACE <camp1> WITH <valoare1>, <camp2> WITH <valoare2>
unde:
<camp1><camp2> - campurile a caror continut va fi modificat
<valoare1><valoare2> - informatiile cu care vom modifica campurile
ex:
LOCATE FOR NUME='ANA POP'
REPLACE NUME WITH 'ALINA POPESCU'
EXERCITIU:
MODI COMM MODIFICARE
CLEAR
DEFI WIND F1 FROM
DEFI WIND F2 FROM
USE REG_CAT
RASP='DA'
DO WHILE UPPER(RASP)='DA'
ACTI WIND F1
CLEAR
ACCEPT 'DE LA CE CURS ESTE ? ' TO MCURS
ACCEPT 'CUM SE NUMESTE ? ' TO MNUME
LOCATE FOR CODCURS=MCURS AND NUME=MNUME
IF FOUND()
DISP CODCUS,NUME,DATAN
ACCEPT 'ACESTA ESTE ? ' TO R
IF UPPER(R)='DA'
ACCEPT 'TASTEAZA NOUL NUME' TO NUME_NOU
REPLACE NUME WITH NUME_NOU
ENDIF
ELSE
?'NU EXISTA LA CURSUL ',MCURS,' NUMELE ', MNUME
ENDIF
ACTI WIND F2
CLEAR
ACCEPT 'MAI AI DE MODIFICAT' TO RASP
ENDDO
USE
WAIT WIND 'ATI TERMINAT DE MODIFICAT'
DEACTI WIND ALL
EXERCITIUL 2 ADAUGARE:
MODI COMM ADAUGARE
CLEAR
SET HEADING OFF
USE CURSURI
DEFI WIND F1
DEFI WIND F2
RASP='DA'
DO WHILE UPPER(RASP)='DA'
ACTI WIND F1
CLEAR
ACCEPT 'CODUL CURSULUI ? ' TO MCURS
ACCEPT 'DENUMIREA CURSULUI ? ' TO MDEN
INPUT 'CATE MODULE ARE ? ' TO MMOD
APPEND BLANK
REPL CODCURS WITH MCURS, DENUMIRE WITH MDEN, NRMODULE WITH MMOD
ACTI WIND F2
CLEAR
ACCEPT 'MAI AI DE ADAUGAT ? ' TO RASP
ENDDO
USE
WAIT WIND 'ATI TERMINAT DE ADAUGAT'
DEACTI WIND ALL
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1627
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved