В предыдущей статье секретная комбинация клавиш или "Пасхольное яйцо" я описывал как можно управлять компонентами с помощью секретной комбинации клавиш, и для примера использовал запуск отладочного режима при котором отображается дополнительный функционал. Продолжая цикл заметок в этом направлении я попытаюсь описать как можно задать некие отладочные (настроечные) параметры при старте программы. Параметры будут задаваться следующего вида Project.exe -deb. Для запуска программы отдельно можно создать ярлык с уже заданными параметрами запуска. И так, приступим.
Откроем к примеру предыдущий проект, или создадим новый. В разделе var добавим переменную DEBUGON, которой по умолчанию присвоем значение false
Следующим шагом будет написание процедуры, которая делает перебор всех входных параметров и устанавливает соответствующие значения (процедуру пишем у разделе implementation):
Дальше нам нужно вызвать данную процедуру при запуске проекта и перед созданием форм. Для этого нужно в главном меню выбрать Project - View Source. В результате откроется исходный код проекта. Вставим вызов нашей процедуры после инициализации и перед созданием форм. У меня код выглядит следующим образом:
Если у нас переменная установлена, тогда задействуем некие параметры, в данном случае делаем видимой или нет Panel1 в зависимости от параметра DEBUGON.
Практически все, теперь можно протестировать наше приложение на работоспособность запустив его с параметром -deb и без него. Для запуска программы с параметром можно воспользоваться средствами Delphi, для этого нужно зайти в Run-Parameters и написать в поле Parameters наше отладочное -deb. Пожалуй все, теперь можно опять протестировать и увидеть результат.
Откроем к примеру предыдущий проект, или создадим новый. В разделе var добавим переменную DEBUGON, которой по умолчанию присвоем значение false
var
Form1: TForm1;
DEBUGON:Boolean = false;
Следующим шагом будет написание процедуры, которая делает перебор всех входных параметров и устанавливает соответствующие значения (процедуру пишем у разделе implementation):
procedure StartInit; // добавляем для глобальной видимостиПроверяем в цыклом от 0 до количества параметров все входные параметры. Кстати первый параметр с индексом 0 будет путь к программе, и ее названием. Если у нас параметр совпадает с константой SDebugOn, то есть имеет значение -deb - тогда переменная DEBUGON = true.
var
Form1: TForm1;
DEBUGON:Boolean = false;
implementation
{$R *.dfm}
procedure StartInit;
const
SDebugOn = '-deb';
var
I: Integer;
begin
for I := 0 to ParamCount do
if ParamStr(I) = SDebugOn then
DEBUGON:=true;
end;
Дальше нам нужно вызвать данную процедуру при запуске проекта и перед созданием форм. Для этого нужно в главном меню выбрать Project - View Source. В результате откроется исходный код проекта. Вставим вызов нашей процедуры после инициализации и перед созданием форм. У меня код выглядит следующим образом:
program Project1;Двигаемся дальше. Переходим на форму и создаем обработчик события на onCreate (два раза кликаем на пустое поле напротив названия onCreate в Object Inspector - Events) и пишем следующий код:
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
StartInit;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Panel1.Visible:= DEBUGON;
Если у нас переменная установлена, тогда задействуем некие параметры, в данном случае делаем видимой или нет Panel1 в зависимости от параметра DEBUGON.
Практически все, теперь можно протестировать наше приложение на работоспособность запустив его с параметром -deb и без него. Для запуска программы с параметром можно воспользоваться средствами Delphi, для этого нужно зайти в Run-Parameters и написать в поле Parameters наше отладочное -deb. Пожалуй все, теперь можно опять протестировать и увидеть результат.