Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Функцией Return и циклы (http://forum.oszone.net/showthread.php?t=277696)

Cem 14-02-2014 01:45 2308837

Функцией Return и циклы
 
Доброго времени суток! Помогите, пожалуйста новичку разобраться с функцией Return и циклами.
Задача: Есть, например, текстовый документ. Проверяем содержит ли этот документ заданную строку ("Здесь есть текст"). Если содержит, то выполняем дальнейшее действие с документом (Сохранение, Печать, и т.д).
Теперь сам вопрос: Если при первой проверке не был найден искомый текст, как заставить скрипт повторять проверку до нахождения заданного текста?

Код:

$text = WinGetText("Новый текстовый документ (2).txt", "")
If StringInStr($text, "Здесь есть текст", 1) Then    ;  Проверяем содержит ли этот документ заданную строку
        MsgBox(0, "Блокнот", "Текст есть")  ; Да - содержит
      ...
Else
;MsgBox(0, "Блокнот", "Текста нет") 
Return 0            ; Что-то мне подсказывает, что это работает не так
EndIf


По возможности, объясните, как это можно сделать с помощью Do.. Until. Спасибо!

Cem 18-02-2014 12:57 2311036

Почитал и разобрался. Работает это вроде так.
Код:

$pust_stroka = ""  ; Присваиваем этом переменной значение пустой строки
Do
$text = WinGetText("Новый текстовый документ (2).txt", "")  ; Второй переменной присваиваем значение текста из окна.
Sleep(1000)                                                ; Время ожидания до следующей проверки
Until $text > $pust_stroka                                  ; Если условие выполнилось, то
MsgBox(0, "Блокнот", "Текст есть")                          ; Выдаётся сообщение "Текст есть"

А функция "Return", оказывается делает совершенно другие вещи.

Cem 10-08-2014 20:25 2387436

Просьба удалить эту тему за отсутствием информативности и за ненадобностью.
Спасибо!


Время: 20:33.

Время: 20:33.
© OSzone.net 2001-