vfp中西历转换?

whaisheng 2006-10-17 05:03:30
哪位有vfp中西历转换function module?
wensheng2008@21cn.com
...全文
361 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2006-10-17
  • 打赏
  • 举报
回复
有些控件地址可能有误,因为是以前整理的。
十豆三 2006-10-17
  • 打赏
  • 举报
回复
出处:http://www.371down.com/downinfo/9519.html

支持1901-2030年
1901-01-01 - 2030-12-31

说明:运行前请先运行RegIt.bat对控件进行注册,然后你即可以运行XPCalDemo.exe以查看控件的演示了!

******************************************************************
(同时增送万年历小程序Calendar.exe,此程序是用的源码集成,未用控件)
******************************************************************

控件介绍:
(1)网友对此控件的介绍:
这个控件文件实际上里面有四个控件!

一个XP界面风格的农历控件:显示公历、农历,年、月、日的干支,节气日期与时间,其样式就象MS的COMMON CONTROL 2.6 的样子,不过没有那个控件中两个凸出的滚动按钮,而是全平面的.同时,年月则是下拉式,而不是菜单.样式十分美观.

同时一样还有象MonthView那样的下拉式农历控件,(下拉上还有年月的下拉,也许你不可相信),点击前,你一定认为它是ComboBox(但这种界面还可以平面化(有Apperance属性)).并且,要比MS的那个下拉还要好,因为,MS的那个下拉窗一弹出,则父窗体变灰,而此控件则不会(Bardo以前说MS的那个下拉日历编得并不好,下拉窗一弹出,人们就会发现这是窗体,没有整体感.现在才明白,原来他是有这样的技术的高手,所以才说出这样的话(而且最不可信的是,这是用VB写成的(用工具查看控件引用的是MSVBVM60.dll,而不是MFC42.dll))).且下拉与Combobox模式一样,Slide出来,Slide进去.实在是太绝了!

这组控件中还有另外两个控件:TimeUpDown,DateUpDown,前者就象系统中设置时间的那个用鼠标操作的滚动时间控件(当然没有钟面,因为不是所有人都要钟面)后者就是将前者的日期改成了时间.均是XP风格的平面的控件!

(2)开发者的附加说明:
此组控件中每一个控件都有七个方法,用于:公历转农历数字,公历转农历字串,求农历节气日期时间
求农历节气日期时间字串,求农历干支数字,求农历干支字串,农历转公历.

同时,这些控件都支持数据库绑定.

此控件分为三个版本,试用版,个人版,企业版.分别为,
试用版不可以使用其界面,但可以通过引用而使用控件提供的七个方法.
个人版只可以使用XpMonth这个控件.并且,没有求干支的方法可用.
企业版可以使用所有的控件界面与方法.
同时,当你不需要界面时,你还可以用引用的方法使用.(试用版仅可以使用这一方法!)

开发人:祁宏 网名:Bardo
测试人:卜夏琴

电子邮件地址:sales@easthot.net
网址:http://www.easthot.net
十豆三 2006-10-17
  • 打赏
  • 举报
回复
出处:http://www.371down.com/downinfo/3031.html
http://www.371down.com/downinfo/5612.html

《公历&农历控件》

注意:此农历控件只支持 1920 到 2031 年间的公历转换
1920-1-1 2031-12-31

首先要先注册 Calendar.ocx:“工具-ActiveX控件...”
然后选择插入ActiveX控件“农历控件.Calendar”


设置农历日期显示的类型
0:字符类型
此类型农历日期以字符形式返回,如:正月十五
1:数字类型
此类型农历日期以数字形式返回,如:115(个位及十位共同表示天,前面的表示月)

Calendar.ChineseDateType = cboChineseDateType.ListIndex

'设置待转换的公历日期
Calendar.DateNow =

'获得农历日期
= Calendar.ChineseDate

'获得农历干支年份表示
= Calendar.ChineseGanZhi

'获得农历属相(生肖)
= Calendar.ChineseAnimal

'获得农历气节
= Calendar.ChineseSolarTerm
十豆三 2006-10-17
  • 打赏
  • 举报
回复
出处:http://www.office-cn.net/Soft/UploadSoft/200508/20050817122733899.rar

附件中有VB及Access的使用示例文件。

注册方法:
首先要先注册 CnCalendar.ocx:“工具-ActiveX控件...”
然后选择插入ActiveX控件“CnCalendar2.CnCalendar”



