Функция _GUICtrlRichEdit_FindTextInRange

 ↑  ←  Описание функции


_GUICtrlRichEdit_FindTextInRange

Поиск текста в диапазоне между позициями символов

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

Параметры

$hWnd Дескриптор элемента
$sText Искомый текст
$iStart [необязательный] Позиция символа от которого начать поиск
    По умолчанию: начало элемента
$iEnd [необязательный] Позиция символа в котором закончить поиск
    По умолчанию: конец элемента
$fMatchCase [необязательный] Поиск с учетом регистра
    По умолчанию: не учитывать регистр символов
$fWholeWord [необязательный] Поиск, только для текста, как целое слово
    По умолчанию: часть или целое слово
$iBehavior [необязательный] Любая комбинация BitOr из $FR_MATCHALEFHAMZA, $FR_MATCHDIAC и $FR_MATCHKASHIDA     По умолчанию: 0

Возвращаемое значение

Успех:Возвращает массив $array[2], содержащий значения позиций
Если искомая строка найдена, то возвращаются позиции символов, в которых найден соответствующий текст, например, [45, 52]
Если не найдено, то [-1, -1]
Ошибка:Возвращает 0 и устанавливает @error
@error:101 - $HWnd не является дескриптором
102 - $sText = ""
103 - $iStart не является положительным числом, или 0 или -1
104 - $iEnd не является положительным числом, или 0 или -1
105 - $fMatchCase не является True или False
106 - $fwholeWord не является True или False
1071 - $iBehavior не является числом
1072 - $iBehavior не является допустимым значением

Примечания

Позиция начала элемента - 0.
Диапазон символов по умолчанию, от 0 до -1, поиск во всём тексте сверху-вниз.
Назначив $iEnd равным -1 поиск выполняется вниз до конца элемента
Назначив $iStart равным -1 поиск выполняется вверх до начала элемента

См. также

_GUICtrlRichEdit_FindText

См. также

Искать EM_FINDTEXTEX в библиотеке MSDN

Пример

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

Main()

Func Main()
    Local $hGui, $ai, $lblMsg, $hRichEdit
    $hGui = GUICreate(StringTrimRight(@ScriptName, 4), 420, 350, -1, -1)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Это тест.', 10, 10, 400, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $lblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    GUISetState()

    _GUICtrlRichEdit_AppendText($hRichEdit, @CR & 'Добавленный текст.')

    $ai = _GUICtrlRichEdit_FindTextinRange($hRichEdit, "тЕст", 20, 3)
    If $ai[0]<>-1 And $ai[1]<>-1 Then
        GUICtrlSetData($lblMsg, '"тЕст" найден между позициями символов ' & $ai[0] & " и " & $ai[1])
        _GUICtrlRichEdit_SetSel($hRichEdit, $ai[0], $ai[1])
    Else
        GUICtrlSetData($lblMsg, 'Не найдено')
    EndIf

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit)
                GUIDelete()
                Exit
        EndSwitch
    WEnd
EndFunc   ;==>Main