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

{ Следующий код вставляет значение даты/времени в memo-поле. }

Var

 s : string;

begin

 s :=  DateToStr( Date ) + ' ' + TimeToStr( Time ) + '  :';

 Memo1.Lines.Insert(0, s);

 Memo1.SetFocus;

 Memo1.SelStart := Length(s);

 Memo1.SelLength := 0;

Вычисление даты Пасхи II

Delphi 1

function easter (year: integer): tdatetime;

{----------------------------------------------------------------}

{ Вычисляет и возвращает день Пасхи определенного года.          }

{ Идея принадлежит Mark Lussier, AppVision .  }

{ Скорректировано для предотвращения переполнения целых, если по }

{ ошибке передан год с числом 6554 или более.                    }

{----------------------------------------------------------------}

var

 nMonth, nDay, nMoon, nEpact, nSunday,

 nGold, nCent, nCorx, nCorz: Integer;

begin

 { Номер Золотого Года в 19-летнем Metonic-цикле: }

 nGold := (Year mod 19) + 1;

 { Вычисляем столетие: }

 nCent := (Year div 100) + 1;

 { Количество лет, в течение которых отслеживаются високосные года… }

 { для синхронизации с движением солнца: }

 nCorx := (3 * nCent) div 4 – 12;

 { Специальная коррекция для синхронизации Пасхи с орбитой луны: }

 nCorz := (8 * nCent + 5) div 25 – 5;

 { Находим воскресенье: }

 nSunday := (Longint(5) * Year) div 4 – ncorx – 10;

 { ^ Предохраняем переполнение года за отметку 6554}

 { Устанавливаем Epact – определяем момент полной луны: }

 nEpact := (11 * nGold + 20 + nCorz – nCorx) mod 30;

 if nepact < 0 then nEpact := nEpact + 30;

 if ((nepact = 25) and (ngold > 11)) or (nepact = 24) then nEpact := nEpact + 1;

 { Ищем полную луну: }

 nMoon := 44 – nEpact;

 if nmoon < 21 then nMoon := nMoon + 30;

 { Позиционируем на воскресенье: }

 nMoon := nMoon + 7 – ((nSunday + nMoon) mod 7);

 if nmoon &gtl 31 then

 begin

  nMonth := 4;

  nDay := nMoon – 31;

 end

 else

 begin

  nMonth := 3;

  nDay := nMoon;

 end;

 Easter := EncodeDate(Year, nMonth, nDay);

end; {easter}

Преобразование даты в количество секунд

Delphi 1

EncodeDate возвращает объект TDateTime, который просто является double-числом. Для получения количества миллисекунд с даты 1/1/0001, умножьте результат на 86400000.0 Но чтобы избежать переполнения, лучше пользоваться более поздней датой.

Преобразование даты в неделю

Delphi 1

procedure TForm1.Button1Click(Sender: TObject);

var  frstDay,toDay : TDateTime; week : Integer;

begin

 frstDay := StrToDate('1/1/96');

 toDay := StrToDate(Edit1.Text);

 week := Trunc((toDay - frstDay) / 7) + 1;

 Label1.Caption := IntToStr(week);

end;

Преобразование даты

Delphi 1

procedure TForm1.Button1Click(Sender: TObject);

var

 st,formatsave : string;

 DT : TDateTime;

begin

 st := Edit1.text; // '1996-06-03 00.00.00'

 formatsave := ShortDateFormat;

 ShortDateFormat := 'yyyy.mm.dd hh.mm.ss';

 while pos ('-', st) > 0 do st [pos ('-', st)] := '.';

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

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

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