VB/VB.Net Traduction VB.net en Java

Inscrit
18 Avril 2013
Messages
19
Reactions
0
#1
Bonjour,

Je n'arrive pas à traduire du code VB.net en Java pour une fonction de décryptage de l'adresse ip ...
J'ai vraiment du mal à traduire les opérateurs de rotation de bit. :x

Code:
        Dim i As Long = 0
        Dim fois As Long = 0
        ipServeurJeu = ""
        While (i < 8)
            i = i + 1
            fois = fois + 1
            Dim dat1 As Integer = Asc(Mid(ipCrypt, i, 1)) - 48
            i = i + 1
            Dim dat2 As Integer = Asc(Mid(ipCrypt, i, 1)) - 48
            Dim Dat3 As String = Str(((dat1 And 15) << 4 Or dat2 And 15))
            If (fois > 1) Then
                ipServeurJeu = ipServeurJeu + Mid(Dat3, 2)
            Else
                ipServeurJeu = ipServeurJeu + Dat3
            End If
            If (i < 8) Then
                ipServeurJeu = ipServeurJeu + "."
            End If
        End While
Je suppose que la fonction Asc() retourne le texte en Ascii, ipCrypt (8 caractères) est la valeur en argument de la fonction et ipServeurJeu (sous forme xxx.xxx.xxx.xxx) est la valeur de retour.

Merci d'avance
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#2
Salut ,http://www.tangiblesoftwaresolutions.com/Product_Details/VB_NET_to_Java_Converter.html?gclid=CMCJ1fLilbgCFTMdtAodmQ8AWw c'est un logicielle qui traduit le code a ta place il est payant mai tu peut utiliser la demo (tan que sa depasse pas 200 ligne je croie) leurs traducteur sont vraiment bien jais réussit a traduire du c++ en vb.net avec :D (evidament je t'ai donner le lien du traducteur vb.net>>java)
 
Inscrit
18 Avril 2013
Messages
19
Reactions
0
#3
Le logiciel ne donne pas une bonne traduction ...
Je n'arrive pas à traduire et à comprendre cette ligne : "Dim Dat3 As String = Str(((dat1 And 15) << 4 Or dat2 And 15))" :cry:
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#4
Salut essaye ça par contre je ne code pas en java pas sur que cela fonctionne!
Code:
string Dat3 = String.Valueof(((dat1 & 15) << 4 | dat2 & 15));
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#5
En fait, il faut doubler les "&" et "|" même si en mettre qu'un fonctionne aussi.
Par contre pour les exceptions, il ne faut mettre qu'un "|", par exemple :
Code:
try {
...
} catch(NullPointerException | ArrayIndexOutOfBoundException ex) {
...
}
 
Haut Bas