VB 怎么实现每天点击Command出现自设的不同的字符?高分在线等...

2024-12-22 22:00:55
推荐回答(4个)
回答1:

假设你把你指定字符放在d:\1.txt 里,每个一行

Private Sub Command1_Click()
Open "d:\1.txt" For Input As #1
a = GetSetting("MyApp", "Startup", "a")
For i = 1 To Val(a)
Line Input #1, b
Next
MsgBox b
SaveSetting "MyApp", "Startup", "a", Val(a) + 1
Close

End Sub

Private Sub Form_Load()
a = GetSetting("MyApp", "Startup", "a")
If a = "" Then
SaveSetting "MyApp", "Startup", "a", "1"
End If
End Sub

回答2:

如果是每天也就是中间可能关闭程序的话,那需要把你单击的次数(或者上一次单击后显示文字位置)记到一个文件里,这样就可以实现你说的功能了!
按钮事件里就是把上次的单击位置加1 然后用
mid("你的全部文字",上次的单击位置加1,1)函数显示本次文字,然后记下本次位置到文件中

回答3:

我来讲一下思路,你点击的次数设一个静态变量,自动累加,并同时保存在数据库中,每次重新打开把数据库中的次数提出来,另外你的字符要设好编号,相对应就行了.

回答4:

加入一个按钮(Command1),直接加入下面的代码:
(PS:程序通过注册表访问点击次数。)

Option Explicit
Private Sub Command1_Click()
Dim UseCount As String
Dim ShowPos As Long
Const CAppName = "不同字符程序"
Const CSection = "主键"
Const CKey = "Command使用计数"

'你要显示的字符串。
Const ShowString = "asdfghjkl;"

UseCount = GetSetting(CAppName, CSection, CKey)
If UseCount = vbNullChar Or UseCount = vbNullString Or _
IsNumeric(UseCount) = False Then
'如果键值还未创建,则创建。
'IsNumeric判断是否有人修改了注册表,无法转换为数字出错。
'按了一下就已经使用一次了。
SaveSetting CAppName, CSection, CKey, "1"
ShowPos = 1 '显示第一个字符。
Else
ShowPos = CLng(UseCount) + 1
SaveSetting CAppName, CSection, CKey, ShowPos
End If

If ShowPos > Len(ShowString) Then
MsgBox "字符串在以前已经显示完了,超出长度。"
Else
MsgBox Mid(ShowString, ShowPos, 1)
End If
End Sub

本文中的字符串常量如果不够长,你可以添加字符串资源,用LoadResString加载。
你如果期望获取随机字符,那么和随机数有关,相关函数、变量有
Randomize、Rnd等。