Четверг, 19.06.2025, 13:37
Приветствую Вас Гость | RSS
Меню сайта
fff
  • Индексация
  • Девочки
    Форма входа
    Категории раздела
    Теория алгоритмов [3]
    Теория алгоритмов
    Code Snippets [1]
    Code Snippets
    Все о PHP [20]
    Все о PHP
    Visual C++ [13]
    Visual C++
    WIN32 API [7]
    WIN32 API
    Delphi [72]
    Delphi
    ASP [2]
    ASP
    Java [67]
    Java
    VBScript [6]
    VBScript
    CGI [2]
    CGI
    VRML [2]
    VRML
    PERL [9]
    PERL
    HTML [4]
    HTML
    XML [10]
    XML
    Архив записей

    Статьи по Оптимизации

    ПРОГРАММИРОВАНИЕ! СОЗДАНИЕ САЙТОВ И ИХ ОПТИМИЗАЦИЯ

    Главная » Статьи » Программирование » Delphi

    Функция DateSer
    Функция DateSer
    Хочу в качестве совета поделиться функцией DateSer, которую я написал перед этим на VB. Данная функция весьма полезна но, к сожалению, ее нет в Delphi. Применяется она так:
    DecodeDate(Date,y,m,d);
    NewDate:=DateSer(y-4,m+254,d+1234);

    или приблизительно так....
    function DateSer(y,m,d: Integer): TDateTime;
    const

    mj: array[1..12] of Integer=(31,28,31,30,31,30,31,31,30,31,30,31);
    var

    add: Integer;
    begin

    while(true) do begin
    y:=y+(m-1) div 12;
    m:= (m-1) mod 12 +1;
    if m<=0 then begin
    Inc(m,12);
    Dec(y);
    end;
    if ((y mod 4 = 0) and
    ((y mod 100<>0) or (y mod 400=0)))
    and (m=2) then
    add:=1 //дополнительный день в феврале
    else
    add:=0;
    if (d>0) and (d<=(mj[m]+add)) then break;
    if d>0 then begin Dec(d,mj[m]+add); Inc(m); end
    else begin Inc(d,mj[m]+add); Dec(m); end;
    end;
    Result:=EncodeDate(y,m,d);
    end;

    Категория: Delphi | Добавил: Merlin (07.12.2009)
    Просмотров: 343 | Комментарии: 1 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *: