Message dans barre d'état

Message dans barre d'état - HTML/CSS - Programmation

Marsh Posté le 06-03-2006 à 21:59:47    

Bonsoir,
 
je veux afficher dans ma barre d'état un message particulier selon le jour et la date.
Par exemple, si la date est 01/01/06 et l'heure est 10:00, je voudrais voir s'afficher : "Bonne matinée, nous sommes le 1 janvier 2006. Bonne année!!"
 
En fait, j'arrive presque à ce résultat, il ne me manque que la date. Voici mon code :

Code :
  1. <SCRIPT LANGUAGE="JavaScript1.2">
  2. <!-- Hide the script from non-Javascript browsers
  3. var date_statement="";
  4. var time_statement="";
  5. var today=new Date();
  6. var month="";
  7. var day="";
  8. function todays_date() {
  9. var month=today.getMonth();
  10. var day_of_week=today.getDay();
  11. date_statement=""
  12. window.month=""
  13. month++; // So it's now between 1 - 12.
  14. if(month==1) {
  15. january(today.getDate());
  16. window.month="janvier";
  17. }
  18. if(month==2) {
  19. february(today.getDate());
  20. window.month="février";
  21. }
  22. if(month==3) {
  23. march(today.getDate());
  24. window.month="mars";
  25. }
  26. if(month==4) {
  27. april(today.getDate());
  28. window.month="avril";
  29. }
  30. if(month==5) {
  31. may(today.getDate());
  32. window.month="mai";
  33. }
  34. if(month==6) {
  35. june(today.getDate());
  36. window.month="juin";
  37. }
  38. if(month==7) {
  39. july(today.getDate());
  40. window.month="juillet";
  41. }
  42. if(month==8) {
  43. august(today.getDate());
  44. window.month="août";
  45. }
  46. if(month==9) {
  47. september(today.getDate());
  48. window.month="septembre";
  49. }
  50. if(month==10) {
  51. october(today.getDate());
  52. window.month="octobre";
  53. }
  54. if(month==11) {
  55. november(today.getDate());
  56. window.month="novembre";
  57. }
  58. if(month==12) {
  59. december(today.getDate());
  60. window.month="décembre";
  61. }
  62. window.day=""
  63. if(day_of_week==0)
  64. window.day="dimanche";
  65. if(day_of_week==1)
  66. window.day="lundi";
  67. if(day_of_week==2)
  68. window.day="mardi";
  69. if(day_of_week==3)
  70. window.day="mercredi";
  71. if(day_of_week==4)
  72. window.day="jeudi";
  73. if(day_of_week==5)
  74. window.day="vendredi";
  75. if(day_of_week==6)
  76. window.day="samedi";
  77. }
  78. date_statement=""
  79. function january(date) {
  80. if(date==1)
  81. date_statement="Bonne Année !";
  82. }
  83. function december(date) {
  84. if(date==25)
  85. date_statement="Joyeux Noël!";
  86. if(date==31)
  87. date_statement="Bon réveillon !";
  88. }
  89. function time_of_day() {
  90. var time=today.getHours();
  91. time_statement=""
  92. if(time>=6 && time<8)
  93. time_statement="Déjà sur le Net !"
  94. if(time>=8 && time<12)
  95. time_statement="Bonne matinée"
  96. if(time>=12 && time<13)
  97. time_statement="Bon appétit"
  98. if(time>=13 && time<18)
  99. time_statement="Bon après-midi"
  100. if(time>=18 && time<22)
  101. time_statement="Bonsoir"
  102. if(time>=22 || time<6)
  103. time_statement="Pas encore couchés ???!"
  104. }
  105. // -- End Hiding Here -->
  106. </SCRIPT>
  107.  
  108. <!-- DEBUT DU SCRIPT MESSAGE BARRE D ETAT-->
  109. <script language="JavaScript">
  110. time_of_day();
  111. todays_date();
  112. window.status=(time_statement+", nous sommes le "+date_statement);
  113. </script>


 
et j'obtiens pour le 01/01/06 à 10h00 : "Bonne matinée, nous sommes le Bonne année!!"
D'où peut venir mon problème?
Merci de me donner un coup de main.....


Message édité par jereln le 06-03-2006 à 22:01:33

---------------
N'oubliez pas : je suis débutante en php et access !!! Merci.
Reply

Marsh Posté le 06-03-2006 à 21:59:47   

Reply

Marsh Posté le 08-03-2006 à 00:14:32    

reflechi un peu à ce que tu fais bordel, on voit que ce n'est pas toi qui a codé :o
 
date_statement ne contient pas la date dans ton cas mais une phrase en fonction d'un jour de  decembre ou de janvier

Reply

Marsh Posté le 08-03-2006 à 09:36:22    

je te remercie pour ce "gentil" message, tu aurais pu t'abstenir !!!!! :fou:  
 
si je demande de l'aide, c'est que je ne trouve pas toute seule. Effectivement, ce n'est pas moi qui ai fait ce code. Et j'ai remarqué aussi pour le date_statement. Mais, à mon avis, il ne faut pas avoir bac+10 pour s'en apercevoir !!!!!
 
je demande un coup de main, parce que j'utilise ce même code sur un autre de mes sites, et il marche correctement. Je ne vois pas pourquoi là, ça ne s'affiche pas comme il faut.
 
Alors, au lieu de faire des remarques désobligentes, toi qui apparemment te crois supérieur, laisse la place à ceux qui veulent bien aider les débutants !!!!!


---------------
N'oubliez pas : je suis débutante en php et access !!! Merci.
Reply

Marsh Posté le 08-03-2006 à 09:38:23    

déjà je sais pas quel est le porc qui a codé ça mais c'est très mal codé, si j'ai un moment je te fais kek chose de propre

Reply

Marsh Posté le 08-03-2006 à 10:10:19    

Sache jeune enfant qu'on ne fait pas la correction de code tout pourri
le plus simple aurait été de te dire de faire :  
window.status=(time_statement+", nous sommes le "+ window.day + + " " + today.getDate() + " " + window.month + ", " + datedate_statement);
 
Mais ton paté est tellement mal codé, en gros il est tout pourri et tu peux le jeter. Au passage tu tues celui qui t'a donné ça.
tiens voila quelque chose de beau et propre

Code :
  1. function message() {
  2.         var tab_mois = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre" );
  3.         var tab_jours = new Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche" );
  4.         var today = new Date();
  5.         var day = today.getDate();
  6.         var time = today.getHours();
  7.         var month = tab_mois[today.getMonth()];
  8.         var weekday = tab_jours[today.getDay()];
  9.         var jourstr = weekday + " " + day + " " + month + " " + today.getYear();
  10.         var timestr="";
  11.         var datestr;
  12.         
  13.         //Date
  14.         switch(month){
  15.             case "Janvier":  
  16.                 switch(day) {
  17.                     case 1:    datestr="Bonne Année !"; break;
  18.                 }
  19.                 break;
  20.             case "Décembre":
  21.                 switch(day) {
  22.                     case 25: datestr="Joyeux Noël!"; break;
  23.                     case 31: datestr="Bon réveillon !"; break;
  24.                 }
  25.                 break;    
  26.             default : datestr="";
  27.         }
  28.         //Time
  29.         if (time>=6 && time<8) timestr="Déjà sur le Net !";
  30.         if (time>=8 && time<12) timestr="Bonne matinée";
  31.         if (time>=12 && time<13)timestr="Bon appétit";
  32.         if (time>=13 && time<18) timestr="Bon après-midi";
  33.         if (time>=18 && time<22) timestr="Bonsoir";
  34.         if (time>=22 || time<6) timestr="Pas encore couchés ???!";
  35.         
  36.         return timestr + ", nous sommes le " + jourstr + ", " + datestr;
  37.         }
  38.     window.status=message();


Message édité par gatsu35 le 08-03-2006 à 10:15:30
Reply

Marsh Posté le 08-03-2006 à 10:12:57    

On peut encore optimiser, mais 90% des gens seraient satisfaits je pense :o
on pourrai même creer un tableau pour la gestion des évènements ce qui simplifierai grandement el bestiau

Message cité 1 fois
Message édité par gatsu35 le 08-03-2006 à 10:16:43
Reply

Marsh Posté le 08-03-2006 à 10:49:14    

je te remercie pour ce code.  
 
qu'entends tu par un "tableau pour la gestion des évènements"?


---------------
N'oubliez pas : je suis débutante en php et access !!! Merci.
Reply

Marsh Posté le 08-03-2006 à 10:56:48    

ben je créé une fonction eventsAdd()
avec cette fonction j'ai juste à faire :  
 
eventsAdd("25", "12","Joyeux Noel!" );
 
 
et basta tu rajoutes autant d'évènements que tuveux et la gestion d'un évènement se fait sur une seule ligne

Reply

Marsh Posté le 08-03-2006 à 11:25:00    

