Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Отловить visible text

Ответить
Настройки темы
[решено] Отловить visible text

Аватара для Frost_Imp

Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем доброго времени суток!
Прошу помощи в указании направления
Есть окно, AutoIT Info определяет в нем visible text. Не могу найти в справке, как с этим visible text работать.
Логику хочу сделать следующую:
Если visible text = "Найденные записи 1/1" то
___1 функция
___в противном случае
___2 функция
конец
А также как будет выглядеть синтаксис, чтобы определить, цифры после текста "Найденные записи" (этим будет заниматься 2 функция). То есть в зависимости от количества записей и номера текущей записи будут выполняться определенные циклы.
Заранее благодарен за ответ!

Отправлено: 17:23, 24-09-2009

 

Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Нащёт visible text ничё непонял ...

а это -
Цитата Frost_Imp:
А также как будет выглядеть синтаксис, чтобы определить, цифры после текста "Найденные записи" (этим будет заниматься 2 функция). То есть в зависимости от количества записей и номера текущей записи будут выполняться определенные циклы. »
Код: Выделить весь код
$sString = "Найденные записи 1/3"

$aArray = StringRegExp($sString, "(\d)", 3)
If Not (@error) Then

    Switch $aArray[0]
        Case 0
            MsgBox(64, "", "0/*")
        Case 1
            MsgBox(64, "", "1/*")
    EndSwitch

    Switch $aArray[1]
        Case 2
            MsgBox(64, "", "*/2")
        Case 3
            MsgBox(64, "", "*/3")
    EndSwitch

EndIf

Отправлено: 18:19, 24-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Frost_Imp

Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


Достаточно приблизительно понял суть (но понял, что не может не радовать)... Что хочу сказать...
По сабжу - понял, что visible text можно увидеть
WinGetText("title", "")
Но встала другая проблема. Нужно отловить цифры до знака "/" (без кавычек) и после него, то есть
Найденные записи 1/3
записать в переменные 1 и 3
Найденные записи 10/30
записать в переменные 10 и 30
StringMid не прокатывает

Отправлено: 18:49, 24-09-2009 | #3


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Цитата Frost_Imp:
Но встала другая проблема. Нужно отловить цифры до знака "/" (без кавычек) и после него, то есть
Найденные записи 1/3
записать в переменные 1 и 3
Найденные записи 10/30
записать в переменные 10 и 30
StringMid не прокатывает »
Я же тебе написал как это сделать ...!

Отправлено: 19:25, 24-09-2009 | #4


Аватара для Frost_Imp

Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата FlatX007:
Я же тебе написал как это сделать ...! »
Не Подставь вместо 1/3 - 10/30 и поймешь, что не работает. Не писать же в коде все возможные комбинации на совпадение...

Отправлено: 19:31, 24-09-2009 | #5


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


В шапке темы ничего не написано что может быть 30 или 130
Код: Выделить весь код
    Switch $aArray[0]
        Case 0
            MsgBox(64, "", "0/*")
        Case 1 to 100
            MsgBox(64, "", "от 1 до 100/*")
    EndSwitch

Отправлено: 19:48, 24-09-2009 | #6


Аватара для Frost_Imp

Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


FlatX007, не, не то. Смотрите, объясню подробнее. Предположим, есть строка:
Найденные записи 1/3
Есть две переменные, которым присваиваются значения
SCurrent = 1
SCount = 3
В другой строке
Найденные записи 5/136
у нас будет
SCurrent = 5
SCount = 136
Вот что нужно то в итоге... :-(

Отправлено: 09:50, 25-09-2009 | #7


Аватара для Frost_Imp

Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


Работает вот что, найдите 5 отличий
Код: Выделить весь код
Result_analyse()

func Result_analyse()
    $GetText = WinGetText($title_SGTS, "")
    $n1=StringInStr($GetText,"(")
    $n2=StringInStr($GetText,"/")
    $Current=StringMid($GetText,$n1+1,$n2-$n1-1)
    $n1=StringInStr($GetText,"/")
    $n2=StringInStr($GetText,")")
    $Count=StringMid($GetText,$n1+1,$n2-$n1-1)
    ;MsgBox(0,"",$Current)
    ;MsgBox(0,"",$Count)
EndFunc
$GetText возвращает строку вида "Найденные записи (1/3)"

Отправлено: 12:55, 25-09-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Отловить visible text

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Отловить форму в IE Lodoss AutoIt 3 26-11-2009 11:12
[решено] Отловить нажатие по плюсику morgan1991 AutoIt 6 30-06-2009 10:54
[решено] отловить двойной клик по GuiCtrlCreateList morgan1991 AutoIt 11 29-04-2009 01:44
не могу отловить зловредов Лина Лечение систем от вредоносных программ 11 24-11-2008 11:06




 
Переход