Изменение букв в TextBox-e.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Adolf
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 30.01.2005 (Вс) 11:01
Откуда: Ленинградская область, город Гатчина

Изменение букв в TextBox-e.

Сообщение Adolf » 15.02.2005 (Вт) 18:11

Как сделать, так чтобы при нажатии кнопки cmd1 происходило следующее действие: все буквы (предположим) "а", в набранном тексте, менялись на "б"?

Trusishka
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 02.07.2003 (Ср) 18:40
Откуда: Раменское

Сообщение Trusishka » 15.02.2005 (Вт) 18:23

Private Sub Command1_Click()
Dim A As String
Dim B As String
A = Trim$(Text1.Text)
B = "a"
Do While (InStr(1, A, B))
A = Trim$(Replace(A, B, "b"))
Loop
Text1.Text = A
End Sub

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 15.02.2005 (Вт) 19:24

А не проще ли
Код: Выделить всё
Text1.Text = Replace(Text1.Text, "a", "6")
И никаких циклов не надо :roll:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 15.02.2005 (Вт) 19:29

[offtop]Но тогда все буквы "а" заменятся на шестёрки, а надо же на букву "б"![/offtop]

Adolf
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 30.01.2005 (Вс) 11:01
Откуда: Ленинградская область, город Гатчина

Сообщение Adolf » 16.02.2005 (Ср) 11:37

С этим я разобрался, только хотелось бы сделать следующее:

If существует в тексте буква "а" (???) Then
...
End If

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 16.02.2005 (Ср) 11:47

Можно организовать посимвольный перебор с помощью setstart, sellength b seltext, но эт долго.. А текст большой?
Всё бывает!

Adolf
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 30.01.2005 (Вс) 11:01
Откуда: Ленинградская область, город Гатчина

Сообщение Adolf » 16.02.2005 (Ср) 12:07

Поясни на примере пожалуйста.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 16.02.2005 (Ср) 12:23

Да зачем? Есть же функции работы со строками.

Вот, пожалуйста:

Код: Выделить всё
If InStr(1,Text1.Text,"а") Then
...
End If

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 16.02.2005 (Ср) 12:27

private function LetterA(symbol as string, start as number)
start =1
symbol =""
While symbol <> "" or symbol <> "a"
text1.SelStart = start
txtData.SelLength = 1
symbol = Data.SelText
if symbol = "a" then LetterA = true
start = start +1
Wend
end function

Возможно, немного коряво (торопился), но примерно так...
Всё бывает!

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 16.02.2005 (Ср) 12:28

Пардон, в 3-й строке symbol = " "
Всё бывает!

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 16.02.2005 (Ср) 12:39

text1.SelStart = start
txtData.SelLength = 1
symbol = Data.SelText


:shock: :shock: :shock:

Мда... в трех строчках подряд три разных названия для одного и того же несчастного текстбокса :lol:

Костя
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 14.02.2005 (Пн) 6:45
Откуда: Новосибирск

Сообщение Костя » 16.02.2005 (Ср) 12:53

Рассеянность - высшая форма сосредоточенности!
Всё бывает!

Adolf
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 30.01.2005 (Вс) 11:01
Откуда: Ленинградская область, город Гатчина

Сообщение Adolf » 16.02.2005 (Ср) 12:53

Спасибо за помощь, желаемый результат получил.

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 16.02.2005 (Ср) 22:14

If Text1.Text = "a" Then
Text1.Text = "б"
End If

Чел наверно это хотел?

Если нет! Тогда могу подготовить проект на тему! смена букв! Надо?

Adolf
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 30.01.2005 (Вс) 11:01
Откуда: Ленинградская область, город Гатчина

Сообщение Adolf » 16.02.2005 (Ср) 22:29

neic
Нет, я этого не хотел. Данный код будет менять одну букву "а" на одну букву "б".

То что я хотел, я уже получил.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 168

    TopList