如何用VB编写一个生成文本的小程序

如何用VB编写一个生成文本的小程序,第1张

'用法:: AA "1234"

Function AA(ByVal x As String) As String

Dim ns As Integer

ns = Len(x)

Dim n() As String

Dim w() As Integer

ReDim n(ns)

ReDim w(ns)

Dim i As Integer

For i = 1 To ns

n(i) = Mid(x, ns - i + 1, 1)

Next

Dim str As String

BB n, w, 0, str

MsgBox str

Open "c:\1txt" For Output As #1 ''输出文件句自己改

Print #1, str

Close #1

End Function

Function BB(ByRef n() As String, w() As Integer, ByVal k As Integer, s As String)

Dim i As Integer, j As Integer

Dim b As Boolean

For i = 1 To UBound(n)

b = False

For j = 1 To k

If i = w(j) Then

b = True

Exit For

End If

Next

If Not b And k + 1 <= UBound(n) Then

w(k + 1) = i

BB n, w, k + 1, s

End If

Next

If UBound(w) = k Then

For i = 1 To UBound(w)

s = s & n(w(i))

Next

s = s & vbCrLf

Exit Function

End If

End Function

用VB做万年历,非常关键点就是农历写法,参考代码如下:

#Region " 返回农历 "

'返回农历

'cCalendarMaxSupportedDateTime 返回支持的最大日期,即2101-1-28

'cCalendarMinSupportedDateTime 返回支持的最小日期,即190-2-19

Private cCalendar As New SystemGlobalizationChineseLunisolarCalendar

Public Function PubFunGet_CNDate(ByVal sDateTime As Date) As String

cCalendar = New SystemGlobalizationChineseLunisolarCalendar

Dim lyear As Integer = cCalendarGetYear(sDateTime)

Dim lmonth As Integer = cCalendarGetMonth(sDateTime)

Dim lday As Integer = cCalendarGetDayOfMonth(sDateTime)

Dim lweek As Integer = cCalendarGetDayOfWeek(sDateTime)

'获取闰月, 0 则表示没有闰月

Dim leapMonth As Integer = cCalendarGetLeapMonth(lyear)

Dim isleap As Boolean = False

If (leapMonth > 0) Then

If (leapMonth = lmonth) Then

'闰月

isleap = True

lmonth = lmonth - 1

ElseIf (lmonth > leapMonth) Then

lmonth = lmonth - 1

End If

End If

Return StringConcat(GetLunisolarYear(lyear), IIf(isleap = True, "闰年", "年"), GetLunisolarMonth(lmonth), "月", GetLunisolarDay(lday))

End Function

'十天干

Private tiangan As String() = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"}

'十二地支

Private dizhi As String() = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"}

'十二生肖

Private shengxiao As String() = {"鼠", "牛", "虎", "免", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"}

'农历月

Private months As String() = {"正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二(腊)"}

'农历日

Private days1 As String() = {"初", "十", "廿", "三"}

Private days As String() = {"一", "二", "三", "四", "五", "六", "七", "八", "九", "十"}

'返回农历年(天干 地支 生肖)

Private Function GetLunisolarYear(ByVal year As Integer) As String

GetLunisolarYear = ""

If (year > 3) Then

Dim tgIndex As Integer = (year - 4) Mod 10

Dim dzIndex As Integer = (year - 4) Mod 12

Return tiangan(tgIndex) & dizhi(dzIndex) & "[" & shengxiao(dzIndex) & "]"

End If

'无效的年份!

End Function

'返回生肖

Private Function GetShengXiao(ByVal sDateTime As Date) As String

Return shengxiao(cCalendarGetTerrestrialBranch(cCalendarGetSexagenaryYear(sDateTime)) - 1)

End Function

'返回农历月

Private Function GetLunisolarMonth(ByVal month As Integer) As String

GetLunisolarMonth = ""

If (month < 13 AndAlso month > 0) Then

Return months(month - 1)

End If

'无效的月份!

End Function

'返回农历日

Private Function GetLunisolarDay(ByVal day As Integer) As String

GetLunisolarDay = ""

If (day > 0 AndAlso day < 32) Then

If (day <> 20 AndAlso day <> 30) Then

Return StringConcat(days1((day - 1) \ 10), days((day - 1) Mod 10))

Else

Return StringConcat(days((day - 1) \ 10), days1(1))

End If

End If

'无效的日!

End Function

#End Region

这个好像难了点! 启动时自动运行,这个最好在安装你这个小程序的时候就要完成!这样 还要做个 安装程序!

只有第二条 可以做到!

农历我网上看到过,你可以 把网上找,用一个按钮Form2Show 使 那个找到的程序d出来!

闹钟、事务提醒 ,这个应该也可以吧! 把定时关机 程序的 关机代码换成 打开声音文件的代码!

禁止运行指定的程序, 这个就不会拉!!

上网查查吧! 非常欢迎 一起聊聊,我觉得菜鸟和菜鸟就应该多聊!

以上就是关于如何用VB编写一个生成文本的小程序全部的内容,包括:如何用VB编写一个生成文本的小程序、用vb编写万年历小程序、VB设计桌面管理小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9498114.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存