关于循环问题!!急!!50分!晕~

myhwlj 2004-08-30 09:39:17
在list1中有
E
E
E
D
D
D
C
B
A
几个字母,现在从E开始做循环判断,如果第一个E出现的话,那么程序给出提示“以经有E了”如果向下循环,又有一个E出现那么程序提示“E又出现了”以此类推……,在向下循环到D提示“以经有D了”如果在向下循环,又有一个D出现那么程序提示“D又出现了”以此类推……,在向下循环到C提示“以经有C了”如果在向下循环,又有一个C出现那么程序提示“C又出现了”以此类推……,如果在向下循环到B那么提示“B出现了”在向下循环到A提示“A出现了”。

循环开始-E-(E出现了)-E(E以经出现了)……-D(D出现了)-D(D又出现了)……-C(C出现了)……-B(B出现了)……-A(A出现了)……


...全文
85 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
of123 2004-08-30
添加一个 List2,并设置 Visible = False.
添加一个 List3,用于显示提示语句。当然也可以用其他方式。

在窗体的公共段:
Private Declare Function SendMessagebyString Lib _
"user32" Alias "SendMessageA" (ByVal hWND As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String) As Long

Private Const LB_FINDSTRINGEXACT = &H1A2

在过程中:
List2.Clear
List3.Clear
For i = 0 to List1.ListCount - 1
If SendMessagebyString(List2.hWnd, &H1A2, -1, List1.List(i)) = -1 Then
List2.AddItem List1.List(i)
List3.AddItem List1.List(i) & " 出现了。"
Else
List3.AddItem List1.List(i) & " 又出现了。"
End If
Next i
回复
zzzjwww 2004-08-30
if循环
dim text as string
if e and etext="" then
etext = "以经有E了"
print etext
elseif e and etext="以经有E了"then
text=“E又出现了”
print etext
elseif e and etext="E又出现了"then
text=“E又出现了”
print etext
.
.
.
.
回复
qybao 2004-08-30
可以这样处理吧
Dim ACol As Collection
Dim BCol As Collection
Dim CCol As Collection
Dim DCol As Collection
...

for loop = 1 to your_list.items.Count
value = your_list.item(loop)
if value = "A" then
ACol.add "A"
if ACol.Count() = 1 then
msg = "A出现了"
else
msg = "A又出现了"
end if
else if value = "B" then
'处理和A相同
else if value = "C" then
'
else if value = "D" then
'
else if value = "E" then
'
end if

ShowMessage(msg)
next loop
回复
myhwlj 2004-08-30
大家看看可以吗??求了!!!
回复
myhwlj 2004-08-30
自己顶!!小弟的语言表达能力不是很强!!希望各位大哥能用心看一下,这个问题对下弟来说很主要!!!麻烦大哥们了。。。

回过小弟贴朋友都知道,小弟给分很麻力的!只要问题解决小弟马上就给分!!
回复
northwolves 2004-08-30
Option Explicit

Private Sub Command1_Click()
Dim temp() As String, index As Integer, count As Integer
index = 0
Do While index < List1.ListCount
ReDim Preserve temp(index)
temp(index) = List1.List(index)
count = UBound(Filter(temp, temp(index), True, vbBinaryCompare))
Debug.Print Switch(count = 0, temp(index) & "出现了", count = 1, "已经有" & temp(index) & "了", count > 1, temp(index) & "又出现了(第" & count + 1 & "次)")
index = index + 1
Loop
End Sub

Private Sub Form_Load()
Randomize
Dim I As Integer
For I = 1 To 20
List1.AddItem Chr(Int(Rnd * 5) + 65)
Next
End Sub
回复
mlxboy 2004-08-30
不好意思修改一下

For I=1 to list.cout
blnExist=false
for J=1 to I
if list.item(j)=list.Item(i) then
msgbox(List.item(i)&"又出现了")
blnExist=true
exit for
end if
next
if blnExist=false then msgbox (List.item(i)&"出现了")
next
回复
mlxboy 2004-08-30
For I=1 to list.cout
for J=1 to I
if list.item(j)=list.Item(i) then
msgbox(List.item(i)&"又出现了")
exit for
end if
next
msgbox (List.item(i)&"出现了")
next
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-08-30 09:39
社区公告
暂无公告