ListLen - da fehlt doch was ?

Howto , Coldfusion Add comments

ich hatte grad das Vergnügen auf einem ACF8 eine Listen-Länge zu ermitteln und stellte mit erschrecken fest , daß leere Felder nicht berücksichtigt werden. Irgendwo wußte ich aber doch das da was war mit emptyValues..blah ... mh ... ahja seit CF9 gibbet also eine 3te Option namens "includeEmptyFields" ... toll ...CF9 ... bringt mich jetzt nich wirklich weiter ...

Suchmaschinerie zeigte aber dann sofort den Link zum Thema Eigenbau der ListLen-Funktion mit den leeren Feldern: http://clintoncherry.wordpress.com/2005/04/19/count-number-of-items-in-a-cold-fusion-list-including-blank-or-empty-values/

ok seit 2005 ist ne weile her aber vom Sinn her war der Weg mal verständlich.

Aus der Funktion hab ich mir dann einfach mal eine UDF gebastelt nach meinen Wünschen:

 

<cffunction name="ListItemCountAll">
    <cfargument name="liste" required="true" type="string">
    <cfargument name="trennzeichen" required="false" type="string" default="," >
   
    <cfset tmpList = arguments.liste >
    <cfset tmpTrennzeichen = arguments.trennzeichen>
   
   

    <!--- erstmal leere felder fuellen --->
    <cfloop condition='find("#tmpTrennzeichen##tmpTrennzeichen#",tmpList) GT 0'>
         <cfset intInsertPoint = find("#tmpTrennzeichen##tmpTrennzeichen#",tmpList)>
             <cfset tmpList = insert("0", tmpList, intInsertPoint)>
    </cfloop>
     <!--- Check start string --->
        <cfif Mid(tmpList,1,1) EQ "#tmpTrennzeichen#">
        <cfset tmpList = "0" & tmpList>
    </cfif>
    <!--- Check end string --->
    <cfif Mid(Reverse(tmpList),1,1) EQ "#tmpTrennzeichen#">
          <cfset tmpList = tmpList & "0">
    </cfif>
    <!--- nun sollte die liste zaehlbar sein --->
    <cfset intCount = ListLen(tmpList,"#tmpTrennzeichen#")>
    <cfreturn intCount>
   
</cffunction>

 

ein kleiner Test mit der Liste   "muh,,,,mops,mah" ergab dann auch nicht 3 , sondern 6 und wenn ich als Trennzeichen ein ";" nehme , dann kommt auch eine 6 als Ergebnis.

 

So brauch ich das.

 

0 responses to “ListLen - da fehlt doch was ?”

Leave a Reply




Powered by Mango Blog. Design and Icons by N.Design Studio