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 - Johnny

Pages: 1 ... 34 35 [36] 37 38 ... 40
526
Хм, а почему в справке о условии IF_TIME нигде не написано?
потому что я думал что удалил его уже давно. очередной костыль из серии if_что-то. неправильно все это.
пользуйтесь переменными

кто спойлеры просил.
[spoiler=вот есть пока такие]
потом может доработаю
сейчас надо другие дела поделать
[/spoiler]

527
Написание подпрограммы для вычисления даты
Пример создания пользовательских подпрограмм и их подключения через директиву include
Оригинальный пост пользователя Сергей: http://clickermann.tk/forum/index.php?topic=36.msg373#msg373

Данный пример раскрывает возможность "прятать от глаз" большой громоздкий код в программные библиотеки.
Имеется задача: вычислить текущую дату на основании системной переменной $_time_t
Для этого была написана следующая подпрограмма, для удобства вынесенная в отдельный файл date.cms

date.cms
Code: (clickermann) [Select]
// Day, Month, Year from $_time_t
// Author: Sergey
// Version: 1.0 (30.10.2012)

SUB(UPDATE_DATE)
   $_date_y = 1970
   $_date_m = 1
   $_date_d = ROUND(($_time_t / (3600 * 24)) - $voi, 0) + 1//floor
   $voi = 0.499999999999
   $break = 0
   
   WHILE($break = 0)
      $arg1 = $_date_y-1968
      $arg2 = 4
      IF($arg1-(ROUND(($arg1/$arg2)-$voi,0)*$arg2) = 0)//mod($_date_y-1968, 4) = 0
         $nd = 366
      ELSE
         $nd = 365
      END_IF
     
      if($_date_d > $nd)
         INC($_date_d, 0-$nd)
         INC($_date_y, 1)
      ELSE
         $break = 1
      END_IF
   END_CYC
   $break = 0
   
   WHILE($break = 0)
      $arg1 = $_date_y-1968
      $arg2 = 4
      IF( ($arg1-(ROUND(($arg1/$arg2)-$voi,0)*$arg2) = 0) & ($_date_m = 2) )//(mod($_date_y-1968, 4) = 0) & ($_date_m = 2)
         $nd = 29
      ELSE
         $nd = STRCUT("31,28,31,30,31,30,31,31,30,31,30,31", (($_date_m-1) * 3) + 1, 2)
      END_IF
      IF($_date_d > $nd)
         INC($_date_d, 0-$nd)
         INC($_date_m, 1)
      ELSE
         $break = 1
      END_IF
   END_CYC
END_SUB

GOSUB(UPDATE_DATE)

После вызова эта подпрограмма создает следующие переменные, которые могут использоваться в вашей программе
  • $_date_d - День
  • $_date_m - Месяц
  • $_date_y - Год


Пример использования подпрограммы
Code: (clickermann) [Select]
// Подключаем файл, содержащий подпрограмму UPDATE_DATE, это работает так же, как если бы вы просто скопировали все содержимое файла date.cms за место этой строчки
#include "date.cms" 

print($_date_d,".",$_date_m,".",$_date_y) // Выводим "старую" дату

GOSUB(UPDATE_DATE) // Вызов подпрограммы (напоминаю что ее "тело" находится в подключенном файле date.cms), обновление переменных
print($_date_d,".",$_date_m,".",$_date_y) // Выводим актуальную дату

HALT

Этот пример вы можете скачать из вложения

Ах да, скрипт не будет работать если вы изобрели машину времени и переместились раньше 1970 года.
Отдельное спасибо Ляпису за идею с обходом отсутствия массивов.

528
Ошибки / Re: Непонятки
« on: November 10, 2012, 08:49:53 AM »
столько тем уже было, но я и не понял, хорошо это что у хрома свой флеш плагин или плохо? отключать его или нет?

по поводу неадекватного поведения флеша. он просто постепенно переходит от программной прорисовки на аппаратную. когда он целиком будет отрисовываться видеокартой в каком нить оверлее, тогда боюсь мы его потеряем совсем для оконного режима.

