当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 1. 求星期公式 星期=[5+A(实际天数)] mod 7 2. 干支计算公式 六十甲子干支序号,从1->59->0。
 

 

 ·delphi中调用netscapenavigator    »显示摘要«
    摘要:netscape浏览器,显示出你指定的www地址的主页。下面这个程序能 够完成这一功能。   programnetscape;   usesddeman;   proceduregotourl(surl:string);   var   dde:tddeclientconv;   begin   dde:κtddeclientconv.create(nil);   withddedo   beg......
 ·利用dll在程序是实现文件拷贝    »显示摘要«
    摘要:作者:未名码头 在所开以的应用软件中,有时我们对某些文件进行拷贝(如对数据库进行备份、制作 安装程序),但是常用的一些语言却没有提供可直接进行文件拷贝的过程或函数。为此 ,我曾利用delphi编制了可提供文件拷贝过程的动态连接库copy.dll,其输出过程为 copyfile。由于dll具有简化编程、运行速度快等诸多优点,且不受编程语言的限制, 用delphi编写的copf.dll同......


星期、干支、二十八宿计算公式
1. 求星期公式

星期=[5+a(实际天数)] mod 7 【程序编程相关:用 ModelMaker 生成 单例程窗

【推荐阅读:hdsi2.0 sql注入部分抓包分析语

【扩展信息:用DLL方式封装MDI子窗体。

2. 干支计算公式

六十甲子干支序号,从1->59->0.

六十甲子干支序号=[23+a(实际天数)] mod 60

3. 二十八宿计算公式

二十八宿序号=[23+a(实际天数)] mod 28

4. 实际天数a的计算

a=b(基本天数)+c(闰日天数)

b=(计算年-1)*365+(要计算到年的月日天数)

例:1984年2月1日的基本天数b=(1984-1)*365+(31+1)=723827(天),

其中,31是1月为31天,1为2月1日为1天.

公元308年8月28日的基本天数

b=(308-1)*365+(31+28+31+30+31+30+31+27)=112055+239=112294(天)

这里的(要计算到年的月日天数),用的是公历,月日天数的规则我好

象小学就学过了.哈哈……

c=(计算年-1) div 4 -误差修正值 + fixvalue2

fixvalue2为0或者1.常值为0,当年数为闰年(公历闰年法)之中的3月

1日之后的为1.

误差修正值推算:

公元元年1月1日至1582年10月14日为0.

1582年10月15日至1699年12月31日为10.

从1701年1月1日起每增加一个世纪累加1,但能被400除尽的世纪不累

加1.此方法推算即可.

--有一个问题,1700年这一年的修正值应为多少呢?算法中正好没有

讲到,但看来应该是10.

例1701年1月1日起误差值为11,而1801年1月1日起误差修正值为12,

而1901年1月1日起误差修正值为13,

但2001年误差修正值仍为13,因为2000年能被400整除,故不累加.而

2101年1月1日起误差修正值为14.

5. 实例:1998.3.15的星期.干支与二十八宿

b=(1998-1)*365+(31+28+15)=728979

c=(1998-1) div 4 - 13 + 0 = 486

a=b+c=728979+486=729465

星期序号=(5+729465) mod 7=0,即为星期日

干支序号=(13+729465) mod 60=58,即为辛酉

二十八宿序号=(23+729465) mod 28=4,即为房


...   下一页
 ·delphi中对象解除技巧    »显示摘要«
    摘要: 在delphi程序设计中,我们需要通过解除建立的所有对象来避免内存泄 漏。但是,如果你在程序中不谨慎小心的话,很容易多次解除同一个对象, 这将会引起很严重的错误,造成应用程序崩溃,甚至是死机。   请看下面的程序:   procedure tform1.button1click(sender:tobject);   var    button2,button3:tbutton;  ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE