View Full Version : سوال: سوال در رابطه با لیست باکس در ویژوال بیسیک
Masoud Sj
چهارشنبه 12 آذر 1393, 16:26 عصر
سلام دوستان،
دارم ی برنامه مینویسم ک ی رشته میگیره مثلا abcdefg123544 بعد این به صورت تصادفی یك تیکه از این رشته رو توی لیست باکسم چاپ میکنه مثلا اینطوری ab21 یا .....
من یك مشکلی دارم تو این برنامه اونم اینه که وقتی اینا توی لیست باکسم چاپ میشن به صورت :
a
b
2
1
چاپ میشن من میخوام سره هم چاپ بشه
بعد که مثلا این کارکتر تموم شد بره کارکتر بعدی و اون رو هم سره هم چاپ کنه تا جایی که کاربر کلید استوپ رو بزنه....
ممنون میشم کمکم کنید کارم واقعا واقعا واقعا گیره
meys34
چهارشنبه 12 آذر 1393, 16:51 عصر
به جای List1.AddItem از کد زیر استفاده کنید...
If List1.NewIndex = -1 Then List1.AddItem ""
List1.List(List1.NewIndex) = List1.List(List1.NewIndex) & Int(Rnd * 10)
یه if هم خط اول گذاشتم که اگر لیست خالی بود ارور نده...
Masoud Sj
پنج شنبه 13 آذر 1393, 22:16 عصر
این برنامه شما کلا هرچی تو لیست باکس میاد رو به صورت خطی چاپ میکنه....
برنامه من طوریه که بهش رشته میدی عدد و حروف قاطیه.. بعد بهش میگی به صورت رندم از اون رشته ی رشته دیگه بسازه .. البته قبلش باید بگی رشته ای که میسازه چند رقم یا حروف باشه ، مثلا اگه رشته اصلی ما :
abcdefg123 باشه ...
ما بهش بگیم رشته چهار حرفی بسازه میاد یه بار مثلا اینو میسازه :
ab12
بعد میره خط بعد اینو میسازه
12as
تا یه جایی که بهش بگیم کارو تموم کنه البته اونش دیگه درسته...
فکر کنم مشکلم رو فهمیده باشید
meys34
پنج شنبه 13 آذر 1393, 23:13 عصر
Private Sub Command1_Click()
Dim MainString As String
Dim T As String
Dim i As Integer, ii As Integer
Dim r As Integer
MainString = "abc123"
For ii = 0 To 10
T = ""
For i = 1 To 4
r = (Rnd * Len(MainString)) + 1
T = T & Mid$(MainString, r, 1)
Next
List1.AddItem T
DoEvents
Next
End Sub
امیدوارم جواب بده اگر مشکل داشتید کدش رو قرار بدید بررسی کنیم...
Masoud Sj
جمعه 14 آذر 1393, 12:27 عصر
ممنون ولی جواب نداد..
این برنامه منه خودتون دانلود کنید ببینید چطور کار میکنه کاملا متوجه میشید
vbhamed
شنبه 15 آذر 1393, 12:58 عصر
سلام
Private Sub Timer1_Timer()
'Label4.Caption = List1.ListCount
Timer1.Interval = (Text2.Text)
Dim c As String, i As Integer, d As Integer
Dim MainString As String
Dim T As String
Dim z As Integer, ii As Integer
Dim r As Integer
Dim s As String
Randomize Timer
c = Text1.Text
d = Val(Text3.Text)
If d = 0 Then
Timer1.Enabled = False
Text3.SetFocus
Exit Sub
End If
For x = 1 To d
i = Int(Rnd * Len(c)) + 1
s = s & Mid(c, i, 1)
Next
List1.AddItem s
List1.ListIndex = List1.ListCount - 1
End Sub
gorg313
شنبه 15 آذر 1393, 17:28 عصر
سلام حميد من يه شيطوني کردم حرفه اي تر بشه:لبخند:
Timer1.Enabled = True
'Label4.Caption = List1.ListCount
Timer1.Interval = (Text2.Text)
Dim c As String, i As Integer, d As Integer
Dim MainString As String
Dim T As String
Dim z As Integer, ii As Integer
Dim r As Integer
Dim s As String
Randomize Timer
c = Text1.Text
d = Val(Text3.Text)
If d = 0 Then
Timer1.Enabled = False
Text3.SetFocus
Exit Sub
End If
For x = 1 To d
i = Int(Rnd * Len(c)) + 1
s = s & Mid(c, i, 1)
Next
List1.AddItem s
List1.ListIndex = List1.ListCount - 1
If List1.ListIndex = Text2.Text Then
Timer1.Enabled = False
MsgBox "تمام شد"
End If
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.