Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];

Вниз

Календари   Найти похожие ветки 

 
misha_shar ©   (2007-08-24 16:47) [0]

Попытка работы с календарями у меня не удалась. Оказалось что
между свойством Date и системными утилитами преобразующими
переменные типа TDateTime в строки существует разница на-693594;
Я внес изменения в программы Календарей и все стало работать корректно.
Изменения привожу ниже.
unit KOLMHDateTimePicker;
//?? misha_shar 443
//?? misha_shar 450
//  MHDateTimePicker Компонент (MHDateTimePicker Component)
//  Автор (Author): Жаров Дмитрий (Zharov Dmitry) aka Гэндальф (Gandalf)

implementation

const cofDate=693594;

function TMHDateTimePicker.GetDateTime:TDateTime;
var
 TMP:TSystemTime;
begin
 if Perform(DTM_GETSYSTEMTIME,0,Longint(@TMP)) = GDT_VALID then
 begin
   if SystemTime2DateTime(TMP, Result) then
     PDateTimePickerData(CustomData)^.FDateTime:=Result;
 end
 else
   Result := 0;
Result:=Result-cofDate; //?? misha_shar 443
end;
//
procedure TMHDateTimePicker.SetDateTime(const Value:TDateTime);
var
 TMP:TSystemTime;
 DT : TDateTime;  //?? misha_shar 450
begin
DT:=Value+cofDate;  //?? misha_shar
if DateTime2SystemTime(DT,TMP) then //?? misha_shar
//  if DateTime2SystemTime(Value,TMP) then
   PDateTimePickerData(CustomData)^.FDateTime:=Value;
 Perform(DTM_SETSYSTEMTIME,GDT_VALID,Longint(@TMP));
 DoOnChange;
end;
--------------------------------------
//**********************************************************************
// KOLMonthCalendar - класс-оболочка для MonthCalendar Win32 Common Controls
//
// 2006 ECM / thanx to avs for help
// version 0.06   02.03.06
//**********************************************************************
//?? misha_shar 516
//?? misha_shar 642
//?? misha_shar 656
unit KOLMonthCalendar;

implementation

const cofDate=693594;
//
procedure TMonthCalendar.SetDayOfWeek(const Value: TCalDayOfWeek);
var
 DOWFlag: Integer;
 A: array[0..1] of KOLChar;//?? misha_shar 516 исправления для работы с Unicode

function TMonthCalendar.GetDateVal(const Index: Integer): TDateTime;
const
 Msg_Val: Array[0..1] of DWORD = (
   MCM_GETCURSEL,
   MCM_GETTODAY
 );
var
 ST: TSystemTime;
begin
 Perform(Msg_Val[Index],0,Integer(@ST));
 FillChar(ST.wHour,SizeOf(Word)*4,0);
 SystemTime2DateTime(ST,Result);
 Result:=Result-cofDate;//misha_shar 642
end;

procedure TMonthCalendar.SetDateVal(const Index: Integer;
 const Value: TDateTime);
const
 Msg_Val: Array[0..1] of DWORD = (
   MCM_SETCURSEL,
   MCM_SETTODAY
 );
var
 ST : TSystemTime;
 DT : TDateTime; //?? misha_shar 656
begin
DT:=Value+cofDate;//?? misha_shar
 DateTime2SystemTime(DT,ST);//?? misha_shar
 Perform(Msg_Val[Index],0,Integer(@ST));
end;


 
misha_shar ©   (2007-08-27 09:31) [1]

Оказалось что это все не надо если пользоваться KOL программами преобразования Даты и времени. Так что исправления пришлось вернуть назад.


 
ANTPro ©   (2007-08-27 13:35) [2]

> [0] misha_shar ©   (24.08.07 16:47)
> TDateTime в строки существует разница на-693594;

 VCLDate0 = 693594;
 {* Value to convert VCL "date 0" to KOL "date 0" and back.
    This value corresponds to 30-Dec-1899, 0:00:00. So,
    to convert VCL date to KOL date, just subtract this
    value from VCL date. And to convert back from KOL date
    to VCL date, add this value to KOL date.}



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
15-1204819301
Пробегал...
2008-03-06 19:01
2008.04.20
Переход по CTRL + клик глючит


2-1206481954
Adios
2008-03-26 00:52
2008.04.20
можноли получить хэндлы всех программ свёрнутых в трей?


8-1178253224
TIF
2007-05-04 08:33
2008.04.20
3D Max и Delphi


2-1206603785
AlexeyMir
2008-03-27 10:43
2008.04.20
Locate,LocateNext в Interbase


15-1204627499
tytus
2008-03-04 13:44
2008.04.20
Посоветуйте прогу обнаружения шпионов и Downloader-ов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский