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:
-
modul text şi
-
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:
-
culoarea caracterului afişat;
-
culoarea fondului;
-
clipirea caracterului.
Aceste atribute sunt dependente de adaptorul grafic utilizat. Cele mai utilizate adaptoare sunt:
-
placa MDA, care este un adaptor monocrom;
-
placa HERCULES, care este un adaptor color;
-
placa CGA, care este un adaptor color;
-
placa EGA, care este un adaptor color;
-
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:
-
culoare_fond (background) = cifră între 0 şi 7; (8 culori)
-
culoare_caracter (foreground) = întreg între 0 şi 15; (16 culori)
-
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
Dostları ilə paylaş: |