UDF > GUI > GuiRichEdit >


_GUICtrlRichEdit_FindTextInRange

Recherche d'un texte entre deux positions d'inter-caractères

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_FindTextInRange ( $hWnd, $sText [, $iStart = 0 [, $iEnd = -1 [, $bMatchCase = False [, $bWholeWord = False [, $iBehavior = 0]]]]] )

Paramètres

$hWnd Handle du contrôle
$sText Texte à rechercher
$iStart [optionnel] Position de départ inter-caractères de la recherche
Par défaut: début du contrôle
$iEnd [optionnel] Position de fin inter-caractères de la recherche
Par défaut: fin du contrôle
$bMatchCase [optionnel] Sensibilité à la casse de la recherche
Par défaut: False, insensible à la casse
$bWholeWord [optionnel] Recherche seulement un mot entier
Par défaut: False, mot partiel ou total
$iBehavior [optionnel] Toute combinaison de BITOR de $FR_MATCHALEFHAMZA, $FR_MATCHDIAC et $FR_MATCHKASHIDA
Par défaut: 0

Valeur de retour

Succès: Retourne un $Array[2] contenant les valeurs suivantes:
        Si la chaîne cible est trouvée, les positions limites des inter-caractères contenant le texte correspondant, par exemple, [45, 52]
        S'il n'est pas trouvé, [-1, -1]
Échec: Définit @error <> 0.
@error: 101 - $hWnd n'est pas une handle
102 - $sText = ""
103 - $iStart n'est ni un nombre positif ni zéro ni -1
104 - $iEnd n'est ni un nombre positif ni zéro ni -1
105 - $bMatchCase doit être True ou False
106 - $bWholeWord doit être True ou False
1071 - $iBehavior n'est pas un nombre
1072 - $iBehavior est invalide

Remarque

La position entre les caractères au début du contrôle est 0.
La plage de caractères par défaut, de 0 à -1, recherche dans le texte entier vers l'avant.
Définissez $iEnd à -1 pour rechercher vers le bas jusqu'à la fin du contrôle
Définissez $iStart à -1 pour rechercher vers le haut jusqu'au début du contrôle

En relation

_GUICtrlRichEdit_FindText

Voir aussi

Consultez EM_FINDTEXTEX dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>

Global $g_idLblMsg

Example()

Func Example()
    Local $hGui, $aiPos, $hRichEdit
    $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, "Ceci est un test.", 10, 10, 300, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    GUISetState(@SW_SHOW)

    _GUICtrlRichEdit_AppendText($hRichEdit, @CRLF & "Ceci est du texte ajoutée.")

    $aiPos = _GUICtrlRichEdit_FindTextInRange($hRichEdit, "test", 20, 6)
    Report('"test" trouvé entre les positions inter-character '& $aiPos[0] & " et " & $aiPos[1])

    While GUIGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    _GUICtrlRichEdit_Destroy($hRichEdit) ; Nécessaire sauf si le script se bloque
     GUIDelete()
EndFunc   ;==>Example

Func Report($sMsg)
    GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc   ;==>Report