捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
TLssCalendar V1.10 (支持农历的月历控件)
关键字:TLssCalendar 农历 节气 月历 日期
来 自:原创
平 台:Win9x,Win2k/NT 下载所需:0 火柴
深浅度:中级 完成时间:2004/1/15
发布者:miky 发布时间:2004/4/24
编辑器:DELPHI7 语  种:简体中文
分 类:日期与时间 下载浏览:1983/19602
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
TLssCalendar (支持农历的月历控件) Version  1.10
                   
    发布这个控件是因为我在网上找不到支持农历的月历控件,就自己写了个,希望能有用。

    您可以没有任何限制的使用、修改、分发本控件。但没有任何担保,甚至没有适合特定目的而隐含的担保。如果您修改了本控件,烦请发一份拷贝到<LuckMiky@21cn.com> 。

    开发平台:PWin2000Pro + Delphi 7.0

    请不要删除本说明。

  主要功能;
  1、在日历面板上同时显示公历和农历,农历部分仅支持公元1900.1.31到公元2100.12.31;
  2、可以定制控件界面颜色和字体,类似TmonthCalendar,可以选择采用AAFont平滑字体边缘(有点慢);
  3、控件字体大小根据控件大小自动适应;
  4、支持鼠标和键盘或者代码选择日期;
     Home:每月的第一天      End:每月的最后一天
     PageUp: 上一个月       Page:下一个月
     四个方向键移动光标
  5、提供了公历转农历和农历转公历函数,支持干支年、月、日;函数原形及调用方法请看代码。
     本单元农历转换部分为 Mostone.Jiang 漠石(mostone@hotmail.com)的CnBase.pas,作了一点小小改动。由于控件字体过小,采用了***与月共舞工作室周劲羽***的AAFont来平滑字体显示,在此感谢2位,提供了这么好的东西给我们免费使用!

                                                    Miky
                                                    2004.01

     更新历史:
     2004-4-24  Ver 1.10  
        修正了网友happylife发现的Bug;
        修改了Paint部分,不再使用DoubleBuffered,显示速度有很大改观;
        添加了干支记日显示方式选项;
        添加了keypress,keydown,keyup事件;
        添加了编译指令{DEFINE AAFONT},如果你没有AAFont,请把第49行删除
                
     2004-1-15  Ver 1.00 
        发布于Delphi盒子;
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
TLssCalendar V2.0 (支持农历的月历控件)
luke_wang 2006/12/31 下+6739/浏+17839 评+7
TLssCalendar V1.10 (支持农历的月历控件)
miky 2004/4/24 下+1983/浏+19603 评+9
LssCalendar (公农历月历控件)
miky 2004/2/6 下+1611/浏+18660 评+39
相关评论
共有评论9条 当前显示最后6条评论
xanadu 2004/6/9 21:25:57
我想知道,春节这一天是怎么求算出来的
lyp8899 2004/10/31 10:19:26
这个控件怎么安装呀,我真不会, 请各位大侠指点一二
nihaoqiang 2004/11/15 12:32:32
miky,你好,我用的是delphi5,在delphi5里安装,我遇到下列问题,希望你能抽空改进一下,让使用Delphi5的同志们也可以分享你的成果啊,同时期待你的软件能够更完美。
主要问题:
  1:uses语句问题
   我不使用AAFont,去掉了DEFINE语句,你的uses语句是
  uses
    SysUtils, Classes, Controls, Types, Graphics, DateUtils, Windows, 
    Messages,  AAFont;
  Delphi5里没有Types,和DateUtils,AAFont 没有条件编译,我改成了
  uses
    SysUtils, Classes, Controls,  Graphics,  Windows  ,
    Messages {$IFDEF AAFONT}, AAFont{$ENDIF};

   另外,在paint方法的变量声明里也有AAFont的问题

 2 多个函数delphi5里没有,如MonthOf,YearOf,DayOf,我重定义里一下
unction MonthOf(D:Tdate):word;
var
  year,day:word;
begin
 DecodeDate(d,year,result,day);
end;
function YearOf(D:Tdate):word;
var
  month,day:word;
begin
 DecodeDate(d,result,month,day);
end;
function DayOf(D:Tdate):word;
var
  year,month:word;
begin
 DecodeDate(d,year,month,result);
end;


DateOf在d5不存在
有几处用到了 DateOf(NOW), 我换成了Date  (是个SysUtils单元的当前日期函数)
其它使用DateOf的地方我换成了trunc (截整函数,日期实际就是整数部分,这个函数应该是取日期变量的日期部分吧?)
还有几处用到了incday,这是不是增加天数啊?我定义为
function incday(d:Tdate;a:integer):Tdate;
begin
  result:=d+a;
end;

DaysBetween是不是表示两个日期之间的天数?我是根据函数名理解的,不知对不对,我定义为

function DaysBetween(d1,d2:Tdate):integer;
begin
  result:=trunc(d2-d1);
end;

IncMilliSecond是增加毫秒吧

function IncMilliSecond(d:Tdatetime;msec:word):Tdatetime;
begin
  result:=d+msec/(24*60*60*1000);
end;

EncodeDateTime(1900,1,6,2,5,0,0)不存在改为
EncodeDate(1900,1,6)+EncodeTime(2,5,0,0)

另外,在
function TLssCalendar.ToLunar(TheDate: TDate): THzDate;
里,
if offset < 0 then
  begin
    offset:= offset + temp;
    TheYear:= TheYear - 1;
  end;
此处temp没初始化,不知该初始化为什么。


经过上面的改动,元件安上了,放了一个下来,发现只显示公历没显示农历嘛,怎么回事啊,请解答一下,哪里错了啊?

etqxq 2004/12/10 14:53:14
我有AAFont.DCU.

他又说我没有 AAFont.pas 

能不能发个 AAFont.pas 给我

一个DELPHI初学者望大家指教.
zhousan 2005/10/12 16:26:57
怎么调用啊..我想将农历日期显示在一标签上,
superyys2 2005/11/21 9:41:12
我很喜欢这个控件,我准备把他放到我的商业程序里,楼主没意见吗?
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表