Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

 nDayCount := nDayCount + nDay;

 Result := ((nDayCount div 7) + 1);

end;

Разница во времени

Delphi 1

…я не знаю, когда вы выполняете TimeTaken… Вы делали какую-нибудь паузу перед запуском TimeTaken после выполнения SetTimeStart? Если не делали, то удивительно, что tt=Now… Я пробовал ваш код с несколькими незначительными изменениями… и я всегда получал разницу между Now и TimeStart. Но я объявляю tt как TDateTime, а не как Double, и использую событие OnTimer для запуска процедуры TimeTaken. Вы можете проверить это, запустив пример, приведенный ниже.

{*******************************************************************

ФАЙЛ : TIMEEX.PAS

ПРИМЕЧАНИЕ : Создайте форму, содержащую 1 TTimer и 6 TLabel. Установите событие OnTimer у TTimer на TForm.Timer1.Timer

********************************************************************}

unit Time;


interface


uses

 SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,Forms, Dialogs, ExtCtrls, StdCtrls;


type

 TForm1 = class(TForm)

  Timer1: TTimer;

  Label1: TLabel; {Caption : 'Старт :'}

  Label2: TLabel;

  Label3: TLabel; {Caption : 'Время : '}

  Label4: TLabel;

  Label5: TLabel; {Caption : 'Истекшее время:'}

  Label6: TLabel;

  procedure FormCreate(Sender: TObject);

  procedure Timer1Timer(Sender: TObject);

 private { Private declarations }

  TimeStart : TDateTime;

 public { Public declarations }

 end;


var

 Form1: TForm1;


implementation


 {$R *.DFM}


procedure TForm1.FormCreate(Sender: TObject);

begin

 TimeStart := Now;

 Label2.Caption := TimeToStr(Now);

end;


procedure TForm1.Timer1Timer(Sender: TObject);

var

 tt : TDateTime;

begin

 Label4.Caption := TimeToStr(Now);

 tt:= Now - TimeStart;

 Label6.Caption:= TimeToStr(tt);

end;


end.

Проблема со временем

Delphi 1

…я нашел Time24Hour в файлах помощи, как вы и советовали. Но…

вот код для EncodeTime в SysUtils.Pas file:

function DoEncodeTime(Hour, Min, Sec, MSec: Word; var Time: TDateTime): Boolean;

begin

 Result := False;

 if (Hour < 24) and (Min < 60) and (Sec < 60) and (MSec < 1000) then begin

Time := (LongMul(Hour * 60 + Min, 60000) + Sec * 1000 + MSec) / MSecsPerDay;

  Result := True;

 end;

end;


function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;

begin

 if not DoEncodeTime(Hour, Min, Sec, MSec, Result) then ConvertError(LoadStr(STimeEncodeError));

end;

Как вы можете видеть, проверка Time24Hour присутствует. Я думал в Browser все будет также. Ничего подобного! Я уж грешным делом подумал, что Time24Hour объявили устаревшим, исключили из поддержки, выбросили частично из кода, но забыли почистить файл помощи. Вы так не думаете?

Переменная времени

Delphi 1

Используйте переменную типа TDateTime.

procedure TForm1.XXXXXXXClick(Sender: TObject);

var StartTime, EndTime, ElapsedTime :TDateTime;

begin

 StartTime := Now;

 {Здесь поместите свой код}

 EndTime := Now;

 ElapsedTime := EndTime - StartTime;

 Label1.Caption := TimeToStr(ElapsedTime);

end;


{теперь все это в памяти, но в нашем случае это хорошее место. }

var

 before,after,elapsed : TDateTime;

 Ehour, Emin, Esec, Emsec : WORD;


 before := now;


 some_process;


 after := now;

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT