Solved

CDec in ASP

Posted on 2001-07-05
14
2,828 Views
Last Modified: 2007-11-27
Hey,
I have the folowing code in ASP file, but it seems like the third line generates an error.
this is a simple conversion from hexa value to decimal. and it works fine in VB.

HexStr = "FFFFFF"
msgbox "&h"+cstr(HexStr)
msgbox CDec("&h" +cstr(HexStr))
msgbox "end"


* The end message doesn't appere!
0
Comment
Question by:gshriki
  • 4
  • 4
  • 3
  • +1
14 Comments
 
LVL 4

Expert Comment

by:epeele
ID: 6255353
msgbox and CDec are not available in ASP.
0
 

Expert Comment

by:Gizmo
ID: 6255393
Msgbox is avalible if you do it in VBScript:

<SCRIPT language="VBScript">
     Dim intBoxResult

     intBoxResult = MsgBox("Blaha Blaha" & vbCrLf & vbCrLf & "Are you sure?",52,"Sure?")
                   
     select case intBoxResult
             case 6     ' Yes
                location.replace("xx.asp?do=deleteid=<%=intID%>")
             case 7     ' No
                history.go(-1)
     
     end select
     
</SCRIPT>

That will display a msgbox...
As and you can see it's possible to mix in ASP code (<%=intID%>....

~Gizmo
0
 

Expert Comment

by:Gizmo
ID: 6255410
This might explain things a bit better.. =)

<%

Sub DisplayMsgBoxConfirm(intID)

<SCRIPT language="VBScript">
    Dim intBoxResult

    intBoxResult = MsgBox("Blaha Blaha" & vbCrLf & vbCrLf & "Are you sure?",52,"Sure?")
                   
    select case intBoxResult
            case 6     ' Yes
               location.replace("xx.asp?id=<%=intID%>")
            case 7     ' No
               history.go(-1)
   
    end select
   
</SCRIPT>

end sub


' blaha blaha....

DisplayMsgBoxConfirm(intID)

%>


One thing to think about is that ASP code is run before the VBScript....

~Gizmo
0
 
LVL 4

Expert Comment

by:epeele
ID: 6255450
To clarify even further on what gizmo is saying...

You can use VBScript on the client-side to implement MsgBox, however, this will only be supported in IE browsers.  For Javascript on the client-side, you'd have to use

<script language=javascript>
  alert("This is your message.\n\nSee how it works?");
</script>


But CDec still is not supported.
0
 

Author Comment

by:gshriki
ID: 6255477
All the other msgboxes works fine.
but, what can I do with the CDec ? how can i cnvert Hex value to Decimal ???

thank you all for your comments.
0
 

Author Comment

by:gshriki
ID: 6255522
All the other msgboxes works fine.
but, what can I do with the CDec ? how can i cnvert Hex value to Decimal ???

thank you all for your comments.
0
 
LVL 4

Expert Comment

by:epeele
ID: 6255528
<script language="VBScript">
    Sub Hex2Dec(Hvalue, Dvalue)
        dim q,a,p
        if Left(Hvalue,2)<>"&h" or Left(Hvalue)<>"&H" then
            alert("Wrong number format!")
        else
            q = mid(Hvalue,3)
            Dvalue=0
           
            while q<>""
                a=left(q,1)
                q=mid(q,2)
                select case a
                    case "1"
                        p=0
                    case "2"
                        p=2
                    case "3"
                        p=3
                    case "4"
                        p=4
                    case "5"
                        p=5
                    case "6"
                        p=6
                    case "7"
                        p=7
                    case "8"
                        p=8
                    case "9"
                        p=9
                    case "A","a"
                        p=10
                    case "B","b"
                        p=11
                    case "C","c"
                        p=12
                    case "D","d"
                        p=13
                    case "E","e"
                        p=14
                    case "F","f"
                        p=15
                    case else
                        p=0
                end select
               
                Dvalue=Dvalue+p*16^len(q)
            wend
        end if
    End Sub
</script>

<!---------* Call the proc *---------->

<body>
<script>
    Hvalue="&hA23"
    Call Hex2Dec(Hvalue,Dvalue)
    alert(Dvalue)
</script>
</body>
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Expert Comment

by:Gizmo
ID: 6255538
What I can find CDec is only supported in VBA.

The workaround I found is to do the conversation in JavaScript...
using the object.toString function...
But I'm no JavaScript expert (But MSDN makes you one.. hehe)...  

But I'm not sure that's the easiest way to do it..

~Gizmo
0
 
LVL 4

Expert Comment

by:epeele
ID: 6255573
This function converts a hexadecimal value represented by a string into a decimal value.

Function HexToDec(strHex)
  dim lngResult
  dim intIndex
  dim strDigit
  dim intDigit
  dim intValue

  lngResult = 0
  for intIndex = len(strHex) to 1 step -1
    strDigit = mid(strHex, intIndex, 1)
    intDigit = instr("0123456789ABCDEF", ucase(strDigit))-1
    if intDigit >= 0 then
      intValue = intDigit * (16 ^ (len(strHex)-intIndex))
      lngResult = lngResult + intValue
    else
      lngResult = 0
      intIndex = 0 ' stop the loop
    end if
  next

  HexToDec = lngResult
End Function


0
 
LVL 3

Expert Comment

by:nigelrowe
ID: 6255725
Or try this, it's a bit simpler....

HexStr = "&h" & "FFFFFF"
If IsNumeric(HexStr) Then
    Response.Write "Dec value: " & CLng(HexStr)
End If


0
 
LVL 3

Expert Comment

by:nigelrowe
ID: 6255823
But you'd better check the length of the hex string first

a = "&hffffffff"
If IsNumeric(a) Then
     response.write Cdbl(a)
End If

"ffffffff" is the largest hex number that will be converted with CLng

0
 
LVL 3

Accepted Solution

by:
nigelrowe earned 100 total points
ID: 6255829
Whoops, that should be...

a = "&hffffffff"
If IsNumeric(a) Then
    response.write CLng(a)
End If
0
 

Author Comment

by:gshriki
ID: 6255934
Thanks !!! it works !!!
0
 
LVL 3

Expert Comment

by:nigelrowe
ID: 6256065
Yes, amazing isn't it?

Cheers, have a good day
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Highlight a word from some text 16 50
how to hide hide popup page refresh second time? 10 112
Need help to rewrite script 3 67
is this a cms? 8 35
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now