本控件支持 1900-2049 年共150年的农历查询。
可以分农历年,农历月,农历日等不同方式。

版权归作者所有,期待您的意见。

sjtuyjc@sohu.com

控件完全免费,可以自由传播。
十豆三 2006-10-17
  • 打赏
  • 举报
回复
控件:

出处:http://www.371down.com/downinfo/15750.html

书羊农历控件 1.65

首先要先注册 CnCalendar.ocx:“工具-ActiveX控件...”
然后选择插入ActiveX控件“CnCalendar2.CnCalendar”
本控件为免费控件,可以任意的复制使用。

书羊软件 http://www.cciyy.com/cn sjtuyjc@sohu.com

本控件界面美观、大方,支持 1901-2090 年共190年的农历查询。
只需要做的是输入阳历的日期,就可以得到农历的日期、干支年份、生肖、星座等。
另外,还提供节气,节日的显示功能。此控件十分简单。
控件压缩包还提供例程让你很快学会使用此控件。


主要属性:
BottomBackColor 控件节气显示部分颜色
DateBackColor 控件日期背景颜色
GridLinesColor 日期网格线颜色
SelectColor 当前日期背景色
ShowVerticalGrid 显示垂直方向网格
ShowHorizontalGrid 显示水平方向网格
TitleBackColor 农历日期部分背景色
WeekBackColor 星期部分背景色
Value As Date 日期


主要方法:
GetChineseAnimal(ByVal theDate As Date) 返回日期生肖,参数有效范围 1901-01-01 ~ 2090-12-31
GetChineseDate(ByVal theDate As Date) 返回农历日期,参数有效范围 1901-01-01 ~ 2090-12-31
GetChineseYear(ByVal theDate As Date) 返回农历干支年,参数有效范围 1901-01-01 ~ 2090-12-31
GetChineseMonth(ByVal theDate As Date) 返回农历月分,参数有效范围 1901-01-01 ~ 2090-12-31
GetChineseDay(ByVal theDate As Date) 返回农历日,参数有效范围 1901-01-01 ~ 2090-12-31
GetConstellation(ByVal theDate As Date) 返回星座,参数有效范围 1901-01-01 ~ 2090-12-31
十豆三 2006-10-17
  • 打赏
  • 举报
回复
控件就比较多了,在百度里搜一吧。
十豆三 2006-10-17
  • 打赏
  • 举报
回复
支持1921/02/08 - 2021/01/12 公历转农历。
用 法:PRG名(公历日期参数)
返回值:字符型农历日期
例子:
公历转农历(DATE())
公历转农历({^2008/01/01})
十豆三 2006-10-17
  • 打赏
  • 举报
回复
转帖:

PARA CSSJ
Dime WeekName(8), MonthAdd(12), NongliData(100), TianGan(10), DiZhi(12), ShuXiang(12), DayName(31), MonName(13)
*Dime curTime, curYear, curMonth, curDay, curWeekday
*Dime GongliStr, WeekdayStr, NongliStr, NongliDayStr
*Dime i, m, n, k, isEnd, bit, TheDate
&&支持1921/02/08 - 2021/01/12 公历转农历。
set date to ansi
set cent on

*获取当前系统时间
IF TYPE('CSSJ')<>'D'
RETU '参数错误!'
ENDIF
IF CSSJ=CTOD('//')
curTime = date()
ELSE
CURTIME=CSSJ
ENDIF
*设置初始化时间为1921年2月8日是农历的正月初一
QSNF=1921
YGTS=38
DO WHILE YEAR(CURTIME)-QSNF>100 OR YEAR(CURTIME)-QSNF<0
QSNF=QSNF+100*IIF(YEAR(CURTIME)-QSNF<0,-1,1)
ENDDO
*星期名
WeekName(1) = " * "
WeekName(2) = "星期日"
WeekName(3) = "星期一"
WeekName(4) = "星期二"
WeekName(5) = "星期三"
WeekName(6) = "星期四"
WeekName(7) = "星期五"
WeekName(8) = "星期六"

*天干名称
TianGan(1) = "甲"
TianGan(2) = "乙"
TianGan(3) = "丙"
TianGan(4) = "丁"
TianGan(5) = "戊"
TianGan(6) = "己"
TianGan(7) = "庚"
TianGan(8) = "辛"
TianGan(9) = "壬"
TianGan(10) = "癸"

