fionalabelle
Messages postés14Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention25 août 2006
-
5 mai 2006 à 08:34
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013
-
5 mai 2006 à 17:51
Salut à vous,
Jai trouvé le code ci-dessous sur cette page, et jaimerai le modifé de facon quil affiche non seulement le mois actuel, mais aussi le mois suivant. Mais je n'arrive pas à le faire. Car je suis nouvelle en ce qui concerne le language ColdFusion.
<!--- Validation des informations recus et fait la mise à jour de la date à traiter--->
<CFIF ParameterExists(traitDate) IS "No">
<CFSET traitDate=#Now()#>
<CFELSE>
<CFIF NOT IsDate(traitDate)>
<CFSET traitDate=#Now()#>
<CFELSE>
<CFSET tableauDate=#ListToArray(traitDate,"-")#>
<CFSET traitDate=CreateDate(tableauDate[1], tableauDate[2], tableauDate[3])>
</CFIF>
<CFIF ((ParameterExists(modifMois) IS NOT "No") AND (len(modifMois) GT 1) AND(#IsNumeric(right(modifMois,len(modifMois)-1))#))>
<CFIF left(modifMois,1) IS "-">
<CFSET traitDate=#DateAdd("m", -right(modifMois,len(modifMois)-1), traitDate)#>
<CFELSE>
<CFIF left(modifMois,1) IS "~">
<CFSET traitDate=#DateAdd("m", right(modifMois,len(modifMois)-1), traitDate)#>
</CFIF>
</CFIF>
<CFELSE>
<CFIF ((ParameterExists(modifAnnee) IS NOT "No") AND (len(modifAnnee) GT 1) AND (#IsNumeric(right(modifAnnee,len(modifAnnee)-1))#))>
<CFIF left(modifAnnee,1) IS "-">
<CFSET traitDate=#DateAdd("yyyy", -right(modifAnnee,len(modifAnnee)-1), traitDate)#>
<CFELSE>
<CFIF left(modifAnnee,1) IS "~">
<CFSET traitDate=#DateAdd("yyyy", right(modifAnnee,len(modifAnnee)-1), traitDate)#>
</CFIF>
</CFIF>
</CFIF>
</CFIF>
</CFIF>
<CFSET traitAnnee = #Year(traitDate)#>
<CFSET traitMois = #Month(traitDate)#>
<CFSET traitMoisNbJour = #DaysInMonth(traitDate)#>
<!--- Ligne pour les jours de la semaines--->
Di,
Lu,
Ma,
Me,
Je,
Ve,
Sa,
<!--- DEBUT AFFICHAGE DES CELLULES DES JOURS DU MOIS --->
----
<!--- affichage des cellules vides en debut de tableau --->
<CFSET cptcel=#Evaluate((7 + DayOfWeek(CreateDate(traitAnnee,traitMois,1)) - 1) mod 7)#>
<CFLOOP index=\"i\" from=\"1\" to=\"#cptcel#\">
,
</CFLOOP>
<!--- flag sert a specifier qu'il s'agit de la premiere ligne --->
<CFSET flag=\"False\">
<!--- debut de boucle de 1 au nombre de jour dans le mois --->
<CFLOOP index=\"i\" from=\"1\" to=\"#traitMoisNbJour#\">
<!---commencer une nouvelle ligne lorsque l'on arrive a la 7 eme cellule (=rupture)--->
<CFSET cptcel=#Evaluate(cptcel + 1)#>
<CFIF (#Evaluate(cptcel MOD 7)# IS 1) AND (#flag# IS \"True\")>
----
</CFIF>
<CFSET flag=\"True\">
<CFOUTPUT>#i#</CFOUTPUT>,
</CFLOOP>
<!--- completer la fin du tableau par des cellules vides --->
<CFLOOP index=\"i\" from=\"1\" to=\"#Evaluate((7-(cptcel mod 7)) mod 7)#\">
,
</CFLOOP>
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 5 mai 2006 à 13:21
Sans trop me prendre la tête, voici une petite adaptation :
le début du code jusque Body reste inchangé...
faudra certainement afgrandir la fenetre popup lors de l'appel...
<cfloop index=\"i\" from=\"1\" to=\"7\" step=\"1\">
<cfif (i eq J1) and (j eq 1) or (Jour GTE 1) and (Jour LT NbJ)>
<cfset Jour=Jour+1>
<cfif (Jour EQ Day(dateOnClick)) and (Mois EQ month(dateOnClick)) and (Annee EQ year(dateOnClick))>
#Jour#
<cfelse>
#Jour#
</cfif>
<cfelse>
</cfif>,
</cfloop>
</cfloop>
</td>
<td>&nbps</td>
<cfset Jour=0>
<cfset Currentdate = Dateadd('m', 1, Currentdate) />
<cfset Mois=#Month(Currentdate)#><!--- Le mois de la date du jour --->
<cfset Annee=#Year(Currentdate)#><!--- Le annee de la date du jour --->
<cfset J1=DayofWeek("#Month(Currentdate)#/01/#Year(Currentdate)#")>
<cfset NBJ=DaysInMonth(Currentdate)> <!--- Nombre de Jour --->
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 5 mai 2006 à 17:51
fionalabelle,
pour rappel ce site est à vocation d'aider les gens qui sont bloqué face à un problème, pas de leur pondre du code source à la demande.
Donc je te répondrai tout simplement, fait une boucle itérative de 0 à 24 et le tour est joué!
Merci !
Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 5 mai 2006 à 09:37
Bonjour,
Ma réponse ne va po te plaire, mais c'est loin d'être le bon code, il y
a des instructions obsolètes et puis c'est beaucoup de code pour pas
grand chose. Je regrette de ne po avoir le temps sinon je te le ferai,
je pense que des personnes dévouées te consacreront plus de temps que
moi. Je te conseille de tout recommencer..
fionalabelle
Messages postés14Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention25 août 2006 5 mai 2006 à 10:16
bonjour syndrael,
j'avai confondue de code. C'est plutot celui ci que j'essaye de modifier pourqu'il me presente deux mois au meme moment.
Pardon aide moi, car je suis vraiement bloqué.
Merci
<cfset title="-[ Calendar ]-"><!--- Texte du titre --->
<cfset BgColor="64aaDC"><!--- Couleur de fond de page --->
<cfset bgcarac="aaa4DC"><!--- Couleur de fond de page --->
<cfset BgMenu="64aaDC"><!--- Couleur de fond pour la selection du mois et de l annee --->
<cfset BgDayAlpha="0066aa"><!--- Couleur de fond des jours en lettre --->
<cfset BgDayNumb="CCCCCC"><!--- Couleur de fond des jours en chiffre --->
<cfset WCase="30"><!--- Largeur de la case --->
<cfset HCase="30"><!--- Hauteur de la case --->
<cfparam name="dateOnClick" default="#Now()#"><!--- Date du jour, elle sera utiliser pour faire des calculs --->
<cfparam name="Currentdate" default="#Now()#"><!--- Date du jour --->
<cfset Jour=0>
<cfset Mois=#Month(Currentdate)#><!--- Le mois de la date du jour --->
<cfset Annee=#Year(Currentdate)#><!--- Le annee de la date du jour --->
<cfset J1=DayofWeek("#Month(dateOnClick)#/01/#Year(dateOnClick)#")>
<cfset NBJ=DaysInMonth(dateOnClick)> <!--- Nombre de Jour --->