[vb.net] Traducteur

Résolu
Nexto Messages postés 153 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 27 juillet 2006 - 19 nov. 2005 à 02:44
Nexto Messages postés 153 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 27 juillet 2006 - 19 nov. 2005 à 11:40
Bonsoir,

Je voudrais modifier la source deWhiteDwarf (traducteur qui prend les infos di translate de Google) qui est en vb6 et je voudrais le migrer vers vb.net
Je suis un peu bloquer, j'ai commencer mais la je comprend plus...

La source d'origine en vb6 est:

Private Sub Command1_Click()


Select Case Combo1.Text


Case "English to French": lang = "en|fr"
Case "English to Italian": lang = "en|it"
Case "English to Portuguese": lang = "en|pt"
Case "English to German": lang = "en|de"
Case "English to Spanish": lang = "en|es"
Case "French to German": lang = "fr|de"
Case "French to English": lang = "fr|en"
Case "German to French": lang = "de|fr"
Case "German to English": lang = "de|en"
Case "Spanish to English": lang = "es|en"
Case "Portuguese to English": lang = "pt|en"
Case "Italian to Enhlish": lang = "it|en"


End Select


WebBrowser1.Navigate2 "http://translate.google.com/translate_t?text=" & Text1.Text & "&langpair=" & lang


End Sub


Private Sub WebBrowser2_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If URL = "about:blank" Then Exit Sub
URL = "http://translate.google.com/translate_t?text=" & Text1.Text & "&langpair=en|fr"
Dim doc As New HTMLDocument
Set doc = WebBrowser1.Document
Dim inp As Object


Text1.Text = WebBrowser1.Document.documentElement.innerHTML


Set inp = html_Login.All.Item("q")


End Sub


Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error Resume Next


If InStr(0, UCase(WebBrowser1.Document.documentElement.innerHTML), UCase("<TEXTAREA NAME=Q ROWS=5 WRAP=PHYSICAL COLS=45>")) Then
XXX = Split(UCase(WebBrowser1.Document.documentElement.innerHTML), UCase("<TEXTAREA NAME=Q ROWS=5 WRAP=PHYSICAL COLS=45>"))
YYY = Split(XXX(1), UCase("</TEXTAREA>"))
Text2.Text = Text2.Text & vbCrLf & LCase(YYY(0))
End If


End Sub

et mon commencement en vb.net est:


Public
Class Form1



Dim lang
As
String
Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



Select
Case ComboBox1.Text



Case
"English to French" : lang =
"en|fr"
Case
"English to Italian" : lang =
"en|it"
Case
"English to Portuguese" : lang =
"en|pt"
Case
"English to German" : lang =
"en|de"
Case
"English to Spanish" : lang =
"en|es"
Case
"French to German" : lang =
"fr|de"
Case
"French to English" : lang =
"fr|en"
Case
"German to French" : lang =
"de|fr"
Case
"German to English" : lang =
"de|en"
Case
"Spanish to English" : lang =
"es|en"
Case
"Portuguese to English" : lang =
"pt|en"
Case
"Italian to Enhlish" : lang =
"it|en"



End
Select


WebBrowser1.Navigate2(
"http://translate.google.com/translate_t?text=" & atraduire.Text &
"&langpair=" & lang)



End
Sub



Private
Sub WebBrowser2_DocumentComplete(
ByVal pDisp
As
Object,
ByVal URL
As
Object)

If URL =
"about:blank"
Then
Exit
Sub
URL =
"http://translate.google.com/translate_t?text=" & atraduire.Text &
"&langpair=en|fr"



Dim doc
As
New HTMLDocument


doc = WebBrowser1.Document



Dim inp
As
Object


atraduire.Text = WebBrowser1.Document.documentElement.innerHTML


inp = html_Login.All.Item(
"q")



End
Sub



Private
Sub WebBrowser1_DocumentComplete(
ByVal pDisp
As
Object,
ByVal URL
As
Object)



On
Error
Resume
Next



If InStr(0, UCase(WebBrowser1.Document.documentElement.innerHTML), UCase(
"<TEXTAREA NAME=Q ROWS=5 WRAP=PHYSICAL COLS=45>"))
Then


XXX = Split(UCase(WebBrowser1.Document.documentElement.innerHTML), UCase(
"<TEXTAREA NAME=Q ROWS=5 WRAP=PHYSICAL COLS=45>"))


YYY = Split(XXX(1), UCase(
"</TEXTAREA>"))


txttraduis.Text = txttraduis.Text & vbCrLf & LCase(YYY(0))



End
If
End
Sub

End
Class



Bref j'ai pas avancé beaucoup, mais je comprent pas ce que je doit faire avec le WebBrowser. Seriez vous m'aider ?

Merci.


A++

Nexto (Alias: fabienfs)

2 réponses

Utilisateur anonyme
19 nov. 2005 à 11:15
Bonjour,



Il y a juste a corriger les erreurs qu'il t'indique.

Pour plus de clarté, il faut aussi mettre option explicit et option strict





Option Explicit On

Option Strict On



Public Class Form1



Dim lang As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Select Case ComboBox1.Text

Case "English to French" : lang = "en|fr"

Case "English to Italian" : lang = "en|it"

Case "English to Portuguese" : lang = "en|pt"

Case "English to German" : lang = "en|de"

Case "English to Spanish" : lang = "en|es"

Case "French to German" : lang = "fr|de"

Case "French to English" : lang = "fr|en"

Case "German to French" : lang = "de|fr"

Case "German to English" : lang = "de|en"

Case "Spanish to English" : lang = "es|en"

Case "Portuguese to English" : lang = "pt|en"

Case "Italian to Enhlish" : lang = "it|en"

End Select


WebBrowser1.Navigate("http://translate.google.com/translate_t?text="
& atraduire.Text & "&langpair=" & lang)

End Sub



Private Sub WebBrowser1_DocumentCompleted(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles
WebBrowser1.DocumentCompleted

Dim XXX() As String =
Split(UCase(WebBrowser1.Document.ActiveElement.InnerHtml),
UCase("<TEXTAREA NAME=Q ROWS=5 WRAP=PHYSICAL COLS=45>"))

Dim YYY() As String = Split(XXX(1), UCase("</TEXTAREA>"))

txttraduis.Text = txttraduis.Text & vbCrLf & LCase(YYY(0))

End Sub



End Class




Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
3
Nexto Messages postés 153 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 27 juillet 2006 1
19 nov. 2005 à 11:40
Que dire de plus à part GRAND Merci Charles Racaud


A++

Nexto (Alias: fabienfs)
[mailto:fabien@interplanet.be fabien@interplanet.be]
0
Rejoignez-nous