Функцией Return и циклы

Ответить
Аватара пользователя
Cem

Функцией Return и циклы

Сообщение Cem »

Доброго времени суток! Помогите, пожалуйста новичку разобраться с функцией Return и циклами.

Задача: Есть, например, текстовый документ. Проверяем содержит ли этот документ заданную строку ("Здесь есть текст"). Если содержит, то выполняем дальнейшее действие с документом (Сохранение, Печать, и т.д).

Теперь сам вопрос: Если при первой проверке не был найден искомый текст, как заставить скрипт повторять проверку до нахождения заданного текста?





Код:

Код: Выделить всё

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



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

Re: Функцией Return и циклы

Сообщение Cem »

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



Код:

Код: Выделить всё

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

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

Re: Функцией Return и циклы

Сообщение Cem »

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

Спасибо!
Ответить

Вернуться в «AutoIt»