当前位置:编程学习 > VB >>

咋 停不住 ????是容器太小 还是 死循环???敬请帮忙解释

--------------------编程问答-------------------- 死循环啊。

do   
   For i = 1 To 33
   
   .......
  
   Text1.Text = Text1.Text & " " & p & vbCrLf '红球和蓝.........
loop


中间没有任何地方 Exit Do !!!
--------------------编程问答-------------------- 应该 咋  停??? --------------------编程问答--------------------
引用 2 楼  的回复:
应该 咋  停???


只要在 loop 之前加句 doevents,将会有N种方法让它停下(N至少是5)……
如果没这句,也有一两种方法让它停下。


-_-!!!  那要看你是什么想法,才能决定如何写代码。
--------------------编程问答-------------------- 哈哈   哈 静拿小弟开心
有 5种  啊  我 要1种就 好 
把号出完啦 ! 
拜托
--------------------编程问答-------------------- 先以你的代码,修改一个“计数停止”的代码给你:
Private Sub Command1_Click()
      'Dim n(1 To 33), i, j, q, p  '定义变量
      Dim n&(1 To 33), i&, j&, q&, p$     '定义变量应该明确类型
      Dim k&      ' 计数变量

   k = 300        ' 生成300组号码
   Text1.Text = ""
   Do
      For i = 1 To 33
         n(i) = 0
      Next
      j = 0
      p = ""      ' 每次生成前,赋值为空串
      Randomize Timer     '防止随机数重复
      While j < 6         '生成6个红球号码
         q = Int(Rnd(1) * 33 + 1)   '红球号码为01到33
         If (n(q) = 0) Then
            n(q) = 1
            p = p & Format$(q, "00 ")
            j = j + 1
         End If
      Wend
      q = Int(Rnd(1) * 16 + 1)
      p = p & Format$(q, "00")
      Text1.Text = Text1.Text & p & vbCrLf   '把每组号码串接输出
      k = k - 1
      If (k = 0) Then Exit Do
   Loop
End Sub

--------------------编程问答-------------------- 再给你一个:按Command1开始输出、按Command2停止输出 的代码
Option Explicit

Private mlExitFlag   As Long     ' 停止操作标志

Private Sub Command1_Click()
      'Dim n(1 To 33), i, j, q, p  '定义变量
      Dim n&(1 To 33), i&, j&, q&, p$     '定义变量应该明确类型

   mlExitFlag = 0       ' 清除标志
   Text1.Text = ""
   Do
      For i = 1 To 33
         n(i) = 0
      Next
      j = 0
      p = ""      ' 每次生成前,赋值为空串
      Randomize Timer     '防止随机数重复
      While j < 6         '生成6个红球号码
         q = Int(Rnd(1) * 33 + 1)   '红球号码为01到33
         If (n(q) = 0) Then
            n(q) = 1
            p = p & Format$(q, "00 ")
            j = j + 1
         End If
      Wend
      q = Int(Rnd(1) * 16 + 1)
      p = p & Format$(q, "00")
      Text1.Text = Text1.Text & p & vbCrLf   '把每组号码串接输出
      DoEvents
      If (mlExitFlag = 1) Then Exit Do
   Loop
End Sub

Private Sub Command2_Click()
   mlExitFlag = 1
End Sub

--------------------编程问答-------------------- 谢谢 
如果把全部的 号码出完 是否把k = 300     ' 生成300组号码  改为K=0
 k = k - 1  改为K=K+1   '???
 


把30个 号码无序的分2组(可多 可少 不重复),然后用这2组号码进行组合?怎样写
主要是 30个 号码无序的分2组(可多 可少 不重复),
请指教   
谢谢!   
--------------------编程问答-------------------- 汗……
你要“把全部的号码出完”,又以“随机”的方式来产生,
这样还能“出完”吗!!!
你的想法就是基于“无穷无尽的出号码”,那还停止什么……


你用6F的方法吧,你想什么时候停就什么时候停,或者等程序运行到崩溃的时候停。
-_-!!!
--------------------编程问答-------------------- 哈哈 !!! 
哪 就 不用啦 

把30个 号码无序的(可多 可少 不重复)分2组,然后用这2组号码进行组合?怎样写
主要是 30个 号码无序的分2组(可多 可少 不重复),
 这个问题咋 解决
敬请指教   
谢谢!   

买易做图的 不 写程序
不买易做图的 他 写程序
!!!!!!!!!!!!
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,