*地支名称
DiZhi(1) = "子"
DiZhi(2) = "丑"
DiZhi(3) = "寅"
DiZhi(4) = "卯"
DiZhi(5) = "辰"
DiZhi(6) = "巳"
DiZhi(7) = "午"
DiZhi(8) = "未"
DiZhi(9) = "申"
DiZhi(10) = "酉"
DiZhi(11) = "戌"
DiZhi(12) = "亥"

*属相名称
ShuXiang(1) = "鼠"
ShuXiang(2) = "牛"
ShuXiang(3) = "虎"
ShuXiang(4) = "兔"
ShuXiang(5) = "龙"
ShuXiang(6) = "蛇"
ShuXiang(7) = "马"
ShuXiang(8) = "羊"
ShuXiang(9) = "猴"
ShuXiang(10) = "鸡"
ShuXiang(11) = "狗"
ShuXiang(12) = "猪"

*农历日期名
DayName(1) = "*"
DayName(2) = "初一"
DayName(3) = "初二"
DayName(4) = "初三"
DayName(5) = "初四"
DayName(6) = "初五"
DayName(7) = "初六"
DayName(8) = "初七"
DayName(9) = "初八"
DayName(10) = "初九"
DayName(11) = "初十"
DayName(12) = "十一"
DayName(13) = "十二"
DayName(14) = "十三"
DayName(15) = "十四"
DayName(16) = "十五"
DayName(17) = "十六"
DayName(18) = "十七"
DayName(19) = "十八"
DayName(20) = "十九"
DayName(21) = "二十"
DayName(22) = "廿一"
DayName(23) = "廿二"
DayName(24) = "廿三"
DayName(25) = "廿四"
DayName(26) = "廿五"
DayName(27) = "廿六"
DayName(28) = "廿七"
DayName(29) = "廿八"
DayName(30) = "廿九"
DayName(31) = "三十"

*农历月份名
MonName(1) = "*"
MonName(2) = "正"
MonName(3) = "二"
MonName(4) = "三"
MonName(5) = "四"
MonName(6) = "五"
MonName(7) = "六"
MonName(8) = "七"
MonName(9) = "八"
MonName(10) = "九"
MonName(11) = "十"
MonName(12) = "十一"
MonName(13) = "腊"

*公历每月前面的天数
MonthAdd(1) = 0
MonthAdd(2) = 31
MonthAdd(3) = 59
MonthAdd(4) = 90
MonthAdd(5) = 120
MonthAdd(6) = 151
MonthAdd(7) = 181
MonthAdd(8) = 212
MonthAdd(9) = 243
MonthAdd(10) = 273
MonthAdd(11) = 304
MonthAdd(12) = 334
*农历数据
NongliData(1) = 2635
NongliData(2) = 333387
NongliData(3) = 1701
NongliData(4) = 1748
NongliData(5) = 267701
NongliData(6) = 694
NongliData(7) = 2391
NongliData(8) = 133423
NongliData(9) = 1175
NongliData(10) = 396438
NongliData(11) = 3402
NongliData(12) = 3749
NongliData(13) = 331177
NongliData(14) = 1453
NongliData(15) = 694
NongliData(16) = 201326
NongliData(17) = 2350
NongliData(18) = 465197
NongliData(19) = 3221
NongliData(20) = 3402
NongliData(21) = 400202
NongliData(22) = 2901
NongliData(23) = 1386
NongliData(24) = 267611
NongliData(25) = 605
NongliData(26) = 2349
NongliData(27) = 137515
NongliData(28) = 2709
NongliData(29) = 464533
NongliData(30) = 1738
NongliData(31) = 2901
NongliData(32) = 330421
NongliData(33) = 1242
NongliData(34) = 2651
NongliData(35) = 199255
NongliData(36) = 1323
NongliData(37) = 529706
NongliData(38) = 3733
NongliData(39) = 1706
NongliData(40) = 398762
NongliData(41) = 2741
NongliData(42) = 1206
NongliData(43) = 267438
NongliData(44) = 2647
NongliData(45) = 1318
NongliData(46) = 204070
NongliData(47) = 3477
NongliData(48) = 461653
NongliData(49) = 1386
NongliData(50) = 2413
NongliData(51) = 330077
NongliData(52) = 1197
NongliData(53) = 2637
NongliData(54) = 268877
NongliData(55) = 3365
NongliData(56) = 531109
NongliData(57) = 2900
NongliData(58) = 2922
NongliData(59) = 398042
NongliData(60) = 2395
NongliData(61) = 1179
NongliData(62) = 267415
NongliData(63) = 2635
NongliData(64) = 661067
NongliData(65) = 1701
NongliData(66) = 1748
NongliData(67) = 398772
NongliData(68) = 2742
NongliData(69) = 2391
NongliData(70) = 330031
NongliData(71) = 1175
NongliData(72) = 1611
NongliData(73) = 200010
NongliData(74) = 3749
NongliData(75) = 527717
NongliData(76) = 1452
NongliData(77) = 2742
NongliData(78) = 332397
NongliData(79) = 2350
NongliData(80) = 3222
NongliData(81) = 268949
NongliData(82) = 3402
NongliData(83) = 3493
NongliData(84) = 133973
NongliData(85) = 1386
NongliData(86) = 464219
NongliData(87) = 605
NongliData(88) = 2349
NongliData(89) = 334123
NongliData(90) = 2709
NongliData(91) = 2890
NongliData(92) = 267946
NongliData(93) = 2773
NongliData(94) = 592565
NongliData(95) = 1210
NongliData(96) = 2651
NongliData(97) = 395863
NongliData(98) = 1323
NongliData(99) = 2707
NongliData(100) = 265877
*生成当前公历年、月、日 ==> GongliStr
curYear = Year(curTime)
curMonth = Month(curTime)
curDay = Day(curTime)

