_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.См. также
_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