Автор Тема: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Прочитано 86213 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Hito

  • Герой форума
  • *****
  • Сообщений: 875
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #630 : Март 31, 2019, 10:45:04 pm »
и да, про препроцессор и правда недоработочка... исправили
Здесь нет смайла с фейерверками... ;D
А... Как бы вопрос... А где качать исправленную версию...? Там же?
« Последнее редактирование: Март 31, 2019, 11:34:29 pm от Hito »
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 584
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #631 : Апрель 03, 2019, 07:06:22 pm »
Patch 4.14.002b

https://yadi.sk/d/7CYIVwReKaelpA

Исправлен ехе файл, справка
Добавлена процедура arrconcat

Hito

  • Герой форума
  • *****
  • Сообщений: 875
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #632 : Апрель 03, 2019, 09:07:28 pm »
Вот сейчас я туплю страшно и чего-то не понимаю, или препроцессор как-то не так опять работает...?
и да, про препроцессор и правда недоработочка... исправили

Patch 4.14.002b

https://yadi.sk/d/7CYIVwReKaelpA

Исправлен ехе файл, справка
Добавлена процедура arrconcat

На сколько я понял, в 4.14.002b препроцессор исправлен? Одно точно - он стал работать по-другому с примером в папке "PrepSample". Теперь, при открытии редактора, после отработки скрипта, скрипт такой же, какой и было до запуска, но...

Код делфи:
Код: Clickermann
  1. // Основное тело функции, идет на экспорт, вызывается из кликера
  2. function execute( pText: PWideChar): PWideChar; export; stdcall;
  3. var
  4. strbuf: String;
  5. wc_res: PWideChar;
  6. begin
  7.  // Пишем сразу готовый код
  8.   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
  9.    'LOGSHOW (1, 100, 100 )'+ #13#10 +
  10.    'print("Тестовый текст")'+ #13#10 +
  11.    'halt' ;
  12.  
  13.  // ShowMessage(strbuf);    //можно глянуть наш код
  14.   wc_res := PWideChar(strbuf);
  15.  
  16.   result := wc_res;
  17. end;

Код кликермана:

Код: Clickermann
  1. #preprocessor "comas.dll"
  2. halt

Вот это все намутит не возможно. Стоит состряпать свою длл и заменить ею ту, что находится в примере и кликер просто не даст применить скрипт...
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Сообщений: 916
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #633 : Апрель 03, 2019, 09:20:52 pm »
 ??? Да не, я проверил, работает отлично.

Весь код делфи:
Код: Clickermann
  1. library PrepSample;
  2.  
  3. uses
  4.  Vcl.Dialogs,
  5.  SysUtils;
  6.  
  7. //------------------------------------------------------------------------------
  8. // Основное тело функции, идет на экспорт, вызывается из кликера
  9. function execute( pText: PWideChar): PWideChar; export; stdcall;
  10. var
  11. strbuf: String;
  12. wc_res: PWideChar;
  13. begin
  14.  // Пишем сразу готовый код
  15.   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
  16.    'LOGSHOW (1, 100, 100 )'+ #13#10 +
  17.    'print("Тестовый текст")'+ #13#10 +
  18.    'halt' ;
  19.  
  20.  // ShowMessage(strbuf);    //можно глянуть наш код
  21.   wc_res := PWideChar(strbuf);
  22.  
  23.   result := wc_res;
  24. end;
  25. //------------------------------------------------------------------------------
  26.  
  27. // список экспорта
  28. exports execute;
  29.  
  30. begin
  31.  // тело пусто
  32. end.

Код кликера:
Код: Clickermann
  1. #preprocessor "test.dll"
  2. halt

Скомпилированная  "test.dll" рядом с сохраненным cms

Результат:


И как я не пытался, код в редакторе так и не увидел   :)


Hito

  • Герой форума
  • *****
  • Сообщений: 875
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #634 : Апрель 03, 2019, 09:23:34 pm »
Етит... Я "exports execute;" забыл прописать...
Я не ду... Потому и не бу...

kiril

  • Герой форума
  • *****
  • Сообщений: 1477
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #635 : Апрель 04, 2019, 11:20:29 am »
функция GETKEYSDOWN ($arr) - возвращает значения в текстовом формате.
для проверки условий их приходится предварительно преобразовывать
IF(INT($arr[0])=17)     
   LOGWRITE ("клавиша нажата")
END_IF
может стоит сразу возвращать числовые значения?

kiril

  • Герой форума
  • *****
  • Сообщений: 1477
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #636 : Апрель 04, 2019, 11:50:14 am »
GETKEYSDOWN ($arr)
Клавиши SHIFT CTRL  ALT возвращают одновременно два кода.
Нужно оставить только трёхзначный, как более информативный и изменить приложение 1
или указать эту особенность в справке, чтоб избежать танцев с бубном, когда важно количество нажатых клавиш.

11:38:22 INT($arr[0])=16
11:38:22 INT($arr[1])=160

11:38:32 INT($arr[0])=17
11:38:32 INT($arr[1])=162

11:38:37 INT($arr[0])=18
11:38:37 INT($arr[1])=164

11:40:55 INT($arr[0])=16
11:40:55 INT($arr[1])=161

11:41:40 INT($arr[0])=17
11:41:40 INT($arr[1])=163

11:41:57 INT($arr[0])=18
11:41:57 INT($arr[1])=165
« Последнее редактирование: Апрель 04, 2019, 11:54:05 am от kiril »

Hito

  • Герой форума
  • *****
  • Сообщений: 875
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #637 : Апрель 06, 2019, 12:39:24 pm »
Весь код делфи:
Код: Clickermann
  1. library PrepSample;
  2.  
  3. uses
  4.  Vcl.Dialogs,
  5.  SysUtils;
  6.  
  7. //------------------------------------------------------------------------------
  8. // Основное тело функции, идет на экспорт, вызывается из кликера
  9. function execute( pText: PWideChar): PWideChar; export; stdcall;
  10. var
  11. strbuf: String;
  12. wc_res: PWideChar;
  13. begin
  14.  // Пишем сразу готовый код
  15.   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
  16.    'LOGSHOW (1, 100, 100 )'+ #13#10 +
  17.    'print("Тестовый текст")'+ #13#10 +
  18.    'halt' ;
  19.  
  20.  // ShowMessage(strbuf);    //можно глянуть наш код
  21.   wc_res := PWideChar(strbuf);
  22.  
  23.   result := wc_res;
  24. end;
  25. //------------------------------------------------------------------------------
  26.  
  27. // список экспорта
  28. exports execute;
  29.  
  30. begin
  31.  // тело пусто
  32. end.
Я правильно понимаю? Строка
Код: Clickermann
  1. '#preprocessor "comas.dll"' + #13#10 +
лишняя? Ведь она уже есть в начальном скрипте кликера и, благодаря ей, кликер и вызывает код из длл...
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 584
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #638 : Апрель 06, 2019, 03:34:32 pm »
Весь код делфи:
Код: Clickermann
  1. library PrepSample;
  2.  
  3. uses
  4.  Vcl.Dialogs,
  5.  SysUtils;
  6.  
  7. //------------------------------------------------------------------------------
  8. // Основное тело функции, идет на экспорт, вызывается из кликера
  9. function execute( pText: PWideChar): PWideChar; export; stdcall;
  10. var
  11. strbuf: String;
  12. wc_res: PWideChar;
  13. begin
  14.  // Пишем сразу готовый код
  15.   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
  16.    'LOGSHOW (1, 100, 100 )'+ #13#10 +
  17.    'print("Тестовый текст")'+ #13#10 +
  18.    'halt' ;
  19.  
  20.  // ShowMessage(strbuf);    //можно глянуть наш код
  21.   wc_res := PWideChar(strbuf);
  22.  
  23.   result := wc_res;
  24. end;
  25. //------------------------------------------------------------------------------
  26.  
  27. // список экспорта
  28. exports execute;
  29.  
  30. begin
  31.  // тело пусто
  32. end.
Я правильно понимаю? Строка
Код: Clickermann
  1. '#preprocessor "comas.dll"' + #13#10 +
лишняя? Ведь она уже есть в начальном скрипте кликера и, благодаря ей, кликер и вызывает код из длл...
но это не мешает сунуть результат первого препроцессора в следующий по порядку. кто сказал что препроцессор может быть один

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 584
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #639 : Апрель 08, 2019, 07:43:18 pm »
функция GETKEYSDOWN ($arr) - возвращает значения в текстовом формате.
для проверки условий их приходится предварительно преобразовывать
IF(INT($arr[0])=17)     
   LOGWRITE ("клавиша нажата")
END_IF
может стоит сразу возвращать числовые значения?
а точно? чет не вижу ошибки и все работает и без Int

kiril

  • Герой форума
  • *****
  • Сообщений: 1477
    • Просмотр профиля
сейчас и у меня всё работает без Int.
 Получается обманул, извиняюсь.
Код: Clickermann
  1. GETKEYSDOWN ($arr)
  2. IF(ARRSIZE($arr)=3)
  3.   IF($arr[0]=17)&($arr[1]=81)      //незаметил, что не пропечатались скобки поэтому у меня скрипт реагировал на Ctrl+ любая клавиша
  4.      LOGWRITE ("запускается")
  5.   END_IF    
  6. END_IF
  7.  

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 584
    • Просмотр профиля
ну так и? больше нет противоречий? можно в релиз?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3440
  • Котэ
    • Просмотр профиля
ну так и? больше нет противоречий? можно в релиз?

В keywords.txt нет ARRCONCAT
И вот обновленные команды-Шаблоны

а так можно и в релиз.

dramster

  • Герой форума
  • *****
  • Сообщений: 916
    • Просмотр профиля
ну так и? больше нет противоречий? можно в релиз?
Пока небыло необходимости/возможности потестить все новинки. Я думаю врядли все сразу полезли тестить все и вся. Я проверил только то что мне было интересно.

dramster

  • Герой форума
  • *****
  • Сообщений: 916
    • Просмотр профиля
Да, и еще с этим ВОМ, что и как он там делает, неужели без него никак? Хотябы убрать его при создании батников, а то некрасиво както, придет новичек/супермегапрограммист, решит чениибуть этоковое,, а тут фиг тебе. Да и с ини там какието проблемы были.


Не стал искать тех ошибок, проще показать на примере
Код: Clickermann
  1. STRWRITELN ("test.bat", "pause")
  2. execute("test.bat") //не стработает изза этих пару байт в записи
  3. halt