Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Замена символов в Vb6.0
Форум программистов > Системное программирование > Visual Basic
Орион
Хочу создать прогу, но для её создания нужно уметь заменять несколько символов подряд. Пробовал через команду Replace - не получается.
Normann
Что ж там сложного? Может тогда код покажешь?
Орион
Вот и код:
--------------------------------------------------
Dim sInput As String

Private Sub Command1_Click()
sInput = txtInput.Text

txtOutput.Text = Replace(sInput, "f", "а")
txtOutput.Text = Replace(sInput, "s", "ы")
txtOutput.Text = Replace(sInput, "v", "м")
End Sub
---------------------------------------------------

Почему-то заменяется только последний символ.
Normann
laugh.gif ну насмешил, ну правильно, посмотри внимательнее на свой код. Естественно ты и увидишь результат только последнего присваивания.
Орион
Ошибку-то я свою понял, да только как по другому мне написать не знаю.
Normann
Блин, ну ты даешь... ты заменяешь значение тестбокса модифицированным ('f' на 'а') значением переменной sInput, потом ты зачем-то берешь опять исходное значение (sInput) и модифицировав его другим способом ('s' на 'ы) опять заменяешь ним текстбокс, третий раз тоже самое только 'v' на 'м'. Зачем ты каждый раз берешь старое исходное не измененное значение теряя при этом изменения сделанные функцией Replace? Перестань это делать, в место нее пихай в функцию измененное за предидущий раз значение. Для этого либо сохраняй значения в sInput, а потом заноси ее значение в текстбокс либо вместо текстбокса в параметрах функции используй опять же sInput.
sInput = txtInput.Text

txtOutput.Text = Replace(sInput, "f", "а")
txtOutput.Text = Replace(txtOutput.Text, "s", "ы")
txtOutput.Text = Replace(txtOutput.Text, "v", "м")

либо

sInput = txtInput.Text

sInput = Replace(sInput, "f", "а")
sInput = Replace(sInput, "s", "ы")
txtOutput.Text = Replace(sInput, "v", "м")
Орион
ОГРО-О-ОМНОЕ СПАСИБО Normann!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.