Etudes/BTS/C++/CadranTD3/cadran.cpp
2016-10-14 17:52:18 +02:00

60 lines
1.6 KiB
C++

/***************************************************************************
Classe Cadran
Auteur : Philippe CRUCHET - Janvier 2015
Rôle : Permet de définir un cadran digital, la taille est définie par
le constructeur.
Projet : horloge
IDE : Code::Blocks sous linux avec utilisation de la librairie ncurses
***************************************************************************/
#include <stdio.h>
#include "cadran.h"// a faire
Cadran::Cadran(const int _posX,const int _posY,const int _hauteur,const int _largeur)
: posX(_posX), posY(_posY), hauteur(_hauteur), largeur (_largeur)
/*
* Rôle : Initialisation du cadran
* Paramètres : _posX,_posY position du coin gauche du cadran
* _hauteur, _largeur dimensions du cadran
*/
{
initscr();
keypad(stdscr, TRUE);
noecho();// a faire
mvaddch(posY, posX, '+');
mvaddch(posY, posX + largeur, '+');
mvaddch(posY + hauteur, posX, '+');
mvaddch(posY + hauteur, posX + largeur, '+');
mvhline(posY, posX + 1, '-', largeur - 1);
mvhline(posY + hauteur, posX + 1, '-', largeur - 1);
mvvline(posY + 1, posX, '|', hauteur - 1);
mvvline(posY + 1, posX + largeur, '|', hauteur - 1);
refresh();
}
Cadran::~Cadran()
{
endwin();
}
void Cadran::Afficher(const char *texte, const int position)
{
mvprintw(posY + 1 , posX + 1 + position, texte ) ;
mvprintw(0,0,"") ;
refresh() ;
}
void Cadran::Afficher(const int valeur,const int position)
{
char *texte = new char[largeur+1] ;
if(texte != NULL)
{
sprintf(texte,"%02d",valeur);
Afficher(texte,position) ;
delete texte ;
}
}