vb 请高手老师帮忙改一下

来源:百度知道 编辑:UC知道 时间:2024/09/24 11:28:14
Private Sub Command2_Click()
p = Len(Text1.Text)
For i = 1 To p
For j = i + 1 To p
For k = j + 1 To p
list1.AddItem Mid(Text1.Text, i, 1) & Mid(Text1.Text, j, 1) & Mid(Text1.Text, k, 1)
Next k
Next j
Next i
Label3.Caption = list1.ListCount
End Sub
这个语句输出后显示的组合是不重复数字,比如输入1234,输出的为124。123。234。134。请问怎么修改能改成显示的数为112,221。133。311。144,114。223。332。224。442。334。443这种类型组合的,自己把For i = 1 To p
For j = i + 1 To p
For k = j + 1 To p
改了好多遍了,也有不少不同的结果。但就是没有我想要得结果,请高手帮忙改一下,还有一个幼稚的问题,就是点击Command2后先清除list1原来的数据,再进行计算并把结果显示在list1上,这个Command2的命令语句该怎么写
楼下的老师我想要只是双的排列组合如399,993,122,334,不要其他的,你这个是所有组合包含双的排列。要把其他的排除啊。谢谢您了,再费费心可以吗

Private Sub Command2_Click()
p = Len(Text1.Text)
For i = 1 To p
For j = i To p
For k = j To p
list1.AddItem Mid(Text1.Text, i, 1) & Mid(Text1.Text, j, 1) & Mid(Text1.Text, k, 1)
Next k
Next j
Next i
Label3.Caption = list1.ListCount
End Sub

下面是去掉111 222 这样的号:
Private Sub Command1_Click()
Dim p, i, j, k
List1.Clear
p = Len(Text1.Text)
For i = 1 To p
For j = i To p
For k = j To p
If Not (i = j And i = k And j = k) Then
List1.AddItem Mid(Text1.Text, i, 1) & Mid(Text1.Text, j, 1) & Mid(Text1.Text, k, 1)
End If
Next k
Next j
Next i
Label3.Caption = List1.ListCount
End Sub

下面是只保留对子号:
Private Sub Command1_Click()
Dim p, i, j, k
List1.Clear
p = Len(Text1.Text)
For i = 1 To p
For j = i To p
For k = j To p
If Not (i = j And i = k And j = k) And (i = j Or i = k Or j = k) Then
List1.AddItem Mid(T