Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Obrazets.doc
Скачиваний:
21
Добавлен:
10.06.2015
Размер:
3.99 Mб
Скачать

Листинг 2. Процедура type

3.2. Команда time

Для получения текущей даты и текущего времени используются процедуры модуля SysUtils Now().

Алгоритм работы процедуры:

1. Если есть ключ справки выводим ее, возвращаемся на начало.

2. Запрашиваем текущее время через функцию.

3. Выводим сообщение о установке нового времени.

4. Если да, то просим ввести новое время.

5. Если есть доступ и права то устанавливаем новое системное время.

6. Возвращаемся на начало.

Пример использования процедур приведен ниже:

if UpperCase(rg.Match[0]) = 'TIME ' then

begin

rg.Expression := '\/\?';

rg.Exec(tl);

if rg.Match[0] = '/?' then

begin

MyWriteln('TIME'

+#13#10+'Выводит текущее системное время в формате H:MM:SS');

goto g1;

end

else

begin

MyWriteln(FormatDateTime('HH:MM:SS', NOW));

MyWriteln('Установить новую дату Y/N');

Readln;

Readln(tl);

if UpperCase(Trim(tl)) = 'Y'

then

begin

MyWriteln('Укажите новое системное время');

Read(tl);

try

if SetTime(now+StrToDateTime(tl))

then

begin

MyWriteln('Новое время успешно установлено');

end

else

begin

MyWriteln('Не удалось установить новое время');

end;

except

MyWriteln('Не удалось установить новое время');

end;

end

else

begin

MyWriteln('Отмена команды. Для продолжения работы нажмите <ENTER>');

Read(tl);

MyWriteln('Перенаправление');

goto g1;

end;

end;

goto g1;

end;

Листинг 3. Процедура отображения и установки времени

3.3. Команда date

Для получения текущей даты и текущего времени используются процедуры модуля SysUtils Now().

Алгоритм работы процедуры:

1. Если есть ключ справки выводим ее, возвращаемся на начало.

2. Запрашиваем текущую дату через функцию.

3. Выводим сообщение о установке новой даты.

4. Если да, то просим ввести новую дату.

5. Если есть доступ и права то устанавливаем новую системную дату.

6. Возвращаемся на начало.

Пример использования процедур приведен ниже:

if UpperCase(rg.Match[0]) = 'DATE ' then

begin

rg.Expression := '\/\?';

rg.Exec(tl);

if rg.Match[0] = '/?' then

begin

MyWriteln('DATE'

+#13#10+'Выводит текущую системную дату в формате dd-mm-yyyy');

goto g1;

end

else

begin

MyWriteln(FormatDateTime('DD-MM-YYYY', NOW));

MyWriteln('Установить новую дату Y/N');

Readln;

Readln(tl);

if UpperCase(Trim(tl)) = 'Y'

then

begin

MyWriteln('Укажите новую системную дату');

Read(tl);

try

if SetTime(StrToDateTime(tl)+now)

then

begin

MyWriteln('Новая дата успешно установлена');

end

else

begin

MyWriteln('Не удалось установить новую дату');

end;

except

MyWriteln('Не удалось установить новую дату');

end;

end

else

begin

MyWriteln('Отмена команды. Для продолжения работы нажмите <ENTER>');

Read(tl);

MyWriteln('Перенаправление');

goto g1;

end;

end;

goto g1;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]