[ C ] Besoin d'aide pour afficher l'heure en temps réel

Besoin d'aide pour afficher l'heure en temps réel [ C ] - C - Programmation

Marsh Posté le 02-06-2008 à 22:03:35    

Bonsoir,  
 
Etant débutant (meme pas une semaine) en programmation, je me suis mis en tête de faire un programme qui permet d'afficher l'heure en temps réel. Plus précisément, je voudrait en faire un écran de veille par la suite et le mettre dans l'ordi de ma voiture
Après avoir cherché des réponse pendant 2 jours en vain, j'aimerai avoir un peu d'aide.  
 
Pour l'IDE j'utilise Dev C++, j'ai installé la librairie SDL ainsi que SDL ttf pour le texte.
Voici un aperçu de ce que je ce que j'ai réussi a faire:  
 
http://www.kirikoo.net/images/7souriya-20080602-200639.jpg
 
 
Voici le code de mon projet:
 

Spoiler :

#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <time.h>
#include <windows.h>
#include <SDL/SDL_ttf.h>
 
void pause();  
 
int main(int argc, char *argv[])
{
   SDL_Surface *ecran = NULL, *texte = NULL;  
   TTF_Font *police = NULL;    
   SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER );
   SDL_Color couleurGrise = {172, 172, 172};
   SDL_Event event;
   SDL_Rect position;  
   int continuer = 1;
   
   if(TTF_Init() == -1)
{
    fprintf(stderr, "Erreur d'initialisation de TTF_Init : %s\n", TTF_GetError());
    exit(EXIT_FAILURE);
}
 
   ecran = SDL_SetVideoMode(940, 480, 32, SDL_SWSURFACE | SDL_RESIZABLE);
   if (ecran == NULL)  
   {
             fprintf(stderr, "impossible de charger le mode video : %s\nq", SDL_GetError());
             exit(EXIT_FAILURE);
   }
   SDL_WM_SetCaption("mon projet a moi", NULL);
   police = TTF_OpenFont("abstract.ttf", 50);
   texte = TTF_RenderText_Solid(police, "88 : 88", couleurGrise);
   
   /*while(1)
   {    
           time_t temps_act;
           time(&temps_act);
           printf("La date et l'heure sont: %s", ctime(&temps_act));
           Sleep(60000);
   }  
   */

   
  while (continuer)
   {
         SDL_WaitEvent(&event);
         switch(event.type)
         {
                case SDL_KEYDOWN:
                           continuer = 0;
                           case SDL_MOUSEMOTION:
                           continuer = 0;
         }
   SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
         
   position.x = 90;
   position.y = 190;
   SDL_BlitSurface(texte, NULL, ecran, &position);
   SDL_Flip(ecran);
   }

   
   pause();
   TTF_CloseFont(police);
   TTF_Quit();
   
   SDL_FreeSurface(texte);
   SDL_Quit();
   
   return 0;
}
 
void pause()
{
     int continuer = 1;
     SDL_Event event;
     
     while (continuer)
     {
           SDL_WaitEvent(&event);
           switch(event.type)
           {
                           case SDL_KEYDOWN:
                           continuer = 0;
                           case SDL_MOUSEMOTION:
                           continuer = 0;                          
           }
     }
}


 
Pour le texte en bleu, c'est la seul "chose" que j'ai trouvé pour afficher la date et l'heure sous une fenêtre DOS,Je l'ai mis en commentaire pour ne pas l'oublier car je ne sais pas si je dois m'en servir
 
Je voudrait pouvoir afficher l'heure au format HH : MM mais je ne sait pas comment faire pour remplacer le texte '88 : 88' par l'heure. Est-ce réalisable ?
 
Ensuite, est il possible d'integrer la boucle while ( en violet ) a la boucle while ( en vert ) car a mes yeux ( de débutant bien sur ) je les trouve assez semblable
 
Au cas ou il y aurait des mal entendu ( je viens de lire les regles du forum programmation ), je ne vous demande pas de me résoudre le projet. Je souhaite le faire par moi même mais comme je manque de connaissance en programmation je suis obligé de faire appel a vous.  
Je vous remercie d'avoir pris connaissance de mon probleme ainsi que pour de réponse éventuelles.

Reply

Marsh Posté le 02-06-2008 à 22:03:35   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed