Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 2.14 Вывод текста на экран во время выполнения скрипта

Страниц (5): [1] 2 3 4 5 »
 

1. Kibor - 12 Октября, 2013 - 19:58:45 - перейти к сообщению
Появилась возможность выводить текст на экран во время выполнения программы.

textout - Печатает строку указанным цветом в указанных координатах экрана. Будучи напечатанной работает в отдельном потоке и всегда находится поверх всех окон. Исключением может являться полно экранный режим некоторых игр.
Если не выводится текст включить Аэро..

Избегайте частого вызова этой функции без пауз между выводами, так как возможна нестабильная работа скрипта.

Синтаксис:

textout(0, 100, 50, "текст", 0);
textout(1, 100, 70, "текст1 "+format(5), 0);
textout(2, 100, 90, "текст2", 0);
....

textout(3, 100, 110, "текст3", 1);
textout(4, 100, 130, "текст4", 2);

textout(5, 100, 150, 12345, 0);

textout(6, 100, 170, 12345.54321, 0);
..........

Первый параметр - номер сообщения. Нумеруются от 0 до 9999. По этому номеру потом можно обновлять текст.
Второй - позиция по X от левого верхнего угла.
Третий - позиция по Y от левого верхнего угла.
Координаты экранные.
Четвертый - текст в string или char, или число int или double
Пятый - может быть 0 или 1 или 2.
0 - Будучи напечатанным при изменение длины строки на меньшую или сдвиге позиции этого текста не обновляет за собой экран.
1 - При изменение длины или позиции обновляет за собой часть экрана на объекте на котором напечатано.
2 - При изменение длины или позиции обновляет весь экран.

Если текстовая информация выводится на рабочий стол следует использовать 1.
Если с этим текстом надо обновить другой текст, который выведен без обновления (0), надо прописать 2. Возможно мерцание.
Если инфа будет выводиться к примеру в окно игры - используется 0. Так как игра сама при сотрет со своего экрана старый отпечаток строки при изменение длины или позиции. Использование 1 или 2 в этом случае приведет к мерцанию.



textbkcolor -устанавливает цвет фона для текста и цвет текста:
textbkcolor (4227327,16711808);
Первый параметр - цвет текста
Второй - фона

По умолчанию если не вызвана функция textbkcolor печатается черным по белому.



enabletextout - Включает показ текста. Включен по умолчанию.
Синтаксис
enabletextout()

disabletextout - Отключает показ текста. Все записи сохраняются. просто скрываются с экрана.
Синтаксис
disabletextout(1)
Параметры
0 - Отключить показ. Экран не обновлять. Может остаться изображение пока не обновится экран.
1 - Отключить показ. Экран обновить.

resettextout - Сбросить все надписи. Обнулить все параметры. Настройки цвета устанавливаются по умолчанию.
Синтаксис
resettextout( 1 )
Параметры
0 - Сбросить все надписи. Экран не обновлять. Может остаться изображение пока не обновится экран.
1 - Сбросить все надписи . Экран обновить.





Цвет можно изменять для каждого вывода разный:


CODE:
textbkcolor (65535,8421376);
textout(0, 100, 100, "Строка 1", 0);

textbkcolor (8421376,8388608);
textout(1, 100, 120, "Строка 2. Через 2 сек изменится", 0);

textout(2, 100, 140, "Строка 3", 0);

textbkcolor (4194368,32768);
textout(3, 100, 160, "Строка 4", 0);

sleep(2000);

textbkcolor (255,4259584);
textout(1, 100, 120, "Строка 2 изменилась", 2);


sleep(1000);


int x, y;
textbkcolor (255,0);
a: getmouse(x, y);
textout(4, x+20, y+20, "X "+format (x)+" Y "+format (y)+" цвет "+format (getcolor(x, y)), 1);
sleep(10);
goto a;
2. ArtChemist - 12 Октября, 2013 - 22:21:15 - перейти к сообщению
Ну как всегда, оперативненько, большое спасибо. С выводом информации с экрана возле курсора это вы здорово сделали, возьму на заметку.
3. HACMOPK - 13 Октября, 2013 - 00:15:45 - перейти к сообщению
Огромное спасибо.
4. Kibor - 13 Октября, 2013 - 10:46:52 - перейти к сообщению
Пользуйтесь Подмигивание

Добавил функции управления показом текста. Обновил первый пост.
5. xlopez69 - 22 Октября, 2013 - 13:40:40 - перейти к сообщению
А подробнее описание можно не для програмеров а для новичков далеких от програмирования
6. Stanislaw - 13 Декабря, 2013 - 11:04:57 - перейти к сообщению
Хотелось бы ведение лога в отдельном окне с возможностью сброса в файл.
В окне в каждой строке (время,строка лога). функции очистки лога,записи в лог.Очень наглядно получается и информативно.В редакторе было бы полезно кнопку авто отступ (для читаемости блоков {} ) и кнопками мыши убрать выделенное в комментарии и снять комментарии
7. Kibor - 13 Декабря, 2013 - 13:29:39 - перейти к сообщению
Лога чего? Переменных?
Сформулируйте как видите эту функцию.
В принципе лог можно прекрасно сделать самому. Использовав запись в файл функциями Кибор.
8. Stanislaw - 14 Декабря, 2013 - 03:12:52 - перейти к сообщению
 Kibor пишет:
Лога чего? Переменных?
Сформулируйте как видите эту функцию.
В принципе лог можно прекрасно сделать самому. Использовав запись в файл функциями Кибор.


Я представляю это так ЛОГ_OPEN-открывает окно, ЛОГ_CLEAR-очищает лог, ЛОГ_WRITE-запись в лог,в логе Дата-Время-Время в мс ""записанное в лог""-,будь то переменная или просто строка.Для чего это надо? На каждом этапе выполнения я могу поставить метку в лог что это было сделано и(или) записать какието параметры.Для отладки удобно когда это находится перед глазами в отдельном окне и просто в использовани.С Ув.
9. Kibor - 14 Декабря, 2013 - 08:45:42 - перейти к сообщению
А чем в принципе отличается вывод текста на экран от такого лога?
В любое месть кода вставить textout и пожалуйста, выводи любую переменную в нужном формате.
Если нужен лог в файл то такой код запишет значение переменной по ее имени:

CODE:
fopen ("c:\log.txt", "a");
fwrite(per);fwrite(ENDL);
fclose();
10. DimS - 22 Ноября, 2014 - 16:32:30 - перейти к сообщению
У вас написано, что в функции textout первый параметр (номер сообщения) может использоваться для обновления текста. Подробности нигде не нашёл. Объясните, пожалуйста, как можно его использовать и в каких функциях.

Powered by ExBB FM 1.0 Final