Titre bizarre ? J'ai pas trouvé mieux...
Heu... ce code source permet de lancer une recherche sur Internet (sur Google, Altavista, Windows Live Search ou bien un moteur défini par l'utilisateur) concernant le contenu textuel d'un contrôle.
Exemple : vous sélectionnez un contrôle Textbox, vous lancez la recherche (touche F1), et vous trouvez les résultats de Text1.Text sur un moteur de recherche.
Pleins de contrôles différents sont placés dans la form, chacun d'entre eux affichant un texte. Sélectionnez le contrôle, et appuyez sur F1 pour la recherche...
Les divers moteurs sont sélectionnables par le menu.
Si vous entrez vous même un moteur de recherche (une URL), mettez "[TEXT]" dans l'URL à l'emplacement requis pour la recherche (exemple pour google.fr :
http://www.google.fr/search?hl=fr&q=%22[TEXT]%22&meta=).
Concernant l'utilité de ce code.....
.... elle est pas évidente (du tout...damn...) sortie du contexte de mon programme (cette source est un infime morceau d'un très gros projet).
Qui a dit "çà sert à qu'dalle !" ? ;)
Mais vous pouvez peut être adapter le code pour qu'il ne soit pas (moins) inutile. EXEMPLE : vous remplacez toutes les lignes
If TypeOf Me.ActiveControl Is TextBox Then
sText = Me.ActiveControl.Text
ElseIf TypeOf Me.ActiveControl Is ListView Then
sText = Me.ActiveControl.SelectedItem.Text
ElseIf TypeOf Me.ActiveControl Is TreeView Then
sText = Me.ActiveControl.SelectedItem.Text
ElseIf TypeOf Me.ActiveControl Is CommandButton Then
sText = Me.ActiveControl.Caption
ElseIf TypeOf Me.ActiveControl Is CheckBox Then
.....
par sText = Me.ActiveControl.Name
pour lancer un recherche sur le NOM du contrôle, le moteur étant défini comme "personnalisé" et ayant comme URL votre site. Une "aide en ligne" pour chaque contrôle sera ainsi disponible. Par exemple,
http://www.monsite/aide_en_ligne/controle=[TEXT].
Source / Exemple :
Option Explicit
'FORM de test pour ce programme
'PERMET de rechercher le texte contenu dans le contrôle sélectionné
'sur différents moteur du Web
'//APIs
'API permettant de lancer le navigateur par défaut
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'//VARIABLES
Private sURLrecherche As String 'contient l'URL du moteur perso
Private engineSearchEngine As SearchEngine 'contient le navigateur sélectionné
'//ENUMs
'contient les différents moteur possibles
Private Enum SearchEngine
Google = 1
Altavista = 2
Live = 3
Personnel = 4
End Enum
Private Sub Form_Load()
'définit les variables par défaut
Dim x As Long
'par défaut, le moteur perso est google.fr
sURLrecherche = "http://www.google.fr/search?hl=fr&q=%22[PROCESS]%22&btnG=Recherche+Google&meta="
'par défaut, le moteur de recherche est google.com
engineSearchEngine = Google
'ajout des élements du ListView
With ListView1.ListItems
For x = 1 To 30
.Add Text:="Element" & CStr(x) & " Listview"
Next x
End With
'ajout des éléments du Treeview
With TreeView1
.Nodes.Add , tvwChild, "Root", "Tree1"
.Nodes.Add , tvwChild, "Root2", "Tree2"
.Nodes.Add "Root2", tvwChild, "n1", "Tree3"
.Nodes.Add "Root2", tvwChild, "n2", "Tree4"
.Nodes.Add "n2", tvwChild, "n21", "Tree5"
.Nodes.Add "n2", tvwChild, "n22", "Tree6"
.Nodes.Add "n22", tvwChild, "n221", "Tree7"
.Nodes.Add "n221", tvwChild, "n2211", "Tree8"
.Nodes.Add "n22", tvwChild, "n222", "Tree9"
.Nodes.Add "n2", tvwChild, "n31", "Tree10"
.Nodes.Add "Root2", tvwChild, "n3", "Tree11"
End With
'expand les éléments du treeview
For x = 1 To 11
TreeView1.Nodes(x).Expanded = True
Next x
End Sub
Private Sub mnu_altavista_Click()
'change les checkboxes
Me.mnu_google.Checked = False
Me.mnu_altavista.Checked = True
Me.mnu_define.Checked = False
Me.mnu_live.Checked = False
engineSearchEngine = Altavista
End Sub
Private Sub mnu_define_Click()
Dim s As String
'change les checkboxes
Me.mnu_google.Checked = False
Me.mnu_altavista.Checked = False
Me.mnu_define.Checked = True
Me.mnu_live.Checked = False
'définit le moteur de recherche
s = "Définissez l'URL par défaut de votre moteur personnalisé" & _
vbNewLine & "Mettez [TEXT] à la place de la zone de la string" & _
vbNewLine & "réservée au mot à rechercher" & _
vbNewLine & "Exemple : http://www.google.fr/search=%22[TEXT]%22"
sURLrecherche = InputBox(s, "Définir un site de recherche personnalisé")
engineSearchEngine = Personnel
End Sub
Private Sub mnu_end_Click()
Unload Me
End
End Sub
Private Sub mnu_go_for_search_Click()
'lance la recherche
Dim sURL As String 'contient l'URL finale de recherche
Dim sText As String 'texte à rechercher
'recherche de l'item sélectionné
'récupère son texte en fonction de la nature du contrôle
If TypeOf Me.ActiveControl Is TextBox Then
sText = Me.ActiveControl.Text
ElseIf TypeOf Me.ActiveControl Is ListView Then
sText = Me.ActiveControl.SelectedItem.Text
ElseIf TypeOf Me.ActiveControl Is TreeView Then
sText = Me.ActiveControl.SelectedItem.Text
ElseIf TypeOf Me.ActiveControl Is CommandButton Then
sText = Me.ActiveControl.Caption
ElseIf TypeOf Me.ActiveControl Is CheckBox Then
sText = Me.ActiveControl.Caption
ElseIf TypeOf Me.ActiveControl Is OptionButton Then
sText = Me.ActiveControl.Caption
ElseIf TypeOf Me.ActiveControl Is ComboBox Then
sText = Me.ActiveControl.Text
ElseIf TypeOf Me.ActiveControl Is DriveListBox Then
sText = Me.ActiveControl.Drive
ElseIf TypeOf Me.ActiveControl Is ListBox Then
sText = Me.ActiveControl.Text
ElseIf TypeOf Me.ActiveControl Is DirListBox Then
sText = Me.ActiveControl.Path
ElseIf TypeOf Me.ActiveControl Is FileListBox Then
sText = Me.ActiveControl.FileName
ElseIf TypeOf Me.ActiveControl Is TabStrip Then
sText = Me.ActiveControl.SelectedItem.Caption
End If
If engineSearchEngine = Personnel Then
'alors c'est un navigateur perso
sURL = Replace(sURLrecherche, "[TEXT]", sText)
Else
'un des navigateurs prédéfinis
Select Case engineSearchEngine
Case Google
'google.com
sURL = "http://www.google.com/search?hl=en&q=%22" & sText & "%22"
Case Altavista
'altavista.com
sURL = "http://www.altavista.com/web/results?itag=ody&q=%22" & sText & "%22&kgs=0&kls=0"
Case Live
'live.com
sURL = "http://beta.search.live.com/results.aspx?q=%22" & sText & "%22&mkt=fr-fr&FORM=LVSP&go.x=0&go.y=0"
End Select
End If
'lance le navigateur internet par défaut
ShellExecute Me.hwnd, "open", sURL, ByVal 0&, 0&, 1
End Sub
Private Sub mnu_google_Click()
'change les checkboxes
Me.mnu_google.Checked = True
Me.mnu_altavista.Checked = False
Me.mnu_define.Checked = False
Me.mnu_live.Checked = False
engineSearchEngine = Google
End Sub
Private Sub mnu_live_Click()
'change les checkboxes
Me.mnu_google.Checked = False
Me.mnu_altavista.Checked = False
Me.mnu_define.Checked = False
Me.mnu_live.Checked = True
engineSearchEngine = Live
End Sub
Conclusion :
Bon OK, çà casse - à priori - pas la baraque niveau utilité de code. M'enfin, sachez que l'idée de modification donnée dans la présentation du code peut être intéressante... et sachez également que c'est intéressant dans mon projet (si, si !)
Pour les commentaires, tous sont bienvenus (évidemment les critiques aussi, mais argumentées svp).
Pour la note, inutile de mettre 0 si vous comprenez pas à quoi sert ce code... passez simplement votre chemin ;)
Merci de votre compréhension, @+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.