Author Topic: время UNIX $_time_t  (Read 3827 times)

0 Members and 1 Guest are viewing this topic.

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
время UNIX $_time_t
« on: February 18, 2021, 09:43:05 PM »
 так  случайно  достался  скрипт  для   обучения  кто подскажет и  расжует   как  и  для чего  испольхуется  ето время UNIX  то  както  не  задумівался  почитал  мануал   там все   написано но  ничерта не  понятно   жду  подробностей   вот   в  принцепи  весь  код  где  я  озадачился  с  етим  временим 
Code: (clickermann) [Select]
$time = $_time_t + 5
WHILE($time > $_time_t)
   GETSCREEN (20,12,1200,24)
   COLORMODE(6,20,12,1200,24)
   IF_PICTURE_IN (20,12,1200,24,"3.bmp", -1,85)
      $time=0
      LOGWRITE ("Старт v2.5 ",$_return1," ",$_return2)
      $_r1= $_return1-1
      $_r2= $_return2-1
      $_r3= $_return1+6
      $_r4= $_return2+6
      LCLICK($_return1+2,$_return2+2)
      WAITMS(550)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
   LOGWRITE ("Стоп, ад не найден")
   SOUND("error.wav")
   SCREENSHOTEX(20,12,1200,24, "ад", 0)
   WAIT(3)
   HALT
END_IF
WHILE($var777 < 5)
   GETSCREEN (576,225,642,230)
   COLORMODE(6,576,225,642,230)
   SCREENSHOTFIX(576,225,642,230,"время_заказа.bmp", 0)
   WAITMS(20)
   KEYPRESS(#F5)       // обновить страницу
   WAITMS(150)
   
   $time = $_time_t + $t2 // таймер на обновление страницы
   WHILE($time > $_time_t)
      GETSCREEN ($_r1,$_r2,$_r3,$_r4)
      COLORMODE(6,$_r1,$_r2,$_r3,$_r4)
      IF_PICTURE_IN ($_r1,$_r2,$_r3,$_r4,"3.bmp", -1, 100)
         $time=0
      ELSE
         WAITMS(20)
      END_IF
   END_CYC
   IF($time ! 0)
      LOGWRITE ("Стоп, время истекло")
      SOUND("error.wav")
      //SOUND("load.wav")
      HALT
   END_IF
   WAITMS(20)
   GETSCREEN (576,225,642,230)
   COLORMODE(6,576,225,642,230)
   IF_PICTURE_IN (576,225,642,230,"время_.bmp",-1,100)
      WAITMS($t1)
   ELSE
      MOVE(243,225)
      WAITMS(50)
      MOVE(242,225)
      WAITMS(50)
      LCLICK(242,225)
      WAITMS(50)
      GETSCREEN(400,225,470,600)
      COLORMODE(6,400,225,470,600)
      IF_PICTURE_IN(400,225,470,600,"1.bmp",-1,100)
         $_r1=$_return1+50
         $_r2=$_return2+5
         $_r3=$_return1-10
         $_r4=$_return2+62
         MOVE($_return1,$_return2)
         WAITMS(50)
         MOVE($_return1+1,$_return2+1)
         WAITMS(100)
         LCLICK($_return1+2,$_return2+2)
         WAITMS(250)
         MOVE($_r3-1,$_r4-1)
         WAITMS(50)
         MOVE($_r3,$_r4)
         WAITMS(50)
         LCLICK($_r3+1,$_r4+1)
         WAITMS(250)
         MOVE($_r1-1,$_r2-1)
         WAITMS(50)
         MOVE($_r1,$_r2)
         WAITMS(50)
         LCLICK($_r1+1,$_r2+1)
         INC($var,1)
         LOGWRITE ($var," заказ  ")
         SOUND("error.wav")
         SCREENSHOTEX(576,225,642,230,"новый.bmp", 0) //
         WAITMS(550)
      END_IF
   END_IF
END_CYC
Как  узнать  ето  время    нужно с   етим  разобратся

пытался   узнать  ето время   таким  кодом  пока не  получается ......а  может ето вовсе не  для  етого но  попытка  была
Code: (clickermann) [Select]
$time = $_time_t
LOGWRITE ("$time")
HALT
« Last Edit: February 18, 2021, 10:09:38 PM by JacsoN »
если  есть  возможность  объясни  по  скайпу  что  да  как

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: время UNIX $_time_t
« Reply #1 on: February 19, 2021, 12:41:15 AM »
так  случайно  достался  скрипт  для   обучения  кто подскажет и  расжует   как  и  для чего  испольхуется  ето время UNIX  то  както  не  задумівался  почитал  мануал   там все   написано но  ничерта не  понятно   жду  подробностей   вот   в  принцепи  весь  код  где  я  озадачился  с  етим  временим 
Code: (clickermann) [Select]
$time = $_time_t + 5
WHILE($time > $_time_t)
   GETSCREEN (20,12,1200,24)
   COLORMODE(6,20,12,1200,24)
   IF_PICTURE_IN (20,12,1200,24,"3.bmp", -1,85)
      $time=0
      LOGWRITE ("Старт v2.5 ",$_return1," ",$_return2)
      $_r1= $_return1-1
      $_r2= $_return2-1
      $_r3= $_return1+6
      $_r4= $_return2+6
      LCLICK($_return1+2,$_return2+2)
      WAITMS(550)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
IF($time ! 0)
   LOGWRITE ("Стоп, ад не найден")
   SOUND("error.wav")
   SCREENSHOTEX(20,12,1200,24, "ад", 0)
   WAIT(3)
   HALT
END_IF
WHILE($var777 < 5)
   GETSCREEN (576,225,642,230)
   COLORMODE(6,576,225,642,230)
   SCREENSHOTFIX(576,225,642,230,"время_заказа.bmp", 0)
   WAITMS(20)
   KEYPRESS(#F5)       // обновить страницу
   WAITMS(150)
   
   $time = $_time_t + $t2 // таймер на обновление страницы
   WHILE($time > $_time_t)
      GETSCREEN ($_r1,$_r2,$_r3,$_r4)
      COLORMODE(6,$_r1,$_r2,$_r3,$_r4)
      IF_PICTURE_IN ($_r1,$_r2,$_r3,$_r4,"3.bmp", -1, 100)
         $time=0
      ELSE
         WAITMS(20)
      END_IF
   END_CYC
   IF($time ! 0)
      LOGWRITE ("Стоп, время истекло")
      SOUND("error.wav")
      //SOUND("load.wav")
      HALT
   END_IF
   WAITMS(20)
   GETSCREEN (576,225,642,230)
   COLORMODE(6,576,225,642,230)
   IF_PICTURE_IN (576,225,642,230,"время_.bmp",-1,100)
      WAITMS($t1)
   ELSE
      MOVE(243,225)
      WAITMS(50)
      MOVE(242,225)
      WAITMS(50)
      LCLICK(242,225)
      WAITMS(50)
      GETSCREEN(400,225,470,600)
      COLORMODE(6,400,225,470,600)
      IF_PICTURE_IN(400,225,470,600,"1.bmp",-1,100)
         $_r1=$_return1+50
         $_r2=$_return2+5
         $_r3=$_return1-10
         $_r4=$_return2+62
         MOVE($_return1,$_return2)
         WAITMS(50)
         MOVE($_return1+1,$_return2+1)
         WAITMS(100)
         LCLICK($_return1+2,$_return2+2)
         WAITMS(250)
         MOVE($_r3-1,$_r4-1)
         WAITMS(50)
         MOVE($_r3,$_r4)
         WAITMS(50)
         LCLICK($_r3+1,$_r4+1)
         WAITMS(250)
         MOVE($_r1-1,$_r2-1)
         WAITMS(50)
         MOVE($_r1,$_r2)
         WAITMS(50)
         LCLICK($_r1+1,$_r2+1)
         INC($var,1)
         LOGWRITE ($var," заказ  ")
         SOUND("error.wav")
         SCREENSHOTEX(576,225,642,230,"новый.bmp", 0) //
         WAITMS(550)
      END_IF
   END_IF
END_CYC
Как  узнать  ето  время    нужно с   етим  разобратся

пытался   узнать  ето время   таким  кодом  пока не  получается ......а  может ето вовсе не  для  етого но  попытка  была
Code: (clickermann) [Select]
$time = $_time_t
LOGWRITE ("$time")
HALT

 Исчисление времени у нас в обиходе не очень удобное - в минуте 60 сек, в часе 60 минут, в сутках 24 часа, в месяце 28-31дней. Все в разнобой. А теперь представь, как с таким исчислением времени работать в программировании. Это ж полная ж-па.
 Для упрощенного времяисчесления придумали считать его просто в секундах. Начали считать его с начала 70-го года. Чему равно время юникс сейчас, можно просто глянув его в логе print($_time_t).
 В твоем коде с помощью этой служебной переменной сделан таймер в цикле на 5 секунд. То есть там в цикле ищет картинку, и если ее не находит в течении пяти секунд, то цикл завершается и далее в условии IF($time ! 0) скрипт останавливает свою работу. Если картинку в течении пяти сек находит, то $time=0, выход из цикла и условие с завершением работы игнорируется (false).

Это я про первый цикл,  далее похожий "таймер на обновление страницы". И вроде как $t2 не объявлена, поэтому на этом месте работа завершится.
« Last Edit: February 19, 2021, 12:48:17 AM by dramster »

JacsoN

  • Активный участник
  • ***
  • Posts: 152
  • извините но мне нужны полнейшие обяснения
    • View Profile
Re: время UNIX $_time_t
« Reply #2 on: February 19, 2021, 12:59:55 AM »
спасибо  щяс    перевариваю  информацию.

PS
всеравно не понимаю как   узнать  ето время ........  если  можно  какойто пример, по типу  вот  ето работает  так  а  так  ето не  будет  работать   для  непонимающих  разжеваный по  буквам
« Last Edit: February 19, 2021, 11:46:28 AM by JacsoN »
если  есть  возможность  объясни  по  скайпу  что  да  как

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: время UNIX $_time_t
« Reply #3 on: February 19, 2021, 11:56:40 AM »
всеравно не понимаю как   узнать  ето время ........  если  можно  какойто пример, по типу  вот  ето работает  так  а  так  ето не  будет  работать   для  непонимающих  разжеваный по  буквам
По буквам.
Тебе же сказали как узнать
Code: (clickermann) [Select]
print($_time_t)
HALT
Ето работает!

пытался   узнать  ето время   таким  кодом  пока не  получается ......а  может ето вовсе не  для  етого но  попытка  была
Code: (clickermann) [Select]
$time = $_time_t
LOGWRITE ("$time")
HALT
Ето НЕ работает !
Как оно будет работать, если ты кавычек туда напихал. И на пустом месте насоздавал переменных и перекидываешь из пустого в порожнее. Такое ощущение, что рандомом копируешь всё похожее из непонятно откуда.


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: время UNIX $_time_t
« Reply #4 on: June 02, 2021, 07:44:04 AM »
Конечно ето крутая тема, но искал немного другую похожую, про Юникс-время или точнее абсолютное время UTC, то которое без смещения и одинаковое для всех поясов (поиском не нашёл), и там в теме ктот из наших продвинутых форумчан (не помню, то ли Драмстер, то ли и0, а может и не они) жаловался, что скрипт несколько лет назад давал одно, правильное время, а сейчас стал давать неправильное, хотя ничего не поменялось. По-моему, там у автора была винда7 и он говорил, что ничего в винде не ставилось и не обновлялось. Но вот к слову вспомнилось, что в Windows 10 за последний год-два подвgихнули много чего в апдейтах: и линуксовые инструменты, и кажись поддержку линёвой FS, и чуть ли не сам minGW. А как там это всё обновляется, через .НЕТ или через общесистемные компоненты, не знаю, не проверял, просто доношу инфу, что что в виндовсе тож плавные и казалось бы неожиданные изменения происходят под капотом, чего стоит одна капитуляция с переходом IE на движок Chromium! Бывает, и у Джонни от этого образуется бомбит. В автоите вон тож к сожалению юникод не обрабатывается правильно, только символы до 2-х байт заходят (то бишь первые 65к символов юникодовской таблицы, а всего их уже больше 120к), понятно что больше 80% процентов там иероглифы, но всё равно не понятно отсутствие реализации поддержки многобайтной кодировки нативно.