Avatar billede hejhejhej Nybegynder
18. oktober 2003 - 11:15 Der er 4 kommentarer og
1 løsning

Oversætte en stump Javascript til VB

Er der nogen der kan hjælpe med at "oversætte" denne stump javascript-kode til Visual Basic?

function hej(string1, string2)
{
var m = new Array();
  var i, j;
  for(i=0; i < string1.length + 1; i++) m[i] = new Array();
m[0][0] = 0;
for(j=1; j <= string2.length; j++)
  m[0][j] = m[0][j-1] + 1;
  for(i=1; i <= string1.length; i++){
  m[i][0] = m[i-1][0] + 1;
  for(j=1; j <= string2.length; j++){                 
  var diag = m[i-1][j-1];
  if( string1.charAt(i-1) != string2.charAt(j-1) )diag++;
  m[i][j] = Math.min( diag,
            Math.min( m[i-1][j]-0 + 1,
                      m[i][j-1]-0 + 1 ) )
  }
  }
return m[string1.length][string2.length];
Avatar billede helmet Nybegynder
20. oktober 2003 - 10:50 #1
Sindsyg måde at finde forskellen på længden af 2 strenge på, lavet om til VB kan den se sådan ud:
Function hej(string1 As String, string2 As String)
  hej = Abs(Len(string1) - Len(string2))
End Function
Avatar billede helmet Nybegynder
20. oktober 2003 - 14:53 #2
Der var jeg da alt for hurtig på aftrækkeren, det er selvfølge forskellen i tegn den returneret. Lavet om til VB

Function hej(string1 As String, string2 As String)
Dim m() As Integer
Dim i As Integer
Dim j As Integer
Dim diag As Integer
Dim tmp1 As Integer
Dim tmp2 As Integer

  ReDim m(Len(string1), Len(string2))

  m(0, 0) = 0

  For j = 1 To Len(string2)
    m(0, j) = m(0, j - 1) + 1
  Next
 
  For i = 1 To Len(string1)
    m(i, 0) = m(i - 1, 0) + 1
    For j = 1 To Len(string2)
      diag = m(i - 1, j - 1)
      If Mid(string1, i, 1) <> Mid(string2, j, 1) Then
        diag = diag + 1
      End If
     
      tmp1 = m(i - 1, j) + 1
      tmp2 = m(i, j - 1) + 1
      m(i, j) = IIf(diag < IIf(tmp1 < tmp2, tmp1, tmp2), diag, IIf(tmp1 < tmp2, tmp1, tmp2))
    Next
  Next
 
  hej = m(Len(string1), Len(string2))
End Function
Avatar billede hejhejhej Nybegynder
20. oktober 2003 - 23:50 #3
tak for hjælpen
Avatar billede arne_v Ekspert
20. oktober 2003 - 23:59 #4
Hvor mange sprog vil du have den kode i ?
Avatar billede hejhejhej Nybegynder
21. oktober 2003 - 13:10 #5
ik i flere tak :-)
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
Kurser inden for grundlæggende programmering

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