Author Topic: Не работает вывод через несколько #name вместо print()  (Read 3153 times)

0 Members and 1 Guest are viewing this topic.

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Ку всем!

Захотелось потестить вывод в заголовок окна вместа вывода в лог, заюзал известную мне отныне фичу кликера, при которой срабатывают несколько директив #name из основного файла и из инклудов. Но вот незадача, что при линейном использовании этой директивы внутри одного скрипта несколько раз в течение скрипта не только не работает вывод в хедер главного окна Кликерманна, но даже и весь скрипт не запускается.

Вопрос в следующем:
Ну а кто ж я тогда, если не тестер?))

Вот листинг теста:
Code: (clickermann) [Select]
// 20.08.2017
#include "nir.cms"
#name "grafo"

PXLREPLACE(10,20, 30, 40, -1, 255)
#name "pxl replaced"
wait(1)

screenshotfix(0,0, 50,50, "H:\dlz\op\clickermann_last\Clickermann4.13b3\projects\grafo.bmp")
#name "screen fixed"
wait(1)


execute("mspaint.exe", "H:\dlz\op\clickermann_last\Clickermann4.13b3\projects\grafo.bmp")
#name "paint executed"
wait(1)

wndsetinfo(wndfind("grafo.bmp - Paint"), 0, 0, 200, 200)
#name "mspaint moved"
wait(1)
#name "grafo"

halt

P. S. Я уже даж догадуюсь, как реализовать этот баг, тьфу!.. фичу правильно, только руки не доходят.

« Last Edit: June 02, 2021, 12:15:06 AM by Cleoss »

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
майдан головного мозга.

А ну, православные, все на майдан!
Вам ведь нужен новый Кликерманн?!

« Last Edit: June 02, 2021, 12:15:32 AM by Cleoss »

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
P. S. Я уже даж догадуюсь, как реализовать эту фичу правильно, только руки не доходят.

А нет, попробовал, но разработка отменяется, потому что кликер не понимает конструкции вида:

Code: (clickermann) [Select]
$title=$_ms
#name $title

То есть директива не хочет принимать подстановку переменной в свой параметр, комедия финита.

Тут нет ни бага, ни фичи.  >:(

Когда нечего сказать по теме, можно просто прикрепить такую мемку к своей подписи:

« Last Edit: June 02, 2021, 12:16:06 AM by Cleoss »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Тебе или делать нечего или сознательно ищешь проблемы там, где их нет.

При чём здесь 'защита' кого-то или чего-то.  В кликере косяков... вагон и маленькая тележка. Часть реальные ошибки, часть наследие от изменений в версиях. Всё как в любом софте, ну может чуть побольше. Но то, что ты объявляешь ошибками, к ошибкам не пришьёшь ни каким боком.
Ну хочется тебе надеть на корову седло и заставить её плыть на скорость, ради бога, пробуй. Ну зачем ты это вот потом с загадочным видом называешь жуткими ошибками.

#name и любая другая хрень с # - это дерективы препроцессора. Прочитай в справке.
Препроцессор - это обработка ДО запуска кода.  Код пробегается и выполняются все инклюды, неймы, замены констант и т.д. Все! По всему коду.  И только потом скрипт запускается.
При работе скрипта #... уже не учитываются.
Поэтому нельзя подгрузить инклюдом в условии скрипты с взаимомешающим набором переменных.
И нельзя при помощи #name выводить 'вместо лога'.
И нельзя в этих директивах использовать переменные, потому что переменных ещё никаких НЕТ.

Вместо оседлания коровы и разговоров, что из неё спринтер ни к чёрту, почему не использовать для этого  лошадь? Ведь она для этого подходит лучше. Есть же команда меняющая заголовок окна. Указываешь окно и выводишь что душа пожелает.
Code: (clickermann) [Select]
HSETTEXT(hwnd, "называю как хочу")
« Last Edit: August 21, 2017, 08:17:53 AM by Vint »


i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
2 cleos
можно мне картинку "а ты читал инструкцию?"
по теме всё Винт сказал, добавить нечего

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
« Last Edit: June 02, 2021, 12:18:16 AM by Cleoss »