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];
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
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