帮忙编一个小程序(VC/VB)

王朝知道·作者佚名  2009-06-21
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

很简单:

我的目的是电脑按设定时间间隔,如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的数字~

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航