这是我编制的一个VB程序,主要就是多次写入文件的问题。因为文件的格式规定,所以要反复写入很多行。我发现,当n越大的时候,这个程序就运行的特别慢。可是我还必须把n取得很大。那位高手能出个主意,如果方便,最好给出一个小的例子,刚刚学,太多的不会;您也可以给一个搜索的关键词,我自己看以前的帖子(我不知道如何就我的问题给出搜索的关键词)。
谢谢,谢谢!这是源代码:
Private Sub Command1_Click()
Dim a, b, sum As Single
Dim n As Integersum = 0
n = 25000Open "c:\11.txt" For Output As #1
For i = 1 To n
   x = 10 * i
   For j = 1 To n
      y = 0.001 + Sin(x)
      sum = sum + y
   Next j
   Print #1, i, x, sum, 200 * (-1) ^ i
Next iPrint #1, "---------------------------------------------"For i = 1 To (n - 2)
   Print #1, i, i + 1, i + 2
Next iClose #1
End Sub

解决方案 »

  1.   

    在你的循环中插入DoEvents,可以防止程序长时间无响应.
      

  2.   

    把要保存的数据先放到一个String的变量,然后在运算结束的时候 把String里的内容一次保存到文件里这样速度会提高很多。然后在循环里加入DoEvents语句
      

  3.   

    另外   
    For j = 1 To n
       y = 0.001 + Sin(x)
       sum = sum + y
    Next j
    循环里根本没用到j 变量,可以把他改成 sum=n*( 0.001 + Sin(x))
      

  4.   

    楼上各位说的办法我都试过了,除了用数据库,不会用,呵呵。我也是建立两个数组,先计算,然后一次写入到文件。可是还是很慢。我觉得是两层25000的循环嵌套,是我的这个程序变得很慢。可是我还得必须使用两层嵌套。我还想了调用子函数的办法求和,可是一样,外面再加一层循环,类似于二层循环。另外, baoaya(点头) 兄说的内层循环少了j变量,是我自己写掉了。