Author Topic: Непонятки  (Read 85565 times)

0 Members and 18 Guests are viewing this topic.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #75 on: November 17, 2012, 10:02:57 PM »
А почему они запрещены в строках?
И раз запрещены,...
Думаю, что  3 перечисленных символа не исчерпывают перечень запретов.
 Выше приводил часть текстового файла , в котором ошибка наступала после  чтения 29-30 строки.
Причем, что любопытно!
Если разбить этот же текстовый  файл на 2 текстовый файла (1. часть  1-15 стока. 2 часть  16-36 стоки ( разумеется с тем же текстовым содержимым)) , то никаких ошибок при чтении строк нет.
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Непонятки
« Reply #76 on: November 20, 2012, 12:57:54 PM »
Скобки и равно еще вызывают проблему...
() =

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #77 on: November 22, 2012, 01:53:18 AM »
Скобки и равно еще вызывают проблему...
() =
Спасибо. Буду анализировать дальше. Сделал скриптик, который  попутно ловит ошибки в  текстах , указывая номер строки.
Бабочки полёт будит тихую поляну в солнечном свету...

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #78 on: December 10, 2012, 01:21:41 AM »
Непонятка.
 Потребовалось условие,  в котором  интересует  абсолютное значение величины переменной (  $deldel_6 ).
В математике все просто   |x| ,  и нет проблем.
Для кликермана,  по незнанию пришлось  написать писать целый паровоз формул.
В  справке ничего  по теме не нашлось.
Code: (clickermann) [Select]

 if (($deldel_6 > -3) & ($deldel_6 < 3))
   wait(1)
   GOTO(finfin)
else
   GOTO(ttt)
end_if

Вопрос к корифеям.
 А нет ли в языке кликермана  краткой формулы , решающей такую задачу ?
Бабочки полёт будит тихую поляну в солнечном свету...

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Непонятки
« Reply #79 on: December 10, 2012, 05:39:22 AM »
ну допустим модуля у нас нету (забыл добавить лол)

но как бы он тебе помог тут? у тебя проверка на вхождение в диапазон (-3; 3) а модуль бы просто вернул тройку без знака

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Непонятки
« Reply #80 on: December 10, 2012, 06:29:59 AM »
Про расширенные математические функции я уже говорил: http://clickermann.tk/forum/index.php?topic=14
Кстати у тебя проверка не по модулю в данном коде. По модулю можно проверить так:
Code: (clickermann) [Select]
if(($somevar = -5) | ($somevar = 5))
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #81 on: December 10, 2012, 09:36:09 AM »
ну допустим модуля у нас нету (забыл добавить лол)

но как бы он тебе помог тут? у тебя проверка на вхождение в диапазон (-3; 3) а модуль бы просто вернул тройку без знака
Согласен. Мне требовалось получить условие именно вхождения в диапазон.
 Скажем, некая искомая величина может быть чуть больше, или чуть меньше числа 400. Полагал написать как-то так --->  if ( |$var |<3 ) итп
Бабочки полёт будит тихую поляну в солнечном свету...

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Непонятки
« Reply #82 on: December 10, 2012, 10:13:43 AM »
if(($var > 400-5) & ($var < 400+5))
?
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #83 on: December 10, 2012, 10:20:39 AM »
if(($var > 400-5) & ($var < 400+5))
?
Хмм.. в задаче  число  400 может меняться, в зависимости от условий .
 Потому и  ввел  доп. переменные
А число 400 привел, как пример.
 Кстати и зазор допустимых отклонений может меняться,  скажем от 1 до 10.
 Модуль  был  бы немного удобнее.
Бабочки полёт будит тихую поляну в солнечном свету...

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Непонятки
« Reply #84 on: December 10, 2012, 01:25:45 PM »
Ну так замени 400 и 5 на свои переменные и делай с ними все что хочешь.
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #85 on: December 10, 2012, 01:46:43 PM »
Ну так замени 400 и 5 на свои переменные и делай с ними все что хочешь.
Логично. Спору нет.
В общем, моя формула ничуть не  длиннее альтернативной.
 Речь шла о модуле. Насколько я понимаю , его можно будет включить.
Бабочки полёт будит тихую поляну в солнечном свету...

zack

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Непонятки
« Reply #86 on: December 11, 2012, 01:35:38 PM »
не могу разобраться, почему привязка к окну не работает с некоторыми программами?
не работает в ИЕ, Пэинт... в Опере, хроме - нормально

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #87 on: December 14, 2012, 12:23:48 AM »
Помогите с циклами.
Написал условие , но оно не хочет выполняться.
Уходит в бесконечность.
Почему?
Code: (clickermann) [Select]

 $time = $_time_t + 180 // задержка 3 мин 
WHILE ((($wwwdeldel_10 > -3) & ($wwwdeldel_10 < 3))  |  (  $time > $_time_t)) // если |del_10| > 3   или   истекло время ,  цикл прерываем
 DBLCLICK(305,491)  // 1 цифра  реал
waitms(150)
GOSUB (copi) // внизу  скрипта есть саб для операции копирования
waitms(150)
$wwwdeldel_8 = FROMCLIP ()
DBLCLICK(332,491)  // 2 цифра  план 
waitms(150)
GOSUB (copi)
waitms(150)
$wwwdeldel_9 = FROMCLIP ()
waitms(150)
$wwwdeldel_10 = (INT($wwwdeldel_9) - INT($wwwdeldel_8)) //
waitms(rnd(7550,10750))
 END_CYC
print( "больше 3 минут ")

HINTPOPUP("Message", "больше 3 минут ")


потом сократил условие и   написал вот так

Code: (clickermann) [Select]

 $time = $_time_t + 180 // задержка 3 мин 

WHILE (  ($time > $_time_t)
sis_1:
DBLCLICK(305,491)  // 1 цифра  реал 
waitms(150)
GOSUB(copi)
waitms(150)
$wwwdeldel_8 = FROMCLIP ()
DBLCLICK(332,491)  // 2 цифра  план 
waitms(150)
GOSUB(copi)
waitms(150)
$wwwdeldel_9 = FROMCLIP ()
waitms(150)
$wwwdeldel_10 = (INT($wwwdeldel_9) - INT($wwwdeldel_8))
waitms(rnd(7550,10750))
if (($wwwdeldel_10 > -3) & ($wwwdeldel_10 < 3))
goto(sis_1)
else
goto(sis_2)
end_if
END_CYC
print( "больше 3 минут ")
HINTPOPUP("Message", "больше 3 минут ") 
тоже не работает, а уходит в бесконечное повторение.
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Непонятки
« Reply #88 on: December 14, 2012, 01:12:23 AM »
В цикле лишние скобки. Можно только так.

Code: (clickermann) [Select]
WHILE (($wwwdeldel_10 > -3) & ($wwwdeldel_10 < 3) | (  $time > $_time_t)) // если |del_10| > 3   или   истекло время ,  цикл прерываем
Ты малость не понимаешь, тут условие поддержание цикла а не прекращения
Даже если таймер истечет но первые 2а условия будут верны то цикл не прекратится
Попробуй написать везде "&"

Это
Code: (clickermann) [Select]
$wwwdeldel_10 = (INT($wwwdeldel_9) - INT($wwwdeldel_8))Писать можно и без скобок
Code: (clickermann) [Select]
$wwwdeldel_10 = INT($wwwdeldel_9) - INT($wwwdeldel_8)
Во втором варианте тоже
WHILE (  ($time > $_time_t)
« Last Edit: December 14, 2012, 01:16:34 AM by Oraven »

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Непонятки
« Reply #89 on: December 14, 2012, 04:19:49 PM »
Вероятно проблема не  столько в правильности написания скрипта, сколько в каком-то неведомом свойстве новой версии.
Code: (clickermann) [Select]

HINTPOPUP("начало Message_11", $wwwdeldel_11)

waitms(rnd(4550,5750))

$time = $_time_t + 60 // 60 сек

WHILE (($wwwdeldel_11 = 0) & ($time > $_time_t))
DBLCLICK(305,491)  // 1 цифра  реал 
waitms(150)
GOSUB(copi)
waitms(150)
$wwwdeldel_8 = FROMCLIP ()
DBLCLICK(335 ,491)  // 2 цифра  план добавл
waitms(150)
GOSUB(copi)
waitms(150)
$wwwdeldel_9 = FROMCLIP ()
waitms(150)
 $wwwdeldel_10 = INT($wwwdeldel_9) - INT($wwwdeldel_8)
HINTPOPUP("Message10", $wwwdeldel_10 )
waitms(rnd(7550,10750))
$wwwdeldel_12 = $wwwdeldel_10 * $wwwdeldel_10
waitms(rnd(255,275))
HINTPOPUP("Message12", $wwwdeldel_12 ) //  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
waitms(rnd(2550,2750))
if ($wwwdeldel_12 < 9)
$wwwdeldel_11 = 1
HINTPOPUP("Message11", $wwwdeldel_11)
waitms(rnd(7550,10750))
goto(sisis)
end_if
waitms(150)
END_CYC
На строчке
HINTPOPUP("Message12", $wwwdeldel_12 ) //  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Возникают странные  ошибки
Они на скриншотах.
п.с.
 избыточные временные  задержки и  хинтпопы ставил для контроля  в процессе разбора проблемы
Бабочки полёт будит тихую поляну в солнечном свету...