529
в дополнение к варианту с поиском случайно вылезающего окна могу посоветовать поиграть с функцией hGet которая возвращает hwnd элемента под курсором. правда для этого нужно чтоб целевой элемент никто не перекрывал

530
Ошибки / Re: Непонятки
« on: November 09, 2012, 06:51:09 PM »
посмотрел код. второй параметр wndFind вообще не учитывается. недоработка

531
fixed

нехрен было молчать XD

532
Общие вопросы / Re: Цикличность
« on: November 08, 2012, 11:24:08 AM »
Code: (clickermann) [Select]
$start = $_time_t

print("i'm coming..")


while ($flag = 0)
  print("get me out of here!111")

  if ($_time_t > $start + 30)
    $flag = 1
  end_if

  wait(3)
end_cyc

print("freedom at least!")

halt

соответственно если картинка найдена, то флажок так же взводится чтоб выйти из цикла

533
Использование / Re: Гнев Богов
« on: November 07, 2012, 11:42:33 AM »
В эфире "Учимся вести собственные темы"...

Последняя версия чего бы то ни было (скрипта, программы) всегда должна быть в оп-посте (оп-пост - первое сообщение темы). Там же должна быть указана дата последнего изменения и все необходимые для работы материалы
Не должно быть "Не забудьте ...". Все люди ленивы, они даже тему целиком прочитать не могут (инфа 100%) и уж тем более не будут выискивать в рабочем беспорядке темы чего им там нужно из предыдущих постов надергать. Прожуйте и положите им в рот



534
Прочее / Re: Глоссарий
« on: November 07, 2012, 07:03:18 AM »
всяко бывает. можно подумать у вас на пустом месте никогда приложения не падали.

кстати, если кто забыл то брейк по ошибке отключается. в таком случае кликер просто проигнорирует строку на которой запнулся

535
are u fucking kidding me? остановка при обнаружении ошибки с указанием строки, где парсер споткнулся, была введена более двух лет назад! что за антиквариат вы используете?
второй пункт был от части реализован в последней версии. в режиме паузы переменные можно смотреть и даже менять

536
лень объявить переменную под флаг и написать условие для ее проверки это не крайняя необходимость. это как раз то, чем подкупает новичков дьявол goto. лучше сразу учиться писать код по человечески, а то потом сложно отвыкать. а отвыкать придется иначе код будет стыдно показывать людям.
goto сравнивают с мостом, но это скорее портал. в умелых руках иногда может выручить и сэкономить пару минут. в неумелых - перенесет вас или в столб или на середину озера.

у меня вот есть на работе один (точнее одна) кадр. использует часто goto и функции, принимающие по два десятка параметров (видели бы вы вызов этой функции.. ). уже не исправить. так что не стоит и начинать

537
ох как я не люблю иносраные языки. на русском нельзя было придумать язык програмирования?

можно. 1С. притча во языцах и статья в лурке (http://lurkmore.to/1С). посмотрите "медитативные примеры" и поймите что "русский язык программирования" это так же ужасно как "русский подставь_любое_слово"

алсо, использовать для кмана пилотовские программы - кощунство. надо написать вам что ли кошерную утилиту аналогичную

538
Архив / Re: Ошибки PXLCRC
« on: November 06, 2012, 06:16:48 AM »
то есть ошибка возникает только на оче маленьких областях (5х5)?
посмотрим че там

539
молодец. добавил в оп-пост. учитесь, господа
можно еще добавить ссылки на MSDN, там есть все коды событий и флагов

540
какая сырость. ее андрей тестил наверно недели три. нашел кучу багов. ни одну версию так не проверяли.
а что начнется когда массивы введем и часть функций будет переписана под них? вот это и будет 5.0

пока ни одного бага серьезно стопорящего работу версии 4.7 найдено не было. есть только небольшые непонятки в связи с изменением работы колормода. и все.

Pages: 1 ... 34 35 [36] 37 38 ... 40