Задача такова, на форме Text1.Text, Text2.Text, ListBox, Label и кнопка CommandButton. В Text1.Text вводим символы, значение Text2.Text должен равнятся мин. длине выводимых слов, а значение Text1.Text = макс. длине, т.е. если ввести "ABC" и поставить значение Text2.Text = "2", то результат должен получится примерно такой:
AB
AC
BA
BC
CA
CB
ABC
ACB
BCA
BAC
CAB
CBA
Есть код, (писал не я), отлично работает, но выводит только слова равные длине Text1.Text.
Может кто подскажет что в этом коде нужно изменить чтобы выводились все нужные мне варианты? Или кто даст даст готовый пример?
Заранее спасибо!
Собственно вот код:
- Код: Выделить всё
Option Explicit
Dim sWord As String
Dim x As Long
Private Sub Command1_Click()
List1.Clear
x = 0
sWord = Text1.Text
VarWord "", sWord
End Sub
Sub VarWord(WordGen As String, sw As String)
Dim i As Integer
If Len(sw) = 1 Then
List1.AddItem WordGen + sw
DoEvents
x = x + 1
Label1.Caption = x
Exit Sub
End If
For i = 1 To Len(sw)
VarWord WordGen + Mid$(sw, i, 1), Left$(sw, i - 1) + Mid$(sw, i + 1)
Next
End Sub