ok, merci pour le tuyau, je vais essayer.


---------------
N'oubliez pas : je suis débutante en php et access !!! Merci.
Reply

Marsh Posté le 08-03-2006 à 12:16:50    

Nan n'essaye pas tu ne dois même pas avoir la notion de boucle en programmation, ni la notion de tableau.
 
Au passage j'espère que ce n'est pas toi qui a pondu l'horrible code dont tu nous as fait grace

Reply

Marsh Posté le 08-03-2006 à 12:16:50   

Reply

Marsh Posté le 08-03-2006 à 12:50:31    

Code :
  1. <script>
  2.     var events=new Array();
  3.     function CreateEvent(Eday, Emonth, Etxt){
  4.         this.day=Eday;
  5.         this.month=Emonth;
  6.         this.msg=Etxt;
  7.     }
  8.     function AddEvent(Eday, Emonth, Etxt) {
  9.         events.push(new CreateEvent(Eday, Emonth, Etxt));
  10.     }
  11.     function MessageDate() {
  12.         var tab_mois = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre" );
  13.         var tab_jours = new Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche" );
  14.         var today = new Date();
  15.         var day = today.getDate();
  16.         var time = today.getHours();
  17.         var month = tab_mois[today.getMonth()];
  18.         var weekday = tab_jours[today.getDay()];
  19.         var jourstr = weekday + " " + day + " " + month + " " + today.getYear();
  20.         var timestr="";
  21.         var datestr="";
  22.         
  23.         AddEvent(1,1,"Bonne Année !" );
  24.         AddEvent(25,12,"Joyeux Noël !" );
  25.         AddEvent(31,12,"Bon réveillon !" );
  26.         
  27.         for (i=0; i<events.length; i++){
  28.             if (day==events[i].day && today.getMonth()+1==events[i].month) {datestr=events[i].msg;}
  29.         }
  30.         
  31.         //Time
  32.         if (time>=6 && time<8) timestr="Déjà sur le Net !";
  33.         if (time>=8 && time<12) timestr="Bonne matinée";
  34.         if (time>=12 && time<13)timestr="Bon appétit";
  35.         if (time>=13 && time<18) timestr="Bon après-midi";
  36.         if (time>=18 && time<22) timestr="Bonsoir";
  37.         if (time>=22 || time<6) timestr="Pas encore couchés ???!";
  38.         
  39.         return timestr + ", nous sommes le " + jourstr + ", " + datestr;
  40.         
  41.         
  42.         }
  43.     window.status=MessageDate();
  44.     document.write(MessageDate());
  45.     </script>


Pour palier les défaut d'un tableau à deux dimensions, j'ai préféré me repporter sur le javascript object, c'est pas vraiment de la prog objet, mais en quelque sort on a un objet et on accède à des propriétés de cet objet
 
exemple pour un evenement.
event.day, c'est la date de cet evenement
event.month, c'est le mois
event.msg, c'est le message
 
ensuite j'ai juste qu'à faire un tableau d'evenement, qui devient alors un tableau d'objets
 
tableau[0] est le premier objet
tableau[1] est le deuxième objet
 
tableau[0].day est la date du premier objet du tableau
tableau[1].month est le mois du deuxième objet du tableau (dans notre cas c'est 12 :D)
 
 
 


Message édité par gatsu35 le 08-03-2006 à 12:55:30
Reply

Marsh Posté le 08-03-2006 à 12:54:03    

gatsu35 a écrit :

On peut encore optimiser, mais 90% des gens seraient satisfaits je pense :o
on pourrai même creer un tableau pour la gestion des évènements ce qui simplifierai grandement el bestiau


Moi je suis satisfait dans toutes les situations, vu qu'aucun site n'a le droit de modifier ma barre d'état :o
(et puis bon l'heure et la date, j'veux pas être méchant mais j'ai des calendriers et des horloges [:kiki])


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-03-2006 à 12:56:50    

masklinn a écrit :

Moi je suis satisfait dans toutes les situations, vu qu'aucun site n'a le droit de modifier ma barre d'état :o
(et puis bon l'heure et la date, j'veux pas être méchant mais j'ai des calendriers et des horloges [:kiki])


 
 
Oui moi aussi, m'enfin elle a une fonction qui lui retourne un message :o, donc elle a le droit d'en faire ce qu'elle en veut
m'enfin c'est pas moi qui irait modifier le comportement utilisateur, surtout que j'ai horreur qu'on touche à ma barre d'état :fou:

Reply

Sujets relatifs:

Leave a Replay

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