GongliStr = allt(str(curYear))+"年"
If (curMonth < 10)
GongliStr = GongliStr+"0"+allt(str(curMonth))+"月"
Else
GongliStr = GongliStr+allt(str(curMonth))+"月"
Endif
If (curDay < 10)
GongliStr = GongliStr+"0"+allt(str(curDay))+"日"
Else
GongliStr = GongliStr+allt(str(curDay))+"日"
EndIf

*生成当前公历星期 ==> WeekdayStr
curWeekday = dow(curTime)
WeekdayStr = WeekName(curWeekday+1)

*计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)
TheDate = (curYear - QSNF) * 365 + Int((curYear - QSNF) / 4) + curDay + MonthAdd(curMonth) -YGTS
If (mod(curYear,4) = 0 And curMonth > 2)
TheDate = TheDate + 1
EndIf

*计算农历天干、地支、月、日
isEnd = 0
m = 1

Do whil .t.
If NongliData(m)< 4095
k = 11
Else
k = 12
EndIf
n = k
Do whil .t.
If n < 0
Exit
EndIf

*获取NongliData(m)的第n个二进制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2)
Next
bit = mod(bit,2)

If (TheDate <= 29 + bit)
isEnd = 1
Exit
EndIf

TheDate = TheDate - 29 - bit
n = n - 1
enddo

If (isEnd = 1)
Exit
EndIf

m = m + 1
enddo

curYear = 1921 + m
curMonth = k - n +1
curDay = TheDate

If k=13
If (curMonth = (Int(NongliData(m) / 65536) + 1))
curMonth = 1 - curMonth
Else
If (curMonth > (Int(NongliData(m) / 65536) + 1))
curMonth = curMonth - 1
EndIf
endif
EndIf

*生成农历天干、地支、属相 ==> NongliStr
NongliStr = "农历" + TianGan(iif(mod(mod((curYear - 4),60),10)=0,10,mod(mod((curYear - 4),60),10))) + DiZhi(iif(mod(mod((curYear - 4),60),12)=0,12,mod(mod((curYear - 4),60),12))) + "年"
NongliStr = NongliStr + "(" + ShuXiang(iif(mod(mod((curYear - 4),60),12)=0,12,mod(mod((curYear - 4),60),12))) + ")"

*生成农历月、日 ==> NongliDayStr
If (curMonth < 1)
NongliDayStr = "闰" + MonName(-1 * curMonth+1)
Else
NongliDayStr = MonName(curMonth+1)
EndIf
NongliDayStr = NongliDayStr + "月"

NongliDayStr = NongliDayStr + DayName(curDay+1)

? NongliStr + NongliDayStr

十豆三 2006-10-17
  • 打赏
  • 举报
回复
有控件

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