Добрый день!
Решил поизучать AutoIt на конкретном примере - хочу сделать бесплатную программу для поиска/замены с помощью регулярных выражений.
Принцип работы очень простой:
1. В левый GUICtrlCreateEdit копируете любой текст.
2. В поле "Найти" пишете регулярное выражение для поиска фрагментов.
3. В поле "Заменить" пишете символы, которые заменят найденные фрагменты.
4. Нажимаете "Заменить"
5. Измененный текст появляется в правом GUICtrlCreateEdit
Конечно, это только начало Я хочу сделать полноценный инструмент (конечно, не как PowerGREP, но рядом).
Первый вопрос, который я не могу решить:
Хочу, чтобы при нажатии кнопки "Найти" найденные фрагменты в левом Edit'e подсвечивались желтым цветом. Подскажите, как это сделать?
Решил поизучать AutoIt на конкретном примере - хочу сделать бесплатную программу для поиска/замены с помощью регулярных выражений.
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("РегексПлюс", 954, 819, 172, 166)
$Edit1 = GUICtrlCreateEdit("", 0, 72, 473, 745, BitOR($ES_MULTILINE, $WS_VSCROLL))
$Edit2 = GUICtrlCreateEdit("", 472, 72, 481, 745, BitOR($ES_MULTILINE, $WS_VSCROLL))
$Button1 = GUICtrlCreateButton("Найти", 8, 8, 81, 25, 0)
$Button2 = GUICtrlCreateButton("Заменить на", 8, 40, 81, 25, 0)
$Input1 = GUICtrlCreateInput("", 96, 8, 529, 21)
$Input2 = GUICtrlCreateInput("", 96, 40, 529, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 640, 8, 81, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 640, 40, 81, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 728, 8, 81, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Checkbox4", 728, 40, 81, 17)
$Checkbox5 = GUICtrlCreateCheckbox("Checkbox5", 816, 8, 81, 17)
$Checkbox6 = GUICtrlCreateCheckbox("Checkbox6", 816, 40, 81, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Case $Button2
$text=GUICtrlRead($Edit1)
$regex=GUICtrlRead($Input1)
$replaceto=GUICtrlRead($Input2)
$replaced=StringRegExpReplace($text, $regex, $replaceto)
GUICtrlSetData($Edit2, $replaced)
EndSwitch
WEnd
Принцип работы очень простой:
1. В левый GUICtrlCreateEdit копируете любой текст.
2. В поле "Найти" пишете регулярное выражение для поиска фрагментов.
3. В поле "Заменить" пишете символы, которые заменят найденные фрагменты.
4. Нажимаете "Заменить"
5. Измененный текст появляется в правом GUICtrlCreateEdit
Конечно, это только начало Я хочу сделать полноценный инструмент (конечно, не как PowerGREP, но рядом).
Первый вопрос, который я не могу решить:
Хочу, чтобы при нажатии кнопки "Найти" найденные фрагменты в левом Edit'e подсвечивались желтым цветом. Подскажите, как это сделать?