
23.01.2010, 20:28
|
 |
Новичок
|
|
Регистрация: 05.01.2010
Сообщения: 58
Репутация: 10
|
|
Вы предлогаете сделать так:
Код:
program BackTime;
uses ShellApi,Windows,SysUtils;
var Today:TDateTime;
bkTime, bkProgram: String;
Interval, j: SmallInt;
begin
Today:=Date; // фиксируем реальную дату
if ParamCount<>3
then
begin // если параметры не заданы то печатаем подсказку
WriteLn(output,'BackTime (c)DSKalugin@rambler.ru');
WriteLn(output,'---------------------');
WriteLn(output,'BackTime.exe T I P');
WriteLn(output,'T - Date;');
WriteLn(output,'I - Interval, [sec];');
WriteLn(output,'P - Program');
WriteLn(output,'---------------------');
WriteLn(output,'Example:');
WriteLn(output,'BackTime.exe 04.01.2000 15 "C:\Program Files\program.exe"');
end
else
begin
// 1й параметр - дата
bkTime:=ParamStr(1);
// 2й параметр - интервал в секундах
Interval:=StrToInt(ParamStr(2));
// 3й параметр - полный путь к программе
bkProgram:=ParamStr(3);
// установка необходимой даты
WinExec('cmd /c date '+bkTime, SW_HIDE);
// запуск программы
ShellExecute(0, 'open', bkProgram, nil, nil, SW_SHOW);
j:=0;
while j<Interval do
begin // задержка в секундах
sleep(1000);
inc(j);
end;
// восстанавливаем реальную дату
WinExec('cmd /c date '+DateToStr(Today), SW_HIDE);
end
end.
Если да, то программа откажется компилироватся
Я не понимаю почему она не работает, FreeePascal поддерживает тип PChar от этом свидетельствует СТРАНИЧКА на их сайте.
|