Соединение текстов - VB
Формулировка задачи:
Прошу написать,что сами можете правильно подать!
1)Код нужен примерно такой
Если нажата кнопка "1", то
из текста "1" и текста "2"
соединяются слова.
Конец
Например: в 1 текстке было "Король" , а во втором "Влад" и мы должны получить Король Влад,но обязательно с пробелом!
2)Если нажата кнопка "2", то
из текста "1" и текста "2"
Слова образуют разные слова
Например: 1 = два, 2= диван и они должны образовать диван, диван2. Не надо делать код с последствиями вроде д2иван или ди2ван.(Огромное спасибо).
А то башка вообще не варит
Решение задачи: «Соединение текстов»
textual
Листинг программы
Option Explicit: Const r = 90: Dim WithEvents bt1 As CommandButton, l&, t&, w&, h&, i&, v, vv
Dim cb1 As ComboBox, cb2 As ComboBox, tx1 As TextBox, ch1 As CheckBox, d As Object
Private Sub bt1_Click()
Dim v, s$
If ch1.Value Then
s = cb1.Text: v = Split(d(cb2.Text), ",")
Select Case cb1.ListIndex
Case 0: v = cb2.Text
Case 1 To 3: v = Split(d(cb2.Text), ",")(0)
If Right$(s, 1) = "а" Then Mid(s, Len(s)) = "е"
Case Is > 3: v = Split(d(cb2.Text), ",")(1): v = Left(v, Len(v) - 1)
End Select
tx1.Text = s & " " & v
Else: tx1.Text = cb1.Text & " " & LCase(cb2.Text)
End If
End Sub
Private Sub Form_Load()
l = r: t = r: w = r * 20
Set d = CreateObject("Scripting.dictionary"): d.comparemode = 1
Set cb1 = Controls.Add("vb.ComboBox", "cb1"): With cb1
.Move l, t, w: l = l + w + r
For Each v In Split("один два три четыре пять шесть семь восемь девять"): Mid(v, 1, 1) = UCase(Mid(v, 1, 1)): .AddItem v: Next
.ListIndex = 3: .Visible = 1
End With
Set cb2 = Controls.Add("vb.ComboBox", "cb2"): With cb2
.Move l, t, w: l = r: h = .Height: t = t + h + r
For Each v In Split("диван(дивана,диванов) кукла(куклы,кукол) кочерга(кочерги,кочерг) татарин(татарина,татаринов) украинец(украинца,украинцев)"): vv = Split(v, "("): Mid(vv(0), 1, 1) = UCase(Mid(vv(0), 1, 1)): .AddItem vv(0): d.Add vv(0), vv(1): Next
.ListIndex = 3: .Visible = 1
End With
Set bt1 = Controls.Add("vb.CommandButton", "bt1"): With bt1
.Move l, t, w, h: l = l + w + r
.Caption = "Сложить 2 слова"
.Visible = 1
End With
Set ch1 = Controls.Add("vb.CheckBox", "ch1"): With ch1
.Move l, t, w, h: l = r: t = t + h + r: w = w * 2 + r
.Caption = "Применить разум"
.Value = 1
.Visible = 1
End With
Set tx1 = Controls.Add("vb.TextBox", "tx1"): With tx1
.Move l, t, w, h: w = l + w + r * 10: h = t + h + r * 10
.Visible = 1
End With
End Sub
Private Sub Form_Resize(): Me.WindowState = 0: With Me: .Move .Left, .Top, w, h: End With: End Sub