But why would this work with CF Server 4.0 and not in 4.5?  There is no
change in the code or OS?

Thanks!
Hatton

> -----Original Message-----
> From: Michael Dinowitz [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, April 12, 2001 11:36 AM
> To: CF-Talk
> Subject: Re: FormatBaseN Blowing up
>
>
> FormatBaseN() will only work on an integer. Look at this article for more
> info on it.
> http://www.fusionauthority.com/alert/index.cfm?alertid=30#tech1
> http://www.houseoffusion.com/hof/datatype.cfm
>
>
> > Hi folks,
> >
> > Okay, off the thought ramble for a moment and on to something more
> pressing
> > and less theoretical.
> >
> > Yesterday our network admin updated one of the servers.  The hardware
> > upgrade was necessary and the server needed cleaning.  The web
> server was
> > changed from Netscape Enterprise server to IIS4.0 and the CF Server went
> > from 4.0 to 4.5.1.  We thought we had all the problems ironed out, but
> > apparently there's some interesting differences.
> >
> > The one I'm dealing with right now has to do with the FormatBaseN
> funciton.
> > Here's the code in question:
> >
> > <!--- get the current system time --->
> > <cfset systime=#DateFormat(now(),"yyyymmdd")# &
> > #TimeFormat(now(),"hhmmss")#>
> > <cfset systime_orig=systime>
> >
> > <!--- now scramble it up --->
> > <cfset length=len(systime)>
> > <!---<cfoutput>#systime#<br></cfoutput>--->
> > <cfloop index="i" from=1 to=#length#>
> > <cfset ran1=RandRange(1,length)>
> > <cfset ran2=RandRange(1,length)>
> > <cfset token1=#mid(systime,ran1,1)#>
> > <cfset token2=#mid(systime,ran2,1)#>
> >
> > <cfset systime=#removeChars(systime,ran1,1)#>
> > <cfset systime=Replace(systime," ","","ALL")>
> > <cfset systime=#Ljustify(systime,14)#>
> > <cfset systime=#insert(token2,systime,ran1)#>
> >
> > <cfset systime=#removeChars(systime,ran2,1)#>
> > <cfset systime=Replace(systime," ","","ALL")>
> > <cfset systime=#Ljustify(systime,14)#>
> > <cfset systime=#insert(token1,systime,ran2)#>
> > </cfloop>
> > <cfset systime=Replace(systime," ","","ALL")>
> > <cfoutput>#systime# Len: #len(systime)#<br>
> > #int(systime)# - #val(systime)# - #NumberFormat(systime)# -
> > #IsNumeric(systime)#<br>
> > #int(systime_orig)# - #val(systime_orig)# -
> #NumberFormat(systime_orig)# -
> > #IsNumeric(systime_orig)#
> > <cfset base16_systime=#FormatBaseN(systime,16)#>
> > <cfset base36_systime=#formatBaseN(systime_orig,36)#>
> > <br>
> > #base16_systime# - #base36_systime#
> > </cfoutput>
> > <cfabort> (This is here to stop further processing while I'm fixing it)
> >
> > On the Netscape server, the output is:
> > 20150031924110 Len: 14
> > 2.01500319241E+013 - 2.01500319241E+013 - 20,150,031,924,110 - YES
> > 2.00104121051E+013 - 2.00104121051E+013 - 20,010,412,105,139 - YES
> > 8b7ebb8e - 2my27n
> >
> > The IIS Server gets the following:
> > 11410401429203 Len: 14
> > 1.14104014292E+013 - 1.14104014292E+013 - 11,410,401,429,203 - YES
> > 2.00104121049E+013 - 2.00104121049E+013 - 20,010,412,104,932 - YES
> >
> --------------------------------------------------------------------------
> --
> > ----
> > Error Occurred While Processing Request
> > Error Diagnostic Information
> >
> > An error occurred while evaluating the expression:
> >
> >  base16_systime=#FormatBaseN(systime,16)#
> >
> > Error near line 56, column 7.
> >
> --------------------------------------------------------------------------
> --
> > ----
> > Parameter 1 of function FormatBaseN which is now
> "11410401429203" must be
> an
> > integer
> >
> > Any ideas or suggestions?
> >
> > TIA
> > Hatton Humphrey
> >
> >
> >
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to