Avatar billede skildpadden Nybegynder
22. september 2005 - 10:37 Der er 3 kommentarer og
1 løsning

Fra asp til javascript

Jeg har denne kode som er skrevet til asp - er der nogen som kan omdanne den så jeg i stedet kan køre den som javascript?

<%
Function GenererChecksumKode(varBetalingsId)

    ' Generer et betalingsid udfra retningslinjer angivet på side 4, afsnit 3 i
    ' "Fremstilling af indbetalingskort +71<" fra PBS
   
    Dim strBetalingsId
    Dim lngResult, lngFaktor, lngCiffer
    Dim i
   
    If IsNull(varBetalingsId) Then
        GenererChecksumKode = 0
    ElseIf (varBetalingsId = "") Then
        GenererChecksumKode = 0
    Else
        strBetalingsId = String(14 - Len(CStr(varBetalingsId)), "0") & varBetalingsId       
        ' gennemløb betalingsid forfra, og multiplicer hvert ciffer med hhv. 2 og 1
        lngFaktor = IIf(Len(strBetalingsId) Mod 2 = 0, 1, 2)
       
        For i = 1 To Len(strBetalingsId)
           
            lngCiffer = CLng(Mid(strBetalingsId, i, 1))
            lngResult = lngResult + Tvaersum(lngCiffer * lngFaktor)
            'response.write lngCiffer & ", " & lngFaktor & ", " & lngCiffer * lngFaktor & " (" & lngResult & ")"
       
            lngFaktor = IIf(lngFaktor = 2, 1, 2)  ' skiftevis 2 og 1
        Next
       
        If (lngResult Mod 10) = 0 Then
            GenererChecksumKode = strBetalingsId & "0"
        Else
            GenererChecksumKode = strBetalingsId & CStr(10 - (lngResult Mod 10))
        End If
           
    End If
   
End Function

Function Tvaersum(lng)

    ' Udregner tværsum for det givne tal
   
    Dim str
    Dim lngResult, i
   
    str = CStr(lng)
   
    For i = 1 To Len(str)
        lngResult = lngResult + CLng(Mid(str, i, 1))
    Next
   
    Tvaersum = lngResult
   
End Function

Function IIf(bResult, ReturnTrue, ReturnFalse)
    If bResult Then
        IIf = ReturnTrue
    Else
        IIf = ReturnFalse
    End If
End Function


'*********************************************************************************************

dim strOCR

strOCR = GenererChecksumKode(ordreid)

'*********************************************************************************************
%>
Avatar billede skildpadden Nybegynder
22. september 2005 - 11:12 #1
Fandt en anden løsning.
Avatar billede cpufan Juniormester
22. september 2005 - 11:30 #2
nå - har lige siddet og nørklet........

med at oversætte min egen funktion til javascript,
den er noget kortere end din.

<script type="text/javascript">
function modulus(talraekke){
fiknr = talraekke
while fiknr.length<14{
fiknr = "0" + fiknr}

tal = fiknr
msum = 0
i = tal.length
while i >=0{
    if (i % 2) <> 0 {
    tmp = parseInt(talsubstr(i,1))* 2}
    else{
    tmp = parseInt(talsubstr(i,1))* 1}

    if tmp >= 10 {
    tmp = parseInt(tmp.substr(0,1)) ++ parseInt(tmp.substr(tmp.length-1,1))}

    msum = msum + tmp
    i = i - 1
    }
msum = msum % 10
if(msum > 0) { msum = 10 - msum}
fiknr = fiknr + msum
return fiknr

}
</script>
Avatar billede cpufan Juniormester
22. september 2005 - 11:32 #3
Den er skrevet om fra denne asp:

http://www.eksperten.dk/artikler/702

ps: artiklen er gratis
Avatar billede cpufan Juniormester
22. september 2005 - 11:33 #4
javascript-versionen er dog ikke verificeret,
det er asp-funktionen til gengæld
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester