Проверка на ошибку и повторение действий
-
Приветствую. Нужно проверять ошибку после отправки формы и если она есть, то закрывать диалоговое окно и вводить новую строчку из текстового файла. Как можно сделать чтобы он повторял действия пока не исчезнет ошибка и если ее нет, то продолжаются действия. После всего этого нужно будет взять новую строчку и проверять уже ее.
Пример:
- Берем строку #1
- Проверяем ошибку
а) Переходим к первому пункту и берем строку #2 (если есть ошибка)
б) Продолжаем работу (если ошибки нет) - Повторяем 1,2 действие с новой строкой
-
@maxim said in Проверка на ошибку и повторение действий:
Приветствую. Нужно проверять ошибку после отправки формы и если она есть, то закрывать диалоговое окно и вводить новую строчку из текстового файла. Как можно сделать чтобы он повторял действия пока не исчезнет ошибка и если ее нет, то продолжаются действия. После всего этого нужно будет взять новую строчку и проверять уже ее.
Всё очень и очень просто. Тебе нужен цикл на метках. Как расставить метки, думаю, сам разберёшься.
-
Ну или второй вариант - присвоить в случае ошибки значение "true" переменной, например, ERROR (не юзай WAS_ERROR - это системная переменная) и далее в пункте a задать через if конструкцию вида if [[ERROR]] {твои действия}
Всё вышеперечисленное должно быть обёрнуто в цикл или сопровождаться нужными метками.
-
@pragmatik said in Проверка на ошибку и повторение действий:
@maxim said in Проверка на ошибку и повторение действий:
Приветствую. Нужно проверять ошибку после отправки формы и если она есть, то закрывать диалоговое окно и вводить новую строчку из текстового файла. Как можно сделать чтобы он повторял действия пока не исчезнет ошибка и если ее нет, то продолжаются действия. После всего этого нужно будет взять новую строчку и проверять уже ее.
Всё очень и очень просто. Тебе нужен цикл на метках. Как расставить метки, думаю, сам разберёшься.
Если правильно понял, то я должно быть так:
- Устанавливаю переменную (-1)
- Создаю while
- Ставлю метку
- Увеличиваю переменную на 1
- Вызываю функцию
В функции я выполняю действия и если ошибка есть, то перехожу на метку и выполняю сначала все действия с увеличенной переменной и так пока ошибки не будет. Если ошибки нет, то я продолжаю действия и в конце перехожу на метку для повторения всех действий.
-
Наверное мое первое решение было слишком кривым и я решил немного его изменить.
Убрал переменные и просто удаляю строку из списка. Изменил while на foreach и если список пустой, то завершает цикл. Метку поставил перед началом цикла.
-
@pragmatik Спасибо, решил проблему и тесты прошли успешно:) Все работает как часы.