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

Тема в разделе "Visual Basic", создана пользователем -, 19 авг 2007.

Статус темы:
Закрыта.
  1. Гость

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

    Normann Well-Known Member

    Регистрация:
    9 авг 2007
    Сообщения:
    168
    Симпатии:
    2
    Что ж там сложного? Может тогда код покажешь?
     
  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
    ---------------------------------------------------

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

    Normann Well-Known Member

    Регистрация:
    9 авг 2007
    Сообщения:
    168
    Симпатии:
    2
    ;) ну насмешил, ну правильно, посмотри внимательнее на свой код. Естественно ты и увидишь результат только последнего присваивания.
     
  5. Гость

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

    Normann Well-Known Member

    Регистрация:
    9 авг 2007
    Сообщения:
    168
    Симпатии:
    2
    Блин, ну ты даешь... ты заменяешь значение тестбокса модифицированным ('f' на 'а') значением переменной sInput, потом ты зачем-то берешь опять исходное значение (sInput) и модифицировав его другим способом ('s' на 'ы) опять заменяешь ним текстбокс, третий раз тоже самое только 'v' на 'м'. Зачем ты каждый раз берешь старое исходное не измененное значение теряя при этом изменения сделанные функцией Replace? Перестань это делать, в место нее пихай в функцию измененное за предидущий раз значение. Для этого либо сохраняй значения в sInput, а потом заноси ее значение в текстбокс либо вместо текстбокса в параметрах функции используй опять же sInput.
    Код (Text):
    sInput = txtInput.Text

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

    Код (Text):
    sInput = txtInput.Text

    sInput = Replace(sInput, "f", "а")
    sInput = Replace(sInput, "s", "ы")
    txtOutput.Text = Replace(sInput, "v", "м")
     
  7. Гость

    ОГРО-О-ОМНОЕ СПАСИБО Normann!!!
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей