Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: algirdas on February 15, 2018, 01:52:18 PM
-
Что сделать перед HALT(1), чтобы оставить Лог на экране ?
-
Напиши в начале скрипта директиву #logfile тогда лог будет писаться в файл рядом со скриптом.
#logfile
-
Вопрос был не в файл, а на экране. Задача - после окончания работы представить в в окне итоговый отчет.
Можно заменить halt(1) на halt, в лого экране сохранить файл, закрыть clickermann и запустив блокнот получить искомое. Можно через лог файл (v4.13.10b)
#logfile("log.txt")
logclear
tfclear("log.txt")
// WORK : LOGSHOW(1,$x1, $y1 )
// WORK : LOGWTITE($STR1 ). PRINT ($STR2)
logshow(0)
execute("log.txt")
$hw = wndfind("Блокнот")
wndpos( $hw, $x1, $y1)
wndsize( $hw, $x2, $y2)
wndbump ($hw)
halt(1)
Может есть смысл ввести команду HALT(2) - закрыть clickermann без удаления лого окна c экрана. И может можно запретить команде PRINT записывать в файл (отображаясь только в окне), позволяя очистить итоговый отчет от излишних рабочих подробностей. И где-то отметить, что запись типа #logfile("D:\log.txt") игнорируется.
Аксакалам предлагается перенести сообщение в Предложения.
-
В кликере есть функция "TFWRITE" позволяющая писать нужную тебе инфу в файл.
Для удобства можно написать подпрограмму логирования
// Подпрограмма логирования
SUB(Log, $logstr, $logname, $checkLog, $LogDivider)
// Параметры логирования
// 1 - текст лога
// 2 - Имя файла лога
// 3 - переключатель логирования (1-3)
// (1 логирование без записи в файл)
// (2 логирование с записью в файл)
// (3 только запись в файл)
// 4 - запись разделителя строк в файл лога (0-1)
// Образец
// Log("Текст лога","Log.txt",1,0)
SWITCH($checkLog)
CASE(1)
LOGWRITE ($logstr)
CASE(2)
LOGWRITE ($logstr)
TFWRITE($logname, $logstr)
CASE(3)
TFWRITE($logname, $logstr)
END_SWITCH
IF($LogDivider = 1)
SWITCH($checkLog)
CASE(1)
LOGWRITE (" ")
LOGWRITE ("========================")
LOGWRITE (" ")
CASE(2)
LOGWRITE (" ")
LOGWRITE ("========================")
LOGWRITE (" ")
TFWRITE($logname, " ")
TFWRITE($logname, "========================")
TFWRITE($logname, " ")
CASE(3)
TFWRITE($logname, " ")
TFWRITE($logname, "========================")
TFWRITE($logname, " ")
END_SWITCH
END_IF
END_SUB
$STR1 = 100
$STR2 = 500
// Примеры записи в лог
// Вывод текста в лог без записи в файл
Log("Текст лога","Log.txt",1,0)
// Вывод значения переменной в лог и файл
Log($STR1,"Log.txt",2,0)
Log($STR2,"Log.txt",2,0)
// Вывод значения двух переменных в другой файл без записи лога с разделителем строк.
Log(STRCONCAT($STR1, " ", $STR2),"Log 2.txt",3,1)
HALT