Page 1 sur 1
[R] Moteur de Recherche pour forum PhpBB
Posté : jeu. 07 janv. 2010 21:10
par C3D
Bonjour, je suis actuellement en train de faire un moteur de recherche pour un forum, à l'heure actuelle grâce à divers sources j'ai réussi à faire cela :
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$FORM1 = GUICreate(".:XXXXX::..", 380, 70, 595, 479, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))
$INPUT1 = GUICtrlCreateInput('Votre recherche ici ...', 8, 8, 217, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$BUTTON1 = GUICtrlCreateButton("Rechercher sur XXXXX", 40, 36, 290, 25, 0)
$COMBO1 = GUICtrlCreateCombo("", 240, 8, 120, 40, $CBS_DROPDOWNLIST)
$COMBO2 = GUICtrlSetData(-1, " [XXXXX] | [XXXXX] | [XXXXX] | [XXXXX] | [XXXXX] ")
GUICtrlSetState($BUTTON1, $GUI_DEFBUTTON)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetOnEvent($BUTTON1, "DPSearch")
GUISetOnEvent($GUI_EVENT_CLOSE, "DPSearchClose")
Func DPSearch()
$INPUTT = StringSplit(GUICtrlRead($INPUT1), ' ')
$SEARCH = ''
$SEARCH2 = '++'
$INPUTT2 = $INPUTT[0] - 1
For $I = $INPUTT2 To 0 Step -1
$TEMP = $INPUTT[0] - $I
$SEARCH &= $INPUTT[$TEMP]
If $I <> 0 Then
$SEARCH &= '+'
EndIf
Next
$FINAL = "http://LEFORUM.com/forum/search.php?keywords="
$FINAL &= $SEARCH
$FINAL &= GUICtrlRead($COMBO1)
ShellExecute($FINAL)
EndFunc ;==>DPSearch
Func DPSearchClose()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
EndSelect
EndFunc ;==>DPSearchClose
While 1
Sleep(10000)
WEnd
La recherche fonctionne très bien comme cela mais celle ci regarde dans tous le forum.
Maintenant je cherche a faire une rechercher dans un forum particulier, mais je n'arrive pas a ajouté un box avec mes catégories et leurs numéros.
J'avais trouvé un bout de script pouvant m'aider mais je ne le retrouve plus et donc demande votre aide.
Merci à vous
Re: [..] Moteur de Recherche pour forum PhpBB
Posté : jeu. 07 janv. 2010 22:23
par Tlem
Personnellement, j'utiliserais deux tableaux.
Dans l'un, la liste des forums (le nom) et dans l'autre (dans le même ordre) le numéro du forum rapporté par la recherche ou la navigation (Sur le
autoitscript.fr, le forum Aide générale est le N°3 :
http://www.autoitscript.fr/forum/viewforum.php?f=3).
Avec le premier tableau je peuple le ComboBox afin de voir la liste des noms des forums.
En cliquant sur le bouton de recherche, je regarde quel forum est sélectionné (par son indice) et avec ça je prend le même élément dans l'autre tableau qui me donne le numéro du forum. Ce qui me permet de construire le lien de recherche.

Re: [..] Moteur de Recherche pour forum PhpBB
Posté : jeu. 07 janv. 2010 23:57
par C3D
Je te remercie Tlem c'est bien ce que j'ai compris et ce que j'essaye de mettre en œuvre mais je ne m'en sort pas si tu as un exemple cela m'arrangerais, pour ce soir j'arrête la , la suite demain
Bonne nuit @ toi

Re: [..] Moteur de Recherche pour forum PhpBB
Posté : ven. 08 janv. 2010 08:58
par Tlem
Voilà :
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>
#Include <GuiComboBox.au3>
Dim $aForumName [6] = ["Tout les Forums", "Forum un", "Forum deux", "Forum trois", "Forum quattre", "Forum cinq"]
Dim $aForumIndex [6] = [0, 1, 2, 3, 4, 5]
Dim $iComboIndex
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$FORM1 = GUICreate(".:XXXXX::..", 380, 70, 595, 479, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))
$INPUT1 = GUICtrlCreateInput('Votre recherche ici ...', 8, 8, 217, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$BUTTON1 = GUICtrlCreateButton("Rechercher", 40, 36, 290, 25, 0)
$COMBO1 = GUICtrlCreateCombo($aForumName[0], 240, 8, 120, 40, $CBS_DROPDOWNLIST)
Local $Vartmp
; Boucle pour mettre le nom des forums dans une variable qui sera affectée au combo (L'index 0 à déjà été attribué ;) ).
For $a = 1 to Ubound($aForumName) - 1
$Vartmp &= $aForumName[$a] & '|'
Next
$Vartmp = StringTrimRight($Vartmp, 1) ; Ceci permet de supprimer le dernier caractère de la chaine ('|')
$COMBO2 = GUICtrlSetData($COMBO1, $Vartmp)
GUICtrlSetState($BUTTON1, $GUI_DEFBUTTON)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetOnEvent($BUTTON1, "DPSearch")
GUICtrlSetOnEvent($COMBO1, "ComboSelect")
GUISetOnEvent($GUI_EVENT_CLOSE, "DPSearchClose")
Func DPSearch()
Local $Forum = "http://LEFORUM.com/forum/search.php?keywords="
Local $ForumName = $aForumName[$iComboIndex]
Local $ForumIndex = $aForumIndex[$iComboIndex]
$INPUTT = StringSplit(GUICtrlRead($INPUT1), ' ')
$SEARCH = ''
$SEARCH2 = '++'
$INPUTT2 = $INPUTT[0] - 1
For $I = $INPUTT2 To 0 Step -1
$TEMP = $INPUTT[0] - $I
$SEARCH &= $INPUTT[$TEMP]
If $I <> 0 Then $SEARCH &= '+'
Next
; Ceci est juste pour que vous voyez le résultat.
MsgBox(64, '', 'Site = ' & $Forum & @CRLF & 'Nom du forum = ' & $ForumName & @CRLF & _
'Index du forum = ' & $ForumIndex & @CRLF & 'Recherche = ' & $SEARCH)
$FINAL = $Forum & $ForumName & $ForumIndex ; Cette ligne est à mettre comme il faut selon vos besoins.
;ShellExecute($FINAL)
EndFunc ;==>DPSearch
Func DPSearchClose()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
EndSelect
EndFunc ;==>DPSearchClose
Func ComboSelect()
; Attribue l'index de la sélection à la variable $iComboIndex qui est déclarée globalement.
$iComboIndex = _GUICtrlComboBox_GetCurSel($COMBO1)
EndFunc
While 1
Sleep(1000) ; Innutile de faire une pause trop longue (1 seconde suffit)
WEnd
Re: [..] Moteur de Recherche pour forum PhpBB
Posté : ven. 08 janv. 2010 09:04
par C3D
Ca c'est de la rapidité, je vais regardé cela merci à toi
Re: [..] Moteur de Recherche pour forum PhpBB
Posté : ven. 08 janv. 2010 09:45
par C3D
Merci à toi j'ai réussi a faire ce que je souhaitais voila le code final :
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>
#Include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Pic1 = GUICtrlCreatePic("C:\Users\C3D\Desktop\loupe.gif", 88, 40, 97, 89, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Dim $aForumName [6] = ["Tous les Forums", "01", "02", "03", "04", "05"]
Dim $aForumIndex [6] = [0, 13, 42, 60, 69, 68]
Dim $iComboIndex
$Rech1 = "&terms=all&author=&fid[]="
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$FORM1 = GUICreate(".: xxxxxx ::..", 380, 100, 595, 479, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))
$INPUT1 = GUICtrlCreateInput('Votre recherche ici ...', 8, 15, 217, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$BUTTON1 = GUICtrlCreateButton("Rechercher sur VOTRE FORUM", 40, 60, 290, 25, 0)
$COMBO1 = GUICtrlCreateCombo($aForumName[0], 240, 30, 120, 40, $CBS_DROPDOWNLIST)
Local $Vartmp
; Boucle pour mettre le nom des forums dans une variable qui sera affectée au combo (L'index 0 à déjà été attribué ;) ).
For $a = 1 to Ubound($aForumName) - 1
$Vartmp &= $aForumName[$a] & '|'
Next
$Vartmp = StringTrimRight($Vartmp, 1) ; Ceci permet de supprimer le dernier caractère de la chaine ('|')
$COMBO2 = GUICtrlSetData($COMBO1, $Vartmp)
$COMBO3 = GUICtrlCreateCombo("", 240, 2, 120, 40, $CBS_DROPDOWNLIST)
$COMBO4 = GUICtrlSetData(-1, " [XXX] | [XXX] ] | [XXX] ] | [XXX] ] | [XXX] ] ")
GUICtrlSetState($BUTTON1, $GUI_DEFBUTTON)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetOnEvent($BUTTON1, "DPSearch")
GUICtrlSetOnEvent($COMBO1, "ComboSelect")
GUISetOnEvent($GUI_EVENT_CLOSE, "DPSearchClose")
Func DPSearch()
Local $Forum = "http://VOTREFORUM.com/forum/search.php?keywords="
Local $ForumName = $aForumName[$iComboIndex]
Local $ForumIndex = $aForumIndex[$iComboIndex]
$INPUTT = StringSplit(GUICtrlRead($INPUT1), ' ')
$SEARCH = ''
$SEARCH2 = '++'
$INPUTT2 = $INPUTT[0] - 1
For $I = $INPUTT2 To 0 Step -1
$TEMP = $INPUTT[0] - $I
$SEARCH &= $INPUTT[$TEMP]
If $I <> 0 Then $SEARCH &= '+'
Next
$FINAL = $Forum & $SEARCH & GUICtrlRead($COMBO3) & $Rech1 & $ForumIndex ; Cette ligne est à mettre comme il faut selon vos besoins.
ShellExecute($FINAL)
EndFunc ;==>DPSearch
Func DPSearchClose()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
EndSelect
EndFunc ;==>DPSearchClose
Func ComboSelect()
; Attribue l'index de la sélection à la variable $iComboIndex qui est déclarée globalement.
$iComboIndex = _GUICtrlComboBox_GetCurSel($COMBO1)
EndFunc
While 1
Sleep(1000) ; Innutile de faire une pause trop longue (1 seconde suffit)
WEnd
Re: [R] Moteur de Recherche pour forum PhpBB
Posté : ven. 08 janv. 2010 17:17
par C3D
Je me permet une petite question pour infos car je pense cela me servira pour la suite :
Dans cette partie ici :
Code : Tout sélectionner
Dim $aForumName [6] = ["Tous les Forums", "01", "02", "03", "04", "05"]
Dim $aForumIndex [6] = [0, 13, 42, 60, 69, 68]
Chaque forums est attribué par un numéro, si ce n'est pas des numéro mais du texte comment je peut faire ??
Encore Merci
Re: [R] Moteur de Recherche pour forum PhpBB
Posté : ven. 08 janv. 2010 17:27
par Tlem
Hé bien vous n'avez qu'à remplacer les nombres par du texte entre guillemet comme le tableau des noms ...
Re: [R] Moteur de Recherche pour forum PhpBB
Posté : ven. 08 janv. 2010 18:40
par C3D
Quel abruti que je suis j'avais oublié les Guillemets pfff
Merci à toi et désolé pour cette question co##