Замена символов в Vb6.0

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
Хочу создать прогу, но для её создания нужно уметь заменять несколько символов подряд. Пробовал через команду Replace - не получается.
 
G

Guest

#3
Вот и код:
--------------------------------------------------
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

Well-known member
09.08.2007
168
1
#4
;) ну насмешил, ну правильно, посмотри внимательнее на свой код. Естественно ты и увидишь результат только последнего присваивания.
 
G

Guest

#5
Ошибку-то я свою понял, да только как по другому мне написать не знаю.
 

Normann

Well-known member
09.08.2007
168
1
#6
Блин, ну ты даешь... ты заменяешь значение тестбокса модифицированным ('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", "м")
 
Статус
Закрыто для дальнейших ответов.