电脑顺着代码走,代码顺着思路走
不同的思路,写出代码的逻辑顺序也会不同,可能执行结果相同,但过程显示不一定相同。下面用一个对比性的例子来说明。
在Listbox中对项目是否重复,进行判定并添加。
方法有二:
(一)先添加,后判定;相符则保留,不符则移除。
If Listbox1.ListIndex <> -1 Then '表明当前已选择项目
Listbox2.AddItem Listbox1.List(Listbox1.ListIndex) ‘添加选择项
End If
For i = 0 To Listbox1.ListCount – 1
For j = i + 1 To Listbox2.ListCount
If Listbox1.List(i) = Listbox1.List(j) Then ‘假设存在重复项
MsgBox "该课程已选", vbOKOnly + vbExclamation, "温馨提示"
Listbox1.RemoveItem j ‘移除重复项
Exit Sub
End If
Next j
Next i
显示情况:选择添加的项如果不重复,则添加(没什么不同)。但如果与Listbox2中的项重复,会看到——所选中添加项闪烁退出。。
(二)将选定的项与列表项先比较,重复就放弃添加,反之则添加。
If ListBox1.ListIndex <> -1 Then '表面当前没有选择项目
For i = 0 To Listbox2.ListCount - 1
If Listbox1.Text = Listbox2.List(i) Then ‘假设与已有列表项重复
MsgBox "该课程已选", vbOKOnly + vbExclamation, "温馨提示"
Exit Sub ‘直接退出,放弃添加
End If
Next i
Listbox2.AddItem Listbox1.List(Listbox1.ListIndex) ‘添加符合项
End If
显示情况:选择添加的项不重复,直接添加。如果重复,在Listbox2中将不会看到任何的痕迹呈现。