帮忙编一个小程序(VC/VB)
很简单:
我的目的是电脑按设定时间间隔,如10分钟、半小时随机产生一个三位小数,0.000~0.999.或者000~999也可以。
要求
1、时间间隔我可以自行设定。
2、如24小时开机,以0:00为时间界限,每天自动保存生成的随机数,TXT格式就行。并便于粘贴到EXCEL表格。因为不可能24小时开机,从程序打开开始生成随机数,程序关闭时就应该自动保存退出。自动保存的文件以日期为文件名。
3、最好是后台运行。
4、便于查阅每天生出的数。
===========
希望高手赐教。
参考答案:这是VB6的程序
在窗体中添加两个Timer控件,把Timer2的时间间隔设置为1,再添加一个文本框。添加代码
Dim TTimes As Integer
Dim RTime As Integer
Dim NTimes As Integer
Dim Nums(1 To 50) As Integer '这里的50你可以改为更大的数字,这要看你的时间间隔而定,如果运行到一半突然下标越界就丑了~
Dim TotalNum As Integer
Private Sub Text1_Change
Dim Num as Double
Num=Val(Text1.Text)
TTimes=Int(Num/32767)
RTimes=Num-TTimes*32767
NTimes=0
If TTimes>0 Then
Timer1.In=32767 '不太记得那个属性的名称去了,反正TIMER就只有那几个属性,是IN开头的
Else
Timer1.In=RTimes
End If
End Sub
Private Sub Timer1_Timer
If TTimes=0 Then AddNum:Exit Sub
If NTimes<TTimes Then NTimes=NTimes+1:Exit Sub
If NTimes=TTimes Then
Timer1.In=RTimes
NTimes=NTimes+1
Else
AddNum
Timer1.In=32767
NTimes=0
End If
End Sub
Private Sub Timer2_Timer
If Hour+Minute+Second=0 Then SaveNums '因为时间不可能是负数,因此此时一定是0:0:0,开始写数据,那些取得系统时间的是这几个吧,半年没玩VB了,有些不记得了
End Sub
Private Sub AddNum
Randmize '那个初始化随机数的函数
TotalNum=TotalNum+1
Nums(TotalNum)=(Rnd*999.9999999#) '这里抽取0-999的随机数
End Sub
Private Sub SaveNums
Open "C:\a.txt" For Append As #1 '向C:\a.txt写数据
For A=1 To TotalNum
Print #1,Nums(A)
Next A
TotalNum=0
MsgBox "已写入数据。"
End If
运行就可以了,在文本框中输入时间间隔,单位是毫秒,由于采用极品算法,因此可以输入大于32767的数字~