Metode evoluate de programare Limbajele c şi C++


Funcţii pentru controlul proceselor



Yüklə 1,64 Mb.
səhifə27/44
tarix07.04.2018
ölçüsü1,64 Mb.
#46828
1   ...   23   24   25   26   27   28   29   30   ...   44

11.6. Funcţii pentru controlul proceselor



Aceste funcţii au prototipurile în fişierul stdlib.h şi în process.h şi realizează controale asupra programelor:

void abort (void); - termină un program în caz de eroare;

void exit (int stare) - termină un program şi returnează o stare; stare este

0 pentru terminare normală şi diferită de zero

pentru o terminare anormală; videază buferele

fisierelor, închide toate fişierele;


int system (const char *comanda) - execută o comandă DOS definită prin sirul

de caractere spre care pointează comanda;

returnează 0 la succes si –1 la eroare.

Aceste funcţii au prototipurile în stdlib.h şi în process.h.



11.7. Funcţii pentru gestiunea datei şi orei



Dăm mai jos prototipurile a patru funcţii pentru citirea/setarea datei şi orei. Ele implică includerea fişierului dos.h.
void getdate(struct date *d); - încarcă structura de tip date spre care pointează d

cu datele corespunzătoare furnizate de sistemul de

operare;

void gettime(struct time *t); - încarcă structura de tip time spre care pointează t

cu datele corespunzătoare furnizate de sistemul de

operare;

void setdate (struct date *t); - setează data curentă în conformitate cu datele de



tip date;

void settime (struct time *t); - setează ora curentă în conformitate cu datele de tip



time spre care pointează t.
Tipurile date şi time sunt definite în fişierul dos.h. astfel:
struct date {

int da_year;

int da_day;

int da_mon;

};
struct time {

unsigned char ti_min;

unsigned char ti_hour;

unsigned char ti_hund;

unsigned char ti_sec;

};
Exemplu:


void main (void) // afiseaza data si ora

{ struct date d;

struct time t;

getdate (&d);

gettime (&t);

printf (“\n\t%02d/%02d/%04d”,d.da_day, d.da_mon, d.da_year);

printf (“\tora %02d:%02:%02\n”, t.ti_hour, t.ti_min, t.ti_sec);

}

11.8. Alte funcţii diverse de uz general

void clrscr (void); - şterge fereastra activă sau tot ecranul; prototipul în conio.h

void delay(unsigned i); - suspendă execuţia programului pentru o perioadă de i

milisecunde;

void sleep(unsigned i); - suspendă execuţia programului pentru o perioadă de i

secunde;

void nosound (void); - opreşte difuzorul calculatorului;

void sound(unsigned h); - porneşte difuzorul calculatorului cu un ton egal cu h Hz.

12. Gestiunea ecranului în mod text

Biblioteca standard a limbajelor C şi C++ conţine funcţii pentru gestiunea ecranului. Acesta poate fi gestionat în 2 moduri:



  1. modul text şi

  2. modul grafic.

Modul text presupune că ecranul este format dintr-un număr de linii şi coloane. De obicei există două variante:


25 de linii x 80 de coloane = 2000 de caractere sau

25 de linii x 40 de coloane = 1000 de caractere.


Poziţia pe ecran a unui caracter se defineşte printr-un sistem de coordonate întregi (x,y)

unde:


x - reprezintă numărul coloanei în care este situat caracterul;

y - reprezintă numărul liniei în care este situat caracterul.


Colţul din stânga sus are coordonatele (1,1) iar colţul din dreapta jos (80,25) sau (40,25).
În mod implicit funcţiile de gestiune a ecranului în mod text au acces la tot ecranul. Accesul poate fi limitat la o parte din ecran utilizând aşa numitele ferestre. Fereastra este un dreptunghi care este o parte a ecranului şi care poate fi gestionată independent de restul ecranului.

Un caracter de pe ecran, pe lângă coordonate, mai are şi următoarele atribute:



  1. culoarea caracterului afişat;

  2. culoarea fondului;

  3. clipirea caracterului.

Aceste atribute sunt dependente de adaptorul grafic utilizat. Cele mai utilizate adaptoare sunt:



  1. placa MDA, care este un adaptor monocrom;

  2. placa HERCULES, care este un adaptor color;

  3. placa CGA, care este un adaptor color;

  4. placa EGA, care este un adaptor color;

  5. placa VGA, care este un adaptor color de mare performanţă.

Pentru adaptoarele de mai sus se pot utiliza 8 culori de fond şi 16 culori pentru afişarea caracterelor.

Atributul unui caracter se defineşte cu ajutorul formulei:
atribut = 16 * culoare_fond + culoare_caracter + clipire (*)
unde:


  1. culoare_fond (background) = cifră între 0 şi 7; (8 culori)

  2. culoare_caracter (foreground) = întreg între 0 şi 15; (16 culori)

  3. clipire = 128 (clipire) sau 0 (fără clipire)

Tabel cu numele culorilor:
Culoare Constantă simbolică Valoare
negru BLACK 0

albastru BLUE 1

verde GREEN 2

turcoaz CYAN 3

roşu RED 4

purpuriu MAGENTA 5

maro BROWN 6

gri deschis LIGHTGRAY 7

gri închis DARKGRAY 8

albastru deschis LIGHTBLUE 9

verde deschis LIGHTGREEN 10

turcoaz deschis LIGHTCYAN 11

roşu dechis LIGHTRED 12

purpuriu magenta LIGHTMAGENTA 13

galben YELLOW 14

alb WHITE 15

clipire BLINK 128


Yüklə 1,64 Mb.

Dostları ilə paylaş:
1   ...   23   24   25   26   27   28   29   30   ...   44




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin