<%
'去除输入字符中的空格---newtrim函数
function newtrim(str)
dim result
dim j
j=len(str)
result=""
dim i
for i=1 to j
select case mid(str,i,1)
case chr(8)
     result=result+"" '去掉退格
case chr(9)
     result=result+"" '去掉tab
case chr(10)
     result=result+"" '去掉换行
case chr(13)
     result=result+"" '去掉回车
case chr(255)
     result=result+"" '去掉特殊空格
case else
     result=result+mid(str,i,1)
end select
next
newtrim=result
end function
%>
<%
'得到一个汉字的笔画数---getnum()函数
function getnum(txt)
dim sql1,bihua
sql1="select * from bihua"
set rs1=conn.execute(sql1)
  if not (rs1.bof and rs1.eof) then
    do while not rs1.eof
      if instr(1,rs1("hanzi"),txt,1) >0 then
        bihua=int(rs1("num"))
	  exit do
      else 
      rs1.movenext
      end if
    loop
end if
getnum=bihua
end function
%>
<%
'由天格、人格、地格数得到三才---getsancai()函数
function getsancai(tiange,renge,dige)
dim tian,ren,di,tiantxt,rentxt,ditxt,total
tian=(tiange mod 10)
ren=(renge mod 10)
di=(dige mod 10)
select case tian
  case 1
  tiantxt="木"
  case 2
  tiantxt="木"
  case 3
  tiantxt="火"
  case 4
  tiantxt="火"
  case 5
  tiantxt="土"
  case 6
  tiantxt="土"
  case 7
  tiantxt="金"
  case 8
  tiantxt="金"
  case 9
  tiantxt="水"
  case 10
  tiantxt="水"
  case 0
  tiantxt="水"
end select
select case ren
  case 1
  rentxt="木"
  case 2
  rentxt="木"
  case 3
  rentxt="火"
  case 4
  rentxt="火"
  case 5
  rentxt="土"
  case 6
  rentxt="土"
  case 7
  rentxt="金"
  case 8
  rentxt="金"
  case 9
  rentxt="水"
  case 10
  rentxt="水"
  case 0
  rentxt="水"
end select
select case di
  case 1
  ditxt="木"
  case 2
  ditxt="木"
  case 3
  ditxt="火"
  case 4
  ditxt="火"
  case 5
  ditxt="土"
  case 6
  ditxt="土"
  case 7
  ditxt="金"
  case 8
  ditxt="金"
  case 9
  ditxt="水"
  case 10
  ditxt="水"
  case 0
  ditxt="水"
end select
total=tiantxt+rentxt+ditxt
getsancai=total
end function
%>
<%
Function hhcal(caltime) 
'公历转换农历的算法 edit by huanghui
Dim WeekName(7), MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12) 
Dim curTime, curYear, curMonth, curDay, curWeekday 
Dim GongliStr, WeekdayStr, NongliStr, NongliDayStr 
Dim i, m, n, k, isEnd, bit, TheDate 
'获取当前系统时间 
curTime = caltime 
'星期名 
WeekName(0) = " * " 
WeekName(1) = "星期日" 
WeekName(2) = "星期一" 
WeekName(3) = "星期二" 
WeekName(4) = "星期三" 
WeekName(5) = "星期四" 
WeekName(6) = "星期五" 
WeekName(7) = "星期六" 
'天干名称 
TianGan(0) = "甲" 
TianGan(1) = "乙" 
TianGan(2) = "丙" 
TianGan(3) = "丁" 
TianGan(4) = "戊" 
TianGan(5) = "己" 
TianGan(6) = "庚" 
TianGan(7) = "辛" 
TianGan(8) = "壬" 
TianGan(9) = "癸" 
'地支名称 
DiZhi(0) = "子" 
DiZhi(1) = "丑" 
DiZhi(2) = "寅" 
DiZhi(3) = "卯" 
DiZhi(4) = "辰" 
DiZhi(5) = "巳" 
DiZhi(6) = "午" 
DiZhi(7) = "未" 
DiZhi(8) = "申" 
DiZhi(9) = "酉" 
DiZhi(10) = "戌" 
DiZhi(11) = "亥" 
'属相名称 
ShuXiang(0) = "鼠" 
ShuXiang(1) = "牛" 
ShuXiang(2) = "虎" 
ShuXiang(3) = "兔" 
ShuXiang(4) = "龙" 
ShuXiang(5) = "蛇" 
ShuXiang(6) = "马" 
ShuXiang(7) = "羊" 
ShuXiang(8) = "猴" 
ShuXiang(9) = "鸡" 
ShuXiang(10) = "狗" 
ShuXiang(11) = "猪" 
'农历日期名 
DayName(0) = "*" 
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) = "三十" 
'农历月份名 
MonName(0) = "*" 
MonName(1) = "正" 
MonName(2) = "二" 
MonName(3) = "三" 
MonName(4) = "四" 
MonName(5) = "五" 
MonName(6) = "六" 
MonName(7) = "七" 
MonName(8) = "八" 
MonName(9) = "九" 
MonName(10) = "十" 
MonName(11) = "十一" 
MonName(12) = "腊" 
'公历每月前面的天数 
MonthAdd(0) = 0 
MonthAdd(1) = 31 
MonthAdd(2) = 59 
MonthAdd(3) = 90 
MonthAdd(4) = 120 
MonthAdd(5) = 151 
MonthAdd(6) = 181 
MonthAdd(7) = 212 
MonthAdd(8) = 243 
MonthAdd(9) = 273 
MonthAdd(10) = 304 
MonthAdd(11) = 334 
'农历数据 
NongliData(0) = 2635 
NongliData(1) = 333387 
NongliData(2) = 1701 
NongliData(3) = 1748 
NongliData(4) = 267701 
NongliData(5) = 694 
NongliData(6) = 2391 
NongliData(7) = 133423 
NongliData(8) = 1175 
NongliData(9) = 396438 
NongliData(10) = 3402 
NongliData(11) = 3749 
NongliData(12) = 331177 
NongliData(13) = 1453 
NongliData(14) = 694 
NongliData(15) = 201326 
NongliData(16) = 2350 
NongliData(17) = 465197 
NongliData(18) = 3221 
NongliData(19) = 3402 
NongliData(20) = 400202 
NongliData(21) = 2901 
NongliData(22) = 1386 
NongliData(23) = 267611 
NongliData(24) = 605 
NongliData(25) = 2349 
NongliData(26) = 137515 
NongliData(27) = 2709 
NongliData(28) = 464533 
NongliData(29) = 1738 
NongliData(30) = 2901 
NongliData(31) = 330421 
NongliData(32) = 1242 
NongliData(33) = 2651 
NongliData(34) = 199255 
NongliData(35) = 1323 
NongliData(36) = 529706 
NongliData(37) = 3733 
NongliData(38) = 1706 
NongliData(39) = 398762 
NongliData(40) = 2741 
NongliData(41) = 1206 
NongliData(42) = 267438 
NongliData(43) = 2647 
NongliData(44) = 1318 
NongliData(45) = 204070 
NongliData(46) = 3477 
NongliData(47) = 461653 
NongliData(48) = 1386 
NongliData(49) = 2413 
NongliData(50) = 330077 
NongliData(51) = 1197 
NongliData(52) = 2637 
NongliData(53) = 268877 
NongliData(54) = 3365 
NongliData(55) = 531109 
NongliData(56) = 2900 
NongliData(57) = 2922 
NongliData(58) = 398042 
NongliData(59) = 2395 
NongliData(60) = 1179 
NongliData(61) = 267415 
NongliData(62) = 2635 
NongliData(63) = 661067 
NongliData(64) = 1701 
NongliData(65) = 1748 
NongliData(66) = 398772 
NongliData(67) = 2742 
NongliData(68) = 2391 
NongliData(69) = 330031 
NongliData(70) = 1175 
NongliData(71) = 1611 
NongliData(72) = 200010 
NongliData(73) = 3749 
NongliData(74) = 527717 
NongliData(75) = 1452 
NongliData(76) = 2742 
NongliData(77) = 332397 
NongliData(78) = 2350 
NongliData(79) = 3222 
NongliData(80) = 268949 
NongliData(81) = 3402 
NongliData(82) = 3493 
NongliData(83) = 133973 
NongliData(84) = 1386 
NongliData(85) = 464219 
NongliData(86) = 605 
NongliData(87) = 2349 
NongliData(88) = 334123 
NongliData(89) = 2709 
NongliData(90) = 2890 
NongliData(91) = 267946 
NongliData(92) = 2773 
NongliData(93) = 592565 
NongliData(94) = 1210 
NongliData(95) = 2651 
NongliData(96) = 395863 
NongliData(97) = 1323 
NongliData(98) = 2707 
NongliData(99) = 265877 
'生成当前公历年、月、日 ==> GongliStr 
curYear = Year(curTime) 
curMonth = Month(curTime) 
curDay = Day(curTime) 
GongliStr = curYear & "年" 
If (curMonth < 10) Then 
    GongliStr = GongliStr & "0" & curMonth & "月" 
Else 
    GongliStr = GongliStr & curMonth & "月" 
End If 
If (curDay < 10) Then 
    GongliStr = GongliStr & "0" & curDay & "日" 
Else 
    GongliStr = GongliStr & curDay & "日" 
End If 
'生成当前公历星期 ==> WeekdayStr 
curWeekday = Weekday(curTime) 
WeekdayStr = WeekName(curWeekday) 
'计算到初始时间1921年2月8日的天数：1921-2-8(正月初一) 
TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38 
If ((curYear Mod 4) = 0 And curMonth > 2) Then 
    TheDate = TheDate + 1 
End If 
'计算农历天干、地支、月、日 
isEnd = 0 
m = 0 
Do 
    If (NongliData(m) < 4095) Then 
        k = 11 
    Else 
        k = 12 
    End If 
    n = k 
    Do 
        If (n < 0) Then 
            Exit Do 
        End If 
    '获取NongliData(m)的第n个二进制位的值 
    bit = NongliData(m) 
    For i = 1 To n Step 1 
        bit = Int(bit / 2) 
    Next 
    bit = bit Mod 2 
    If (TheDate <= 29 + bit) Then 
        isEnd = 1 
        Exit Do 
    End If 
    TheDate = TheDate - 29 - bit 
    n = n - 1 
  Loop 
  If (isEnd = 1) Then 
      Exit Do 
  End If 
  m = m + 1 
Loop 
curYear = 1921 + m 
curMonth = k - n + 1 
curDay = TheDate 
If (k = 12) Then 
    If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then 
        curMonth = 1 - curMonth 
    ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) Then 
        curMonth = curMonth - 1 
    End If 
End If 
'生成农历天干、地支、属相 ==> NongliStr
dim nongli,nlnian,nlyue,nlri,sx
nlnian = TianGan(((curYear - 4) Mod 60) Mod 10) & DiZhi(((curYear - 4) Mod 60) Mod 12) 
sx =ShuXiang(((curYear - 4) Mod 60) Mod 12)
'生成农历月、日 ==> NongliDayStr 
If (curMonth < 1) Then 
    nlyue = MonName(-1 * curMonth) 
Else 
    nlyue = MonName(curMonth) 
End If 
nlri = DayName(curDay)
nonglistr=nlnian&"|"&nlyue&"|"&nlri&"|"&sx
hhcal=nonglistr
End Function
%>
<%
'替换换行符的过滤函数
Function rep(content)
rep=replace(content,vbCrLf,"<br>")
end Function
%>