PDA

View Full Version : nho chi day



lovely
16-09-2002, 12:51
Hay bao toi cach:
tao 1 from voi 1 textbox vao mot command
lam the nao de sau su kien command_click
thi trong textbox hien mot so random tu 1 den 100 sao cho nhung so naoda hien roi thi khong hien lai nua .sau 100 lan command_click thi bao Da hien du 100 so tu 1 den 100.

bpmtri
16-09-2002, 13:01
Bạn tạo một mảng gồm 100 phần tử Boolean, mỗi lần bạn tạo random một số từ 1 - 100, nếu trong mảng đã đánh dấu rồi thì sinh số khác cho đến khi nào không có trong mảng thì thôi, sau đó đánh dấu số vào trong mảng số mới vừa sinh ra. Dùng thêm một biến đếm để đếm số lần bấm button.

lovely
16-09-2002, 13:13
Viet code gui cho toi co duoc khong ?
Năn nỉ đấy ! Tôi đang cần gấp lắm

quatban
16-09-2002, 13:54
Dim arrVal(100) As Boolean, iCount as Integer

Private Sub Form_Load()
For iCount=100 to 1 Step -1
arrVal(iCount)=False
Next
End Sub

Private Function Random() As Integer
Random = Int((100) * Rnd + 1)
End Function

Private Sub cmdRandom_Click()
Dim iVal As Integer

Do Until iCount >=100
iVal = Random
If Not arrVal(iVal) Then
arrVal(iVal) = True
txtValues.Text = txtValues.Text & vbCrLf & iVal
Exit Do
End If
Loop
iCount=iCount+1
End Sub

vuminhphan
16-09-2002, 13:59
Dim num(1 To 100) As Boolean

Private Sub Command1_Click()
Randomize
Dim n As Integer
Static cnt As Integer
n = Rnd * 100
While Not num(n)
n = Rnd * 100
Wend
Text1 = n
num(n) = False
cnt = cnt + 1
If cnt = 100 Then MsgBox "Stop"
End Sub

Private Sub Form_Load()
For i = 1 To 100
num(i) = True
Next
End Sub

hổng biết có đúng không nữa :(, bạn check lại xem, vì mình đang ở trên trường nên không......check được :)

lovely
17-09-2002, 11:54
Thank for all help !
Cam on cac ban rat nhieu
Cam on cac ban rat nhieu
Cam on cac ban rat nhieu

lovely
18-09-2002, 10:41
Quatban oi !
Giai thich cho minh dong nay
arrVal(iCount)=False
_________
Chuong tring cua ban vuminhphan rat hay nhung bao loi khi
cnt=100 o dong :
While Not num(n)
Xua cho minh nhe !
(Chết em lại quên không bỏ dấu đừng nói cho anh Khoa biết nha )

vuminhphan
18-09-2002, 13:36
hihii, sorry:

Dim num(1 To 100) As Boolean

Private Sub Command1_Click()
Randomize
Dim n As Integer
Static cnt As Integer
n = (Rnd * 99) + 1
While Not num(n)
n = (Rnd * 99) + 1
Wend
Text1 = n
Debug.Print n
num(n) = False
cnt = cnt + 1
If cnt = 100 Then MsgBox "Stop"
End Sub

Private Sub Form_Load()
For i = 1 To 100
num(i) = True
Next
End Sub

quaitieutu
18-09-2002, 14:03
là lá la bị người ta " mắng vốn"

vuminhphan
18-09-2002, 19:32
to quaitieutu: ê, ông có biết nói chuyện phím như vậy hao.....database lắm hông hả? có gì thì online nói nha :-D