Author Topic: Синтаксис LOAD, его возможность?  (Read 4429 times)

0 Members and 1 Guest are viewing this topic.

mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Синтаксис LOAD, его возможность?
« on: April 18, 2016, 01:25:08 PM »
Цель:
Разделить программы на под файлы, для удобного редактирования нужного процесса.
Запускать основной файл который будет управлять (под файлами) и по завершению (под файла), возвращаться к основному...
---------------------------------------------------------------
Что я имею на данный момент от Синтаксис  LOAD
1. Запускаю основной файл
2. Загружается под файл, и он там повисает до бесконечности циклов.
3. Надеясь на "Halt" не помогает закрыть под файл (выдает ошибку).
---------------------------------------------------------------
Мой Вопрос можно ли данной программе вызвать (под файл) и по завершению его, вернуться обратно к (основному  файлу) для дальнейшей работы программы с того же места от куда был вызван (под файл)?

Code: (clickermann) [Select]
//Основной файл
$var=1
sub(sos)
 LOAD("вызов.cms")
end_sub

print("Начало")
if($var=1)
 sos()
end_if

print("конец")
halt

//Вымазываемый мной под файл "вызов.cms"
$123 = StrReadln("Распределение заданий/bot_01.txt", 2 )//считывает вторую строку

TFWrite("vnesti.txt", $123 )//записывает вторую строку из файла "bot_01.txt" в файл "vnesti.txt"

HALT



mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #1 on: April 18, 2016, 01:34:36 PM »
Нашел решение проблемы с помощью #include
Странно, в программе его очень глубоко запрятали  :(, на форуме еле как отрыл.
Но потом уж в программе самой в "ДИРЕКТИВЫ ПРЕПРОЦЕССОРА" обнаружил

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #2 on: April 18, 2016, 01:36:34 PM »
Зачем здесь LOAD?
Почему не используется #include


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #3 on: April 18, 2016, 01:39:00 PM »
Пока писал...
Пора бы в справке выпилить LOAD или хотя бы упомянуть там include со ссылкой на раздел.
Чёт в последнее время все кинулись новой волной на LOAD.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #4 on: April 18, 2016, 01:40:18 PM »
LOAD устаревшая функция, более не поддерживается в кликере. В последней 4.12 версии она была полностью выпилена. В предыдущей версии уже работал криво.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #5 on: April 18, 2016, 01:41:04 PM »
Пока писал...
Пора бы в справке выпилить LOAD или хотя бы упомянуть там include со ссылкой на раздел.
Чёт в последнее время все кинулись новой волной на LOAD.

Так уже убрана.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #6 on: April 18, 2016, 01:42:53 PM »
Ну слава богу.


mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #7 on: April 18, 2016, 01:43:32 PM »
Надо бы там упомянуть о нем, и описание толковое, а то не сразу понятно что за директива #include, а проект продолжает деятельность или встал пока? а где скачать 4.12 версию, на данном сайте вижу только 4.11
« Last Edit: April 18, 2016, 01:46:17 PM by mz3fedor »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile

mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #9 on: April 18, 2016, 02:24:02 PM »
Спасибо, а была ли добавлена функция поиска пикселя наоборот (с правого нижнего угла -> левому верхнему) с права на лево или с низу в верх?
я где то натыкался на форуме на просьбу чтоб ее добавили. так ответа и  не нашел
« Last Edit: April 18, 2016, 02:27:53 PM by mz3fedor »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #10 on: April 18, 2016, 02:37:10 PM »
Ответ был нет. Джонни не хочет перегружать функции ещё дополнительными аргументами.
Всё это легко реализуется через SCANPXL и нужную сортировку результата. Иногда это не подходит (если искомых пикселей ну ооочень много), но там и не нужен справа/снизу.


mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #11 on: April 18, 2016, 02:48:39 PM »
Жалко, просто нужно было определить границы (квадрата). этих квадратов много в одном из них размещена рандомно точка(которую я нахожу по пикселю), ну конечно можно написать с низу в верх и с права на лево, только код длинный получиться...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #12 on: April 18, 2016, 03:25:20 PM »
Ну да, код вообще длиннющий...  ;D
Code: (clickermann) [Select]
GETSCREEN
SCANPXL($arr, 0,0,$_xmax,$_ymax, 255)

$right_x = -1
$right_y = -1
$down_x = -1
$down_y = -1
FOR($i=0, $i < ARRSIZE($arr), 2)
   $X = $arr[$i]
   $Y = $arr[$i+1]
   IF($X > $right_x)
      $right_x = $X
      $right_y = $Y
   END_IF
   IF($Y > $down_y)
      $down_x = $X
      $down_y = $Y
   END_IF
END_CYC

LOGWRITE("right X/Y  ", $right_x, " / ", $right_y)
LOGWRITE("down X/Y  ", $down_x, " / ", $down_y)

UNDEFINE($ARR_SCAN)
HALT
в результате координаты самой правой и самой нижней


mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #13 on: April 18, 2016, 03:30:04 PM »
ага) только написал), и решил сюда выложить а тут уже готово)
Code: (clickermann) [Select]

$x1 = 495
$y1 = 500
move($x1,$y1)
GETSCREEN
$temp = 1
WHILE ($temp = 1)
move($x1,$y1)

if($poisk_y = 0)
INC($y1,-1)
END_IF

if($poisk_x = 0)
INC($x1,-1)
END_IF

if (PXL($x1,$y1) = 15261649)
$poisk_y = 1
END_IF

if (PXL($x1,$y1) = 15390398)
$poisk_x = 1
HALT
END_IF

END_CYC

HALT

« Last Edit: April 18, 2016, 07:16:24 PM by mz3fedor »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Синтаксис LOAD, его возможность?
« Reply #14 on: April 18, 2016, 04:06:01 PM »
Уууу. Такой перебор будет медленно работать. Иногда очень медленно.