Page 1 sur 1

[Ex] Developer Tool : Testez vos RegExp

Posté : jeu. 14 janv. 2010 18:31
par timmalos
Salut a tous. Je bossais aujourd'hui sur la compression de donnée (simple et sans perte) et j'ai été amené a utiliser beaucoup de RegExp.
Comme je ne suis pas encore tres doué pour les utiliser, j'ai commencé a developper un petit utilitaire qui permet de tester vos RegExp sans relancer votre code a chaque fois, ce qui peut prendre du temps car certaines sont tres ... recalcitrantes

Donc voila, vous mettez votre texte, et testez vos RegExp les resultats sont affichés automatiquement et directement dans un TreeView (RegExp avec Flag 4)

Il faudrait rajouter un combobox pour choisir le flag et adapter la reponse en fonction, mais pour l'instant ca me suffit.
Avis aux amateurs donc

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#Include <GuiTreeView.au3>
    Opt("GUIResizeMode", 1)
    Opt("GUIDataSeparatorChar", "|")
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 635, 445, 192, 124)
 GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
    GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")

$Entrez = GUICtrlCreateEdit("", 24, 48, 345, 305)
GUICtrlSetOnEvent(-1,"actualise")
GUICtrlSetData($Entrez, "<test>a</test><test>a</test><test>a</test>")
$Label1 = GUICtrlCreateLabel("Developer Tool For Regular Expressions", 16, 8, 599, 26)
GUICtrlSetFont($Label1, 14, 400, 0, "Neurochrome")
GUICtrlSetBkColor($Label1, 0x3399FF)
$Input1 = GUICtrlCreateInput("Input1", 112, 392, 497, 21)
$Label2 = GUICtrlCreateLabel("Expression Regulière:", 8, 392, 106, 17)
$List1 = GUICtrlCreateTreeView(376, 64, 249, 305,-1)
$Label3 = GUICtrlCreateLabel("Resultats", 456, 40, 88, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$input = ""
$input_old = ""
$flag  = 4
While 1
    Sleep(100)
    $input = GuiCtrlRead($Input1)
    If $input <> $input_old Then
        $input_old = $input


        _GUICtrlTreeView_DeleteAll($List1)

        $array = StringRegExp(GuiCtrlRead($Entrez),$input,$flag)
        If Ubound($array)-1 >30 Then
            $max = 30
            ToolTip("Trop De Resultat. La requete a été tronquée.")
        Else
            $max = Ubound($array)-1
        EndIf

        For $i = 0 to $max

            Assign($i&"_",GUICtrlCreateTreeViewItem($i,$List1))
            for $j = 0 to Ubound($array[$i]) - 1
                $array2 = $array[$i]
                GUICtrlCreateTreeViewItem($array2[$j],Eval($i&"_"))
            Next
            GuiCtrlSetState(Eval($i&"_"),$GUI_EXPAND)
        Next
        ControlClick(AutoItWinGetTitle(),"",$Input1)
    EndIf
WEnd
Func actualise()
    $input_old = ""
EndFunc
Func SpecialEvents()


    Select
        Case @GUI_CtrlId = $GUI_EVENT_CLOSE
            ;MsgBox(0, "Close Pressed", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
            Exit

        Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
            ;MsgBox(0, "Window Minimized", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)

        Case @GUI_CtrlId = $GUI_EVENT_RESTORE
            ;MsgBox(0, "Window Restored", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)

    EndSelect

EndFunc   ;==>SpecialEvents

Re: [Ex] Developer Tool : Testez vos RegExp

Posté : jeu. 14 janv. 2010 22:17
par ani
Salut tim :)
je suis pas sûre d'avoir tout saisis, si c'est bien ce que je pense alors visionne dans le dossier d'autoit = Examples\helpfile\stringregexpGui.au3

Il doit exister une suite sur le fofo anglais ;)
Je bossais aujourd'hui sur la compression de donnée
çà je veux bien voir sinon, merci :)

bonne continuation ;)

Re: [Ex] Developer Tool : Testez vos RegExp

Posté : jeu. 14 janv. 2010 22:21
par Tlem
Il me semblait avoir mis le script RegExpQuickTester.au3 ou au moins son lien quelque part sur le forum, mais je n'ai pas trouvé de trace ... :oops:
Donc voici le lien : http://www.autoitscript.com/forum/index ... opic=27025