Trucs et astuces pour Coldfusion MX 7 par Serge Rappaille

Trucs et astuces pour Coldfusion MX 7

Présentation

Ce blog n'a pour seule prétention que de vous offrir mes différentes découvertes sur Coldfusion MX 7, tantôt des solutions, tantôt des petits soucis qui resteront aussi énigmatiques que le sourire de la Joconde. Je souhaite seulement que certains articles vous feront gagner du temps.

Bonne lecture,

Serge Rappaille

Forum Coldfusion

Souscrivez à notre forum francophone sur Google Groups Bêta.
Votre adresse email :


mercredi 27 juillet 2005

Créer une temporisation

Si vous cherchez à créer une temporisation entre deux process ou plus simplement, à créer un décompte ou simuler un chargement, voici un moyen très simple d'arriver à vos fins :

<cfset thread = CreateObject("java", "java.lang.Thread")>
<cfoutput>

<cfloop from="5" to="1" index="n" step="-1">
#n#...<br>
<cfflush>
<cfset thread.sleep(1000)>
</cfloop>
Go !
</cfoutput>

nb : 1000 = 1 seconde

lundi 25 juillet 2005

Afficher le nombre de sessions ouvertes v2.1

Attention, cela va très vite...

Placez ce petit bout de code dans le fichier application.cfm :

<cfset TimeOut=30>

<cflock scope="session" type="ReadOnly" timeout="2">
<cfset token = session.urltoken>
</cflock>

<cflock scope="application" type="exclusive" timeout="2">

<cfparam name="application.sessions" default="#structNew()#">
<cfset application.sessions[token] = now()>
</cflock>

<cfloop collection="#application.sessions#" item="token">
<cfif DateDiff("n",application.sessions[token],now()) gte TimeOut>
<cfset tmp=StructDelete(application.sessions,token)>
</cfif>
</cfloop>

Et celui-ci dans une page .cfm

<cfoutput>#structcount(application.sessions)#</cfoutput>

Voilà !

Globalement, on affiche le nombre de structures ouvertes dans la registry en prenant soin de ne pas tenir comptes des clefs dépassant le TimeOut défini dans la première ligne (exprimé en minutes).

Notons que certains logiciels changent d'urlToken a chaque lecture de page. Les fichiers RSS créés dynamiquement devront donc être exclus de ce calcul.

jeudi 7 juillet 2005

Manipuler la valeur de deux champs et mettre le résultat dans un troisième.

Bref, voici une petite calculatrice rudimentaire sur deux valeurs qui vous permettra de comprendre la simplicité de la chose.

<cfsavecontent variable="Soustraire">
resultat.text = number(nombre1.text) - number(nombre2.text);
</cfsavecontent>

<cfsavecontent variable="Additionner">
resultat.text = number(nombre1.text) + number(nombre2.text);
</cfsavecontent>

<cfsavecontent variable="Multiplier">
resultat.text = number(nombre1.text) * number(nombre2.text);
</cfsavecontent>

<cfsavecontent variable="Diviser">
resultat.text = number(nombre1.text) / number(nombre2.text);
</cfsavecontent>

<cfform format="flash">
<cfformgroup type="vertical">
<cfinput type="text" name="nombre1" value="" label="Nombre 1 :">
<cfinput type="text" name="nombre2" value="" label="Nombre 2 :">
<cfformgroup type="horizontal">
<cfinput type="button" name="Soustraire" value="Soustraire" onclick="#Soustraire#">
<cfinput type="button" name="Additionner" value="Additionner" onclick="#Additionner#">
<cfinput type="button" name="Multiplier" value="Multiplier" onclick="#Multiplier#">
<cfinput type="button" name="Diviser" value="Diviser" onclick="#Diviser#">
</cfformgroup>
<cfinput type="text" name="resultat" value="" label="Résultat :">
</cfformgroup>
</cfform>

Recherche programmeur Coldfusion

Rubrique temporairement fermée.