Affichage de contenue texte en fonction de date

[Résolu]
Signaler
Messages postés
26
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
5 juin 2010
-
Messages postés
26
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
5 juin 2010
-
bonjour
dans un site flash de pizzeria le client a demandé dans la page de menus, que le contenue de menu s'affiche en fonction de date sistème. pour etre plus clair: à droite s'affiche les jours: lundi mardi mercredi jeudi et vendredi, et à gauche saffiche le contenue des menus. si aujourd'hui est mardi à droite s'affiche mercredi jeudi et vendredi et à gauche s'affiche le jour mardi en haut et le contenue des menus en bas et l'ainsi de suite.
est ce qu'ilya quelqu'un peut m'aidé à resoudre cette problème 
j'ai commencer par ce code qui peut afficher le nom de jour et la date:

_root.createTextField ("montre",1,0,0,400,100);
montre.text =  jour + "-" + mois + "-" + annee;
montre.setTextFormat (new TextFormat("Arial",16,0xFF0000));
montre.border = true;
montre.autoSize = true;
montre.selectable = false;
Date.prototype.getJour= function () {
listeJour = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi", "Vendredi","Samedi"];
return listeJour[this.getDay()];
}
Date.prototype.getMois= function () {
listeMois = ["janvier","février","mars","avril", "mai","juin","juillet","août","septembre", "octobre","novembre","décembre"];
return listeMois[this.getMonth()];
}
aujour = new Date();
jour = aujour.getDate();
mois = aujour.getMonth()+1;
annee = aujour.getFullYear();
montre.text = (aujour.getJour()) + " " + jour + " " + (aujour.getMois()) + " " + annee;

9 réponses

Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Hello,

utilise les conditions if() :

if(jour == "Lundi"){
     // j'affiche le contenu correspondant
}

ou alors utilise switch() :

switch(jour):
     case "Dimanche":

           // j'affiche le contenu correspondant a Dimanche.

     break;
     case "Lundi":

           // j'affiche le contenu correspondant a Lundi.

     break;
     case "Mardi":

           // j'affiche le contenu correspondant a Mardi.

     break;
....

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
Salut,

Je te propose de stoquer dans un fichier XML tes menus en fonction des jours

<Menus>
    <Jour id= "0">
          <Menu>Texte contenant le menu 1 du jour 0 </Menu>
          <Menu>Texte contenant le menu 2 du jour 0 </Menu>
    </Jour>
    <Jour id="1">

          <Menu>Texte contenant le menu 1 du jour 1 </Menu>

          <Menu>Texte contenant le menu 2 du jour 1 </Menu>

    </Jour>
</Menus>

Avantage, les menu sont chagés dynamiquement et donc facilement mis à jour

Comme tu as défini la variable jour, tu récupères (dans un tableau par exemple) tous les Menus du jour dont l'attribut XML id est égale à jour et tu affiches le tout dans une zone de texte (à gauche, à droite, ou tu veux ! )

et pour afficher les autres jours (a droite ?), comme tu as jour tu fais une boucle

var listeJour = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi", "Vendredi","Samedi"];

var joursTexte:String =""
var day=jour
for (var i:Number=jour; i<jour+6;i++){
day++
if(day > 6) day=0;
joursTexte+= listeJour[day]+" "

}
trace(joursTexte)

@+
Messages postés
26
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
5 juin 2010

bonjour
pour la liste des jours à droite, j'ai essayé le code que vous m'avez proposé, à la suite du code que j'ai proposé. mais ça ne change rien.
j'aimerais savoir ou je veux mettre le code.
désolé pour le dérangement et merci
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Copie colle :-)

-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
26
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
5 juin 2010

bonjour arange 73
s'il vous plais pouvez-vous  m'expliqué plus sur l'action scripte: if(jour == "Lundi"
){
     // j'affiche le contenu correspondant
quelle est l'action scripte qui correspond à "j'affiche le contenue de jour". est ce que je met le nom d'occurence à chaque clip ou quoi?
merci
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Exemple :


if(jour == "Lundi"


){
    zoneDroite.loadMovie("movieLundi.swf");
}





-- Orange73 --



"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
26
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
5 juin 2010

merci infinement j'ai pu resoudre ce problème grace à toi.
et voici l'action scripte complète que j'avais admis:

_root.createTextField ("montre",1,0,0,400,100);
montre.text = jour + "-" + mois + "-" + annee;
montre.setTextFormat (new TextFormat("Arial",16,0xFF0000));
montre.border = false;
montre.autoSize = true;
montre.selectable = false;
Date.prototype.getJour= function () {
listeJour = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi", "Vendredi","Samedi"];
return listeJour[this.getDay()];
}
Date.prototype.getMois= function () {
listeMois = ["janvier","février","mars","avril", "mai","juin","juillet","août","septembre", "octobre","novembre","décembre"];
return listeMois[this.getMonth()];
}
aujour = new Date();
jour = aujour.getDate();
mois = aujour.getMonth()+1;
annee = aujour.getFullYear();
montre.text = (aujour.getJour()) + " " + jour + " " + (aujour.getMois()) + " " + annee;




if(aujour.getJour() == "Mardi"){
    gotoAndPlay("j2");
}
if(aujour.getJour() == "Mercredi"){
    gotoAndPlay("j3");
}
if(aujour.getJour() == "Jeudi"){
    gotoAndPlay("j4");
}
if(aujour.getJour() == "Vendredi"){
    gotoAndPlay("j5");
}
if(aujour.getJour() == "Samedi"){
    gotoAndPlay("j6");
}
if(aujour.getJour() == "Dimanche"){
    gotoAndPlay("j7");
}



j1,j2.......j7 son des étiquettes d'images lié à chaque page suivant les jours.
encore merci et plus de succès dans tous vos domaines.
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
Bonjour,

toutes tes conditions devraient pouvoir être limitées a une ligne de code si ce n'est qu'un renvoi vers une étiquette

if(aujour.getJour() == "Mardi"){
    gotoAndPlay("j2");
}
if(aujour.getJour() == "Mercredi"){
    gotoAndPlay("j3");
}
if(aujour.getJour() == "Jeudi"){
    gotoAndPlay("j4");
}
if(aujour.getJour() == "Vendredi"){
    gotoAndPlay("j5");
}
if(aujour.getJour() == "Samedi"){
    gotoAndPlay("j6");
}
if(aujour.getJour() == "Dimanche"){
    gotoAndPlay("j7");
}

pourrait se limiter à

gotoAndPlay("j"+(aujour.getDay()+1));

Par contre, à chaque modification de n'importe quelle élément des menus, faudra recompiler toute l'animation et la republier... Voila pourquoi je conseil vivement de se pencher sur le XML pour stoquer dans un fichier externe à l'animation toutes les information concernant les menus.

@+
Messages postés
26
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
5 juin 2010

Bonjour Girou
merci beaucoup pour cette conseil. Mais vous devez savoir que tout le site été fais dynamiquement avec un champ administratif. C.à.d que les menus, les jours sont des fichiers txt externes et c'est à l'administrateur de changer chaque semaine la date. En plus les étiquettes (j2, j3....) renvoient tout une page contenant les jours restants de la semaine et le contenue de ce jour là. voilà j'espert que j'ai donné une petite idée sur la page de menu.
Après un test de modification des jours, je n'est trouvé aucun problème.
encore merci et bonne journée