Author Topic: Нужна помощь в написании цикла с поиском картинок  (Read 12062 times)

0 Members and 1 Guest are viewing this topic.

123

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Подумал, что с помощью STRCONCAT можно было бы сначала слепить две переменные-параметра, полученные в первом и втором переборе картинок, в одну, которую использовать в SWITCH. Например, из "2" и "3" получить "23" или из "c" и "b" получить "cb". Ещё появилась идея в первом переборе присвоить переменной-параметру №1 одно из чисел 1, 2, ..., 9 (или до 99, если так много вариантов) и во втором №2 одно из чисел 10, 20, ..., 90 (или 100, 200, ..., 9900, если в обоих нужно двузначное число вариантов), тупо сложить их, присвоить результат одной переменной и по нему выбрать SWITCHем одно из действий. Ну и нераспознавание обозначать нулём, чтобы, например, если в двузначном значении переменной число однозначное или кратное десяти или 0 (второй или первый или оба разряда 0), то предпринять какое-то особое действие, типа сообщить об этом и скриншот.
« Last Edit: April 10, 2015, 01:37:40 PM by 123 »

123

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Quote
IF($i ! 10000)
   LOGWRITE ("Ничего не найдено")
   //SCREENSHOTEX(100,100, 150,150, "Image_", 0)
END_IF

Что-то непонятно, почему это должно выполниться только если не найдены картинки, а не всегда?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Что-то непонятно, почему это должно выполниться только если не найдены картинки, а не всегда?

Если картинка найдена, переменной $i присваивается 9999, цикл начинается еще раз, переменная $i увеличивается на 1 и становится 10000, проверяется условие $i < 10, условие не верно а значит внутренность цикла пропускается и мы переходим к условию IF($i ! 10000). $i у нас равна 10000 а значит условие не верно и пропускается. Если же в твоем случае картинка не будет найдена, переменная $i не станет равна 9999 и условие после цикла будет выполнено.

Code: (clickermann) [Select]
FOR($i=0, $i < 10)
     $i = 9999 // прерываем цикл если есть совпадение
END_CYC
LOGWRITE ("i= ", $i)

IF($i ! 10000)
  LOGWRITE ("Ничего не найдено")
END_IF

HALT