Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
FUNCTII PENTRU GESTIONAREA TIMPULUI ALE MEDIULUI C++ BUILDER
1. Obiectivele lucrarii
a) Insusirea modului de utilizare a componentei VCL TTimer.
b) Insusirea modului de utilizare a functiilor de lucru cu timpul sistem.
c) Realizarea unor aplicatii de gestionare a resursei timp.
2.Aparatura si suporturile utilizate
a) PC in configuratia unitate centrala,monitor, tastatura;
b) Precizarile din prezentul indrumar;
c) Manuale de prezentare a mediului C++BUILDER.
3.Breviar
3.1. Utilizarea componentei TTimer
Componenta TTimer se gaseste in Component Palette (pagina System) .
Obiectul de acest tip permite executia in cadrul aplicatiei a unor functii la intervale specificate. In context Windows obiectul TTimer lanseaza catre aplicatie mesaje la intervale prestabilite.
O particularitate fata de componentele utilizate in lucrarea precedenta consta in faptul ca acest obiect nu are corespondent grafic pe forma in momentul executiei programului.
In figura 2.1 este reprezentat obiectul vizual Timer asa cum se gaseste in pagina System. Aducerea pe forma a acestui obiect se realizeaza in conformitate cu precizarile din lucrarea precedenta.
Fig. 2.1.
In figura 2.2 se prezinta Tabelul cu Proprietati (Object Inspector) paginile
Proprietati si Evenimente pentru componenta TTimer.
Fig 2.2.
Proprietatea Enabled stabileste daca obiectul TTimer raspunde la evenimentul OnTimer (daca Enabled este true atunci se raspunde la eveniment - Timer-ul este activat).
Proprietatea Interval specifica numarul de milisecunde dintre doua mesaje tip TTimer consecutive ( TTimer este apelat dupa fiecare trecere a intervalului specificat ).
Proprietatea Name specifica numele Timer-ului.
Proprietatea Tag este utilizata pentru transferul de informatii suplimentare (variabile de tip int).
Evenimentul OnTimer apare de fiecare data cand trece intervalul (Interval) specificat.
In continuare este prezentat codul programului P1 care realizeaza:
dezactivarea timer-ului Timer1 (in constructor si la apasarea butonului Dezactivare Timer ) ;
activarea Timer-ului Timer1 (la apasarea butonului Activare Timer );
transferul unei valori intregi , prin intermediul proprietatii Tag in componenta Label1 .
#include <vcl.h>
#pragma hdrstop
#include 'ex_timer.h'
#pragma package(smart_init)
#pragma resource '*.dfm'
int i=0;
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
void __fastcall TForm1::ActivBtnClick(TObject *Sender)
void __fastcall TForm1::DesBtnClick(TObject *Sender)
void __fastcall TForm1::Timer1Timer(TObject *Sender)
//-----------Programul-P1-------- ----- ------ ----- ----- ---------
In figura 2.3 se prezinta dispunerea pe forma a obiectelor din programul P1.
Fig. 2.3.
3.2 Functii de gestionare a timpului
Prototipurile functiilor de gestionare a timpului sistem se gasesc in header-ele dos.h , time.h , vclsysdefs.h. Precizarile urmatoare se refera la header-ul dos.h., in care se gasesc prototipurile urmatoarelor functii ce permit gestionarea resursei timp:
void getdate(struct date *datep)
void gettime(struct time *timep)
void setdate(struct date *datep
void settime(struct time *timep)
in care: *datep si *timep sunt pointeri la structurile struct date si struct time;
Structurile mentionate mai sus (aferente datei si orei) sunt de forma:
struct date
;
respectiv:
struct time
;
Functiile getdate si gettime preiau data si ora curente iar functiile setdate si settime permit initializarea acestora.
Modurile de utilizare a functiilor getdate si gettime sunt evidentiate in programul P2 ale carui text sursa se prezinta in continuare.
//----------Programul-P2-------- ----- ------ ----- ----- --------
#include <vclvcl.h>
#include <stdio.h>
#pragma hdrstop
#include 'Unit3.h'
#include 'dos.h'
#pragma resource '*.dfm'
TForm1 *Form1;
struct date d;
struct time t;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
void __fastcall TForm1::FormActivate(TObject *Sender)
void __fastcall TForm1::Timer1Timer(TObject *Sender)
void __fastcall TForm1::Button1Click(TObject *Sender)
Programul P2 afiseaza data si ora cu periodicitate de o secunda ( setarea proprietatatii Interval pentru Timer1).Iesirea din program se face prin apasarea butonului Exit.
4. Modul de lucru
a) Se alimenteaza sistemul cu tensiune;
b) Se lanseaza mediul C++ Builder (dublu click pe icon-ul corespunzator din desktop);
c) Se implementeaza programul P1 descris in prezenta lucrare.
d) Se selecteaza din Main Menu optiunea File si apoi OpenProject urmat de calea D:DIDACTICSMP1905 (a sau b)LUC2Project1.mak.
e) Se executa click pe butonul Run din Toolbar (aceasta actiune este urmata de lansarea in executie a programului);
f) Se examineaza in programele P1 si P2 utilizarea elementelor aferente gestiunii resursei timp ( Timere ,Struct date si Struct time ) ;
g) Se elaboreaza programul P3 pentru realizarea unui cronometru.
Fig 2.4.
Se vor utiliza urmatoarele obiecte, evidentiate in figura 2.4:
o forma (Form1) pe care sunt dispuse celelalte obiecte si in Caption-ul careia se va afisa textul "Laboratorul Informatica Industriala";
patru butoane (Button 1, 2, 3 , 4) cu urmatoarele functii:
Button1 - pornirea cronometrului( Caption Start);
Button2 - oprirea cronometrului( Caption Stop);
Button3 - initializarea cronometrului( Caption Zero);
Button4 - iesirea din program (Caption Exit).
doua timere (Timer1 si Timer2) cu urmatoarele functii
Timer1 (Interval=1000 ms) utilizat la afisarea timpului curent;
Timer2 (Interval=100 ms) utilizat pentru cronometru;
doua casete de editare (Edit1 si Edit2) utilizate pentru :
Edit1 - afisarea datei si orei curente;
Edit2 - afisarea timpului cronometrat;
doua etichete (Label1 si Label2) cu Caption-ul conform figurii 2.4
Observatii
din primele trei butoane, la un un moment dat va fi activ unul singur;
fiecare obiect va avea hint-ul activ completat corespunzator;
In timpul executiei programului forma va avea aspectul din figura 2.5:
Fig.2.5.
g) Lucrarea se considera incheiata in momentul in care programele P1 , P2 si P3 sunt functionale. Referatul va cuprinde principalele idei din breviar referitoare la mediul C++Builder (obiectul Ttimer) si forma sursa a unit-ului programului P3.
Politica de confidentialitate |
Copyright © 2024 - Toate drepturile rezervate