Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с временем в Delphi
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
crazylammer
Скажите пожалуйста, как можно работать с временем в консольных приложениях? (например, сделать отсечку по времени в программе)?
Ozzя
Ну, так, например:
Код
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,Windows;
var
  DateTime : TDateTime;
  str : string;
  t : Integer;
  ndays: double;
  ticks: LongInt;
  btime: TDateTime;

begin
  DateTime := Time;
  str := TimeToStr(DateTime);
  WriteLn(str);

  {Ôóíêöèÿ GetTickCount ïîëó÷àåò êîëè÷åñòâî ìèëëèñåêóíä, ïðîøåäøèõ ñ ìîìåíòà ñòàðòà Windows}
  ticks := GetTickCount;  

  {×òîáû ïîëó÷èòü äíè, íåîáõîäèìî ðàçäåëèòü íà êîëè÷åñòâî ìèëëèñåêóíä â äíå, 24*60*60*1000=86400000}  
  ndays := ticks/86400000;  

  {òåïåðü âû÷èòàåì èç òåêóùåé äàòû ïîëó÷åííîå êîëè÷åñòâî äíåé ðàáîòû Windows}
  bTime := now-ndays;  

  {ïîêàçûâàåì äèàëîãîâîå îêîøêî ñ ñîîáùåíèåì}
  WriteLn(
   FormatDateTime('"Windows started on" dddd, mmmm d, yyyy, ' +
                  '"at" hh:nn:ss AM/PM', bTime) + #10#13 +
   'Its been up for ' + IntToStr(Trunc(nDays)) + ' days,' +
   FormatDateTime(' h "hours," n "minutes," s "seconds"',ndays));

  ReadLn;

  { TODO -oUser -cConsole Main : Insert code here }
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.