PDA

Просмотр полной версии : Механизм логирования в delphi


yeyebvz
28.03.2013, 10:38
Раз тему удалить нельзя, опишу полностью свой подход к логированию)

Возникла задача настроить отображение локальных/глобальных переменных бота для дебага. Где стоит перс, хочет ли он юзать банку / скил, нашёл ли лут, хочет ли его поднять, и т.д.
От Label решил отказаться - т.к. слишком часто приходится добавлять / удалять параметры, и мониторить какая метка свободна, или перезаписывается другим значением - это очень утомительно.

Взял компонент TListBox. Для него написал процедурку

procedure log_display_message(tmessage : string);
begin
Form1.ListBox1.Items.Add(tmessage);
end;


при каждом срабатывании таймера - показываю базовые параметры ботика вызовом log_display_status();

procedure log_display_status();
begin
Form1.ListBox1.Items.Clear;
//
log_display_message('gps_1=' + global_param_example_1);
log_display_message('gps_2=' + global_param_example_2);
log_display_message('gps_3=' + global_param_example_3);
end;


Дальше, везде, где нужно получить данные - просто добавляется код log_display_message('что показать'); - и можно не следить за labels.

vogel
05.04.2013, 00:25
Зачем же TListBox ? Чем вам TMemo то не угодило ?

pw.assistant
11.04.2013, 14:45
Моргать будет при каждом вызове log_display_status();
я бы так не делал

я лог веду в StringList а уже его присваиваю или ListBox или Memo или RichEdit, в зависимости от необходимости.