• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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