Что нового

Сравнение строки в окне с Visible Text

Авдей

Новичок
Сообщения
12
Репутация
0
Всем доброго времени суток! прошу помощи, а то сам еще маленький и глупый :smile:
В общем есть окно в программе (сделана насколько я знаю в Delfi) класса TreeView и в нем отображаются 2 строки.
Window info показывает данные как на рисунке Window.
Причем строку с 05%10( дата) или строку с Выдача скидки (дата) будет показывать только в случае если эта строка выделена.
Записать в переменную смог только таким образом:
Код:
AutoItSetOption("WinDetectHiddenText", 1)
$hWnd=WinActivate('Схемы работы контрагента','')
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf

;~ Извлекает текст окна
ControlFocus('Схемы работы контрагента','','[CLASS:TTreeView; INSTANCE:1]')
sleep(500)
send('{up}')
$text = WinGetText($hWnd)
$i= StringStripWS($text, 4)
    $array1 = StringRegExp($i, '(\s.*)', 3)            ;как сравнить с куском имени (к примеру только наличие % и вывести все название?
sleep(500)
send('{down}')
$text = WinGetText($hWnd)
$i= StringStripWS($text, 4)
  $array2 = StringRegExp($i, '(\s.*)', 3)
  msgbox(0, 'Выделенная строка', $array1[7] & @LF & $array2[7])


Вопрос: как
Код:
$array1 = StringRegExp($i, '(\s.*)', 3)
сделать так чтоб определяла какая строка выделена чтоб можно было уже в дальнейшем запускать определенные действия в зависимости от строки "прайс" или "скидка"? :( Я уже не могу сообразить..просто к примеру названий прайсов очень много, и общего у них есть только знак %...
 

Вложения

  • Window Info.gif
    Window Info.gif
    13.2 КБ · Просмотры: 8
  • Окно.gif
    Окно.gif
    3.1 КБ · Просмотры: 8
  • прочитанный текст.gif
    прочитанный текст.gif
    5.4 КБ · Просмотры: 6

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Авдей
чтоб определяла какая строка выделена
Пробуйте
Код:
; способ 1
ControlGetText('Схемы работы контрагента','','[CLASS:TTreeView; INSTANCE:1]')
; способ 2
ControlTreeView('Схемы работы контрагента','','[CLASS:TTreeView; INSTANCE:1]','GetSelected')
; способ 3
#include <GuiTreeView.au3>
$hTV = ControlGetHandle('Схемы работы контрагента','','[CLASS:TTreeView; INSTANCE:1]')
_GUICtrlTreeView_GetText($hTV, _GUICtrlTreeView_GetSelection($hTV))
 
Верх