Zireael |
Отправлено: 26 Декабря, 2019 - 12:47:34
|
Эксперт
Покинул форум
Сообщений всего: 4468
Дата рег-ции: Нояб. 2017
Репутация: 585
|
DLL закинуть в папку с кибор.
https://drive.google.com/open?id...YuDMhLwfVyqF3sDV
Функции (Отобразить) Цитата: createlog - создать окно лога с нужными параметрами.
LOG - добавить текст в лог
showlog - показать лог
hidelog - скрыть
clearlog - удалить весь текст из лога
setparamlog - установить новые параметры созданного окна лога
destroylog - удалить окно лога.
Параметры функций (Отобразить)createlog(200, 100, 400, 300, 16769450, 16000000, 255);
200, 100 - координаты окна лога
400, 300 - размеры окна
16769450 - цвет фона
16000000 - цвет текста
255 - прозрачность от 0 до 255.
Функция возвращает хендл окна лога.
log("Какой-то текст" );
Добавляет текст в окно лога. Принимает строку или указатель на массив char. Передача других типов данных приведёт у вылету кибор.
Если окно лога не было создано, т. е. не вызвана функция createlog, то будет создано окно с параметрами по умолчанию. В координатах 0, 0 с рамерами 400, 300, цвет фона 14811135, цвет текста 0, прозрачность 255.
Нажатие на крестик, закрывающий окно, не уничтожает окно лога, а скрывает его. Закрытие кибор или вызов destroylog удаляет окно лога.
Если в логе больше 20000 строк, первая половина строк удаляется.
showlog(); // показать окно лога
hidelog(); // скрыть окно лога
clearlog(); // удалить весь текст из лога
destroylog(); // удалить окно лога
setparamlog(200, 100, 400, 300, 16769450, 16000000, 255); // Изменить параметры созданного окно лога.
Пример (Отобразить)CODE:// подключаем нужные фунции
external(INT, "createlog", "createlog", pathfolder()+"LOG.dll");
external(INT, "log", "LOG", pathfolder()+"LOG.dll");
createlog(200, 100, 400, 300, 16769450, 16000000, 255); // создаём окно лога
// если эту функцию не вызывать, то будет создано окно с параметрам по умолчанию
string s="Какой-то Текст";
char c[99];
strcpy(#c[0], "Текст");
int X=0;
loop()
{
log(s); // передаём string
log(address(#c[0])); // передаём указатель на массив char
log("Переменная X равна: "+format(X)); // передаём строку и переменную X
X++;
sleep(300);
} |
|
|
007wan |
Отправлено: 26 Декабря, 2019 - 14:51:37
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , Можно пожалуйста создать длл, что бы оно получало миниатюры из ЛЮБЫХ окон, что бы черного квадрата не было? Только миниатюру, без диалога, я потом сам укажу куда ее выводить и откуда брать изображение, а то мой проект просто валяется, из-за того, что черный экран в клиентских игр, то нельзя получить миниатюру, да и сами клики тоже не проходят |
|
|
Zireael |
Отправлено: 15 Января, 2020 - 02:26:07
|
Эксперт
Покинул форум
Сообщений всего: 4468
Дата рег-ции: Нояб. 2017
Репутация: 585
|
С функциями возвращающими void есть такое. Был похожий баг с external, исправлялся, видимо еще что-то осталось. Сначала загружайте те, что возвращают void, потом int.
CODE:// сначала VOID
external(VOID, "begin_paint", "begin_paint", pathfolder()+"Draw.dll");
external(VOID, "end_paint", "end_paint", pathfolder()+"Draw.dll");
external(VOID, "Textout", "textout", pathfolder()+"Draw.dll");
// потом всё остальное
external(INT, "image", "image", pathfolder()+"Draw.dll");
external(INT, "createlog", "createlog", pathfolder()+"LOG.dll");
external(INT, "log", "LOG", pathfolder()+"LOG.dll");
Если не поможет исправлю чтобы все функции возвращали int. |
|
|
|