Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
0 Members and 13 Guests are viewing this topic.
Quote from: dramster on April 03, 2019, 09:20:52 PMВесь код делфи:Code: (clickermann) [Select]library PrepSample;uses Vcl.Dialogs, SysUtils;//------------------------------------------------------------------------------// Основное тело функции, идет на экспорт, вызывается из кликераfunction execute( pText: PWideChar): PWideChar; export; stdcall;var strbuf: String; wc_res: PWideChar;begin // Пишем сразу готовый код strbuf := '#preprocessor "comas.dll"' + #13#10 + 'LOGSHOW (1, 100, 100 )'+ #13#10 + 'print("Тестовый текст")'+ #13#10 + 'halt' ; // ShowMessage(strbuf); //можно глянуть наш код wc_res := PWideChar(strbuf); result := wc_res;end;//------------------------------------------------------------------------------// список экспортаexports execute;begin // тело пустоend.Я правильно понимаю? СтрокаCode: (clickermann) [Select]'#preprocessor "comas.dll"' + #13#10 +лишняя? Ведь она уже есть в начальном скрипте кликера и, благодаря ей, кликер и вызывает код из длл...
Весь код делфи:Code: (clickermann) [Select]library PrepSample;uses Vcl.Dialogs, SysUtils;//------------------------------------------------------------------------------// Основное тело функции, идет на экспорт, вызывается из кликераfunction execute( pText: PWideChar): PWideChar; export; stdcall;var strbuf: String; wc_res: PWideChar;begin // Пишем сразу готовый код strbuf := '#preprocessor "comas.dll"' + #13#10 + 'LOGSHOW (1, 100, 100 )'+ #13#10 + 'print("Тестовый текст")'+ #13#10 + 'halt' ; // ShowMessage(strbuf); //можно глянуть наш код wc_res := PWideChar(strbuf); result := wc_res;end;//------------------------------------------------------------------------------// список экспортаexports execute;begin // тело пустоend.
library PrepSample;uses Vcl.Dialogs, SysUtils;//------------------------------------------------------------------------------// Основное тело функции, идет на экспорт, вызывается из кликераfunction execute( pText: PWideChar): PWideChar; export; stdcall;var strbuf: String; wc_res: PWideChar;begin // Пишем сразу готовый код strbuf := '#preprocessor "comas.dll"' + #13#10 + 'LOGSHOW (1, 100, 100 )'+ #13#10 + 'print("Тестовый текст")'+ #13#10 + 'halt' ; // ShowMessage(strbuf); //можно глянуть наш код wc_res := PWideChar(strbuf); result := wc_res;end;//------------------------------------------------------------------------------// список экспортаexports execute;begin // тело пустоend.
'#preprocessor "comas.dll"' + #13#10 +
функция GETKEYSDOWN ($arr) - возвращает значения в текстовом формате.для проверки условий их приходится предварительно преобразовыватьIF(INT($arr[0])=17) LOGWRITE ("клавиша нажата")END_IFможет стоит сразу возвращать числовые значения?
ну так и? больше нет противоречий? можно в релиз?
STRWRITELN ("test.bat", "pause") execute("test.bat") //не стработает изза этих пару байт в записи halt
Да, и еще с этим ВОМ, что и как он там делает, неужели без него никак? Хотябы убрать его при создании батников, а то некрасиво както, придет новичек/супермегапрограммист, решит чениибуть этоковое,, а тут фиг тебе. Да и с ини там какието проблемы были.Не стал искать тех ошибок, проще показать на примереCode: (clickermann) [Select] STRWRITELN ("test.bat", "pause") execute("test.bat") //не стработает изза этих пару байт в записи halt
STRSEPARATE ("1,2,3,4", ",", $arr)print(arrsize($arr)) // 4STRSEPARATE ("1,2,3,4", ",", $arr)print(arrsize($arr)) // 8halt
Баг c PRINTC. Сначала подумал, что это из за моей лапши, но как оказалось, это происходит со всеми строками, которые не умещаются в ширину логаЕще заметил, что если текущий час меньше 10, то время в логе отображается без 0 в разряде десятков. Вроде тоже фигня, но всё равно, как то неперфекционально
+ Теперь все процедуры, возвращающие массив, очищают его перед заполнением
Quote from: dramster on April 20, 2019, 10:52:16 PM + Теперь все процедуры, возвращающие массив, очищают его перед заполнениемКак то теперь неудобненько выходит.Я хотел при помощи SCANPICTURE получить массив координат нескольких разных изображений, но ни тут то было. Про SCANPXL вообще молчу. :c
в последней бете (которой кажется тут нет) есть процедура слияния массивов
$arr1[0]= 1 //один массив$arr1[1]= 2$arr1[2]= 3$arr2[0]= 4 //второй массив$arr2[1]= 5$arr2[2]= 6ARRCONCAT ($arr3, $arr1, $arr2) //соединяем в третий массив//смотрим что вышлоFOR($a=0,$a<arrsize($arr3)) print($arr3[$a]) // в логе - 1, 2, 3, 4, 5, 6 .END_CYChalt