Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Annihilant

Pages: [1]
1
сразу после getscreen пишу команду сохранить скриншот, что бы увидеть что не так, а там тупо нет контекстного меню, хотя в этот момент оно точно открыто, как буд есть несколько слоев и прога фоткает самый нижний.

2
мой код работает, выложил просто для ознакомления.
пишу лог в файл
Code: [Select]
SUB(LOG,$note) // подпрограмма лога с датой
//укорачиваем переменные
   $th = $_time_h
   $tm = $_time_m
   $ts = $_time_s
   $dd = $_date_d
   $dm = $_date_m
   $dy = $_date_y
//проверяем переменные на двузначность
   IF(STRLEN($th)<2)
      $th = STRCONCAT ("0", $th)
   END_IF
   IF(STRLEN($tm)<2)
      $tm = STRCONCAT ("0", $tm)
   END_IF
   IF(STRLEN($ts)<2)
      $ts = STRCONCAT ("0", $ts)
   END_IF
   IF(STRLEN($dd)<2)
      $dd = STRCONCAT ("0", $dd)
   END_IF
   IF(STRLEN($dm)<2)
      $dm = STRCONCAT ("0", $dm)
   END_IF
   IF(STRLEN($dy)<2)
      $dy = STRCONCAT ("0", $dy)
   END_IF
   TFWRITE("otchet.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note)) // запись в файл
END_SUB
logwrite мне не подходит.

Проблема в том что когда срабатывает команда getscreen фоткается только рабочий стол, а открытое контекстное меню отсутствует на снимке.

3
Всем привет!
Следующая проблема, скрипт находит иконку и щелкает на ней правой кнопкой, открывается контекстное меню, он снова смотрит на экран, что бы найти пункт в меню, но меню это не видит хотя оно открылось. Возникает это при выборе простой или классической темы в Windows 7, а при теме AERO, все нормально, но комп и без того нагружен и мне хочется ее отключить. простой принтскрин все видит, что то я не понимаю в чем фишка.
Code: [Select]
wait (3)
log ("ищем иконку")
getscreen ()
scanpicture ($koor,50,980,1023,1023,"1.bmp",-1,80)
if (arrsize($koor) > 0)
wait (1)
log ("нашли")
$y=arrpop($koor)
$x=arrpop($koor)
log (STRCONCAT ("x=", $x," y=", $y))
log ("открываем контекстное меню")
wait (1)
rclick ($x+15,$y+15) //открываем контекстное меню
else
log ("не нашли")
goto (begin)
end_if
wait (4)
log ("ищем пункт в меню")
getscreen ()
wait (2)
screenshot ("глядим")
scanpicture ($koor,2,700,250,800,"2.bmp",-1,75)
if (arrsize($koor) > 0)
wait (1)
log ("нашли")
waitms (200)
$y=arrpop($koor)
$x=arrpop($koor)
log (STRCONCAT ("x=", $x," y=", $y))
waitms (200)
log ("выбираем пункт меню")
waitms (500)
move ($x+20,$y+5)
wait (2)
lclick ($x+20,$y+5) //выбираем пункт меню
else
log ("не нашли")
goto (begin)
end_if

4
Ок, попробую увеличить временные отрезки.

5
Ошибка при интерпретации строки TFWRITE("otchet.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
продолжить выполнение?

Code: [Select]
SUB(LOG,$note) // подпрограмма лога с датой
//укорачиваем переменные
   $th = $_time_h
   $tm = $_time_m
   $ts = $_time_s
   $dd = $_date_d
   $dm = $_date_m
   $dy = $_date_y
//проверяем переменные на двузначность
   IF(STRLEN($th)<2)
      $th = STRCONCAT ("0", $th)
   END_IF
   IF(STRLEN($tm)<2)
      $tm = STRCONCAT ("0", $tm)
   END_IF
   IF(STRLEN($ts)<2)
      $ts = STRCONCAT ("0", $ts)
   END_IF
   IF(STRLEN($dd)<2)
      $dd = STRCONCAT ("0", $dd)
   END_IF
   IF(STRLEN($dm)<2)
      $dm = STRCONCAT ("0", $dm)
   END_IF
   IF(STRLEN($dy)<2)
      $dy = STRCONCAT ("0", $dy)
   END_IF
   TFWRITE("otchet.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note)) // запись в файл
END_SUB

но не постоянно а как то изредка. В чем может быть проблема?

6
Все заработало! Всем огромное спасибо! Больше вопросов не имею.  :D

7
Ок. Понял. Огромное спасибо.

8
Вроде то что нужно. Сейчас пойму как это работает. Logwrite я так думаю мне не к чему, мне тогда обычный лог не к чему.

Прога работает, дело свое делает, но есть один косяк. Я периодически вывожу в лог найденные координаты
Code: [Select]
log ("x=", $x," y=", $y)и при выводе координат прога глючит. :(

9
Эти команды я нашел. вот так в начале сделал.
Code: [Select]
print ($_date_y,"-",$_date_m,"-",$_date_d, " начали")Вот только получилось что нужно в каждой команде "print" это писать, плюс сначала идет время, а уж потом дата. А мне хочется дату сначала, а уж потом время.

10
Написал скрипт выполняющий однообразную вечернюю рабочую задачу, каждый вечер, в определенное время. Чтобы контролировать отработал ли скрипт, естественно пишу каждое действие в лог, что бы знать где споткнулся. Но вот беда нет даты, только время. В самом начале поставил что бы он при первом выведении в лог инфы поставил туда еще и дату, но искать будет неудобно, конкретный день. Есть ли возможность поставить в лог сначала дату потом уже время, и у каждого сообщения?

Pages: [1]