Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

InterBase и TTime [D5, IB5.x]


BAA ©   (2002-06-04 19:03:00) 

Здрявствуйте,уважаемые...
Вопросеро собсно в следующем...Как в InterBase реализован тип TTime...TDateTime упорно записывает только Date - часть...Кому-то покажется смешным, но нет возмодности разбираться...Почитал Interbasовские туториалы - что-то совсем мутно...


Digitman   (2002-06-05 08:32:00) [1]

uses IBHeader;

{ определения из IBHeader
TGDS_QUAD = record
gds_quad_high : ISC_LONG;
gds_quad_low : UISC_LONG;
end;
TISC_QUAD = TGDS_QUAD;
}

const
MSecsPerDay10 = MSecsPerDay * 10;
IBDateDelta = 15018;


function DelphiDateTimeToIBDateTime(d: TDateTime): TISC_QUAD;
var
Days: Integer;
begin
Days:= Trunc(d);
Result.gds_quad_high:= Days + IBDateDelta;
Result.gds_quad_low:= Trunc((d - Days) * MSecsPerDay10);
end;

function IBDateTimeToDelphiDateTime(ibd: TISC_QUAD): TDateTime;
begin
Result:= ibd.gds_quad_high - IBDateDelta + ibd.gds_quad_low / MSecsPerDay10;
end;


P.S.
А разбираться-таки нужно. Лень - не помощник программеру))


Alexandr   (2002-06-05 07:07:00) [2]

если у тебя нет возможности разбираться, то у меня нет желания помогать тебе


Наверх

Титульная страница Поиск, карта сайта Написать письмо