• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

Guest

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

Normann

Что ж там сложного? Может тогда код покажешь?
 
G

Guest

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

Почему-то заменяется только последний символ.
 
N

Normann

;) ну насмешил, ну правильно, посмотри внимательнее на свой код. Естественно ты и увидишь результат только последнего присваивания.
 
G

Guest

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

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", "м")
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!