[Ex] Developer Tool : Testez vos RegExp

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

[Ex] Developer Tool : Testez vos RegExp

#1

Message 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
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [Ex] Developer Tool : Testez vos RegExp

#2

Message 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 ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Developer Tool : Testez vos RegExp

#3

Message 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
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre