Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
1

Перевод одних символов в другие по принципу смены раскладки клавиатуры

07.06.2012, 23:05. Просмотров 2242. Ответов 10
Метки нет (Все метки)

Здравствуйте. Хочу написать программу, в которой бы были два текстбокса. В один текстбокс вводим текст, напрмер "Ghbdtn? Dfcz? rfr ;bpym&". А во втором текстбоксе по нажатию кнопки, выводился бы следующий текст: "Привет, Вася, как жизнь?".

То есть программа бы переводила английские буквы в русские, и наоборот.

Например: "Ghbdtn? Dfcz? rfr nt,t yjdsq fkm,jv ЫдшзЛтще,"
А во втором окне было бы: "Привет, Вася, как тебе новый альбом SlipKnot?"

Каким методом можно переводить одни символы в другие и как лучше написать программу?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 23:05
Ответы с готовыми решениями:

Событие смены раскладки клавиатуры?
Подскажите как на C#(WinForms)отловить событие смены активного окна ввода или еще лучше смены...

Настройка смены раскладки клавиатуры
Привет. Я использую Линукс и там есть такая возможность как назначить практически любую клавишу на...

Включение смены раскладки клавиатуры
Привет всем. В своей программе для определенных целей прибиваю explorer. Прибивается всё как...

Режим смены раскладки клавиатуры
Добрый день. С 2011 года до начала марта пользовался Windows 7 и очень к ней привык. Некоторые...

Перезагрузка компьютера во время смены раскладки клавиатуры
Доброго времени суток. Перезагружается компьютер во время смены раскладки клавиатуры. Причем,...

10
kOS_77
194 / 186 / 9
Регистрация: 14.06.2011
Сообщений: 495
08.06.2012, 01:18 2
Пунто свитчер ?

Если именно так как вы описали то проблем в этом не будет. Распознаем язык, перехватываем нажатие клавиш, играем с раскладкой клавиатуры и повторяем ввод но уже программно.
0
Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
08.06.2012, 02:03  [ТС] 3
Да нет. Просто нужно скопировать текст потом вставить в текстбокс, а после нажатия кнопки текст уже преобразованный окажется в другом текстбоксе.
0
ZuMiks
121 / 99 / 5
Регистрация: 25.03.2012
Сообщений: 153
08.06.2012, 11:45 4
Лучший ответ Сообщение было отмечено как решение

Решение

Вот функция для перевода в транслит и обратно, переделать под выше задание будет не сложно
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Dim direction As Boolean
    'Если его значение -- True, тогда перевод из русского в транслит, и наоборот
    Private Function Translate(ByVal strFullString As String, ByVal direction As Boolean) As String
        Dim i As Integer
        Dim bRussian(35) As String
        Dim bTrans(35) As String
        Dim lTrans() As String = {"j", "c", "u", "k", "e", "n", "g", "sh", "sh", "z", "h", "'", "f", "y", "v", "a", "p", "r", "o", "l", "d", "zh", "e", "ja", "ch", "s", "m", "i", "t", "'", "b", "ju", "йа", "йу", "зх", "цх"}
        Dim lRussian() As String = {"й", "ц", "у", "к", "е", "н", "г", "ш", "щ", "з", "х", "ь", "ф", "ы", "в", "а", "п", "р", "о", "л", "д", "ж", "э", "я", "ч", "с", "м", "и", "т", "ь", "б", "ю", "я", "ю", "ж", "ч"}
        If direction = True Then
            For i = 0 To 35
                bRussian.SetValue(lRussian(i).ToUpper.ToString, i)
                bTrans.SetValue(lTrans(i).ToUpper.ToString, i)
                strFullString = strFullString.Replace(lRussian(i).ToString, lTrans(i).ToString)
                strFullString = strFullString.Replace(bRussian(i).ToString, bTrans(i).ToString)
            Next
        Else
            For i = 0 To 35
                bRussian.SetValue(lRussian(i).ToUpper.ToString, i)
                bTrans.SetValue(lTrans(i).ToUpper.ToString, i)
                strFullString = strFullString.Replace(lTrans(i).ToString, lRussian(i).ToString)
                strFullString = strFullString.Replace(bTrans(i).ToString, bRussian(i).ToString)
            Next
        End If
        Return strFullString
    End Function
5
Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
13.06.2012, 16:52  [ТС] 5
Чёт не могу понять, а что в кнопке писать, чтобы текст переводился?
0
ZuMiks
121 / 99 / 5
Регистрация: 25.03.2012
Сообщений: 153
13.06.2012, 18:52 6
vb.net
1
2
3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox2.Text = Translate(TextBox1.Text, direction)
    End Sub
1
PAnT0P
1028 / 552 / 106
Регистрация: 26.03.2012
Сообщений: 993
13.06.2012, 22:42 7
Цитата Сообщение от ZuMiks Посмотреть сообщение
If direction = True Then
Ну ты отжег
0
Mad_Marine
4 / 4 / 0
Регистрация: 10.07.2011
Сообщений: 115
14.06.2012, 06:04  [ТС] 8
ZuMiks, спасибо тебе огромное.

Добавлено через 24 минуты
Просто в функциях я не особо ещё разбираюсь.
0
PAnT0P
1028 / 552 / 106
Регистрация: 26.03.2012
Сообщений: 993
19.08.2013, 09:11 9
Цитата Сообщение от ZuMiks Посмотреть сообщение
If direction = True Then
Цитата Сообщение от PAnT0P Посмотреть сообщение
Ну ты отжег
Для тех кто не в теме поясню, если переменная имеет тип Boolean, не надо его сравнивать с True или False, пишите сразу
Visual Basic
1
2
If direction Then ' для True
If Not direction Then ' для False
0
Юпатов Дмитрий
1618 / 1130 / 224
Регистрация: 23.12.2010
Сообщений: 1,495
19.08.2013, 09:31 10
Цитата Сообщение от PAnT0P Посмотреть сообщение
Для тех кто не в теме поясню, если переменная имеет тип Boolean, не надо его сравнивать с True или False, пишите сразу
можно не писать. Но полная версия куда читабельнее. Дело привычки, имхо. Особенно, когда код не только для себя, но и для других, особенно начинающих.
1
GeneAYak
1 / 1 / 0
Регистрация: 10.12.2012
Сообщений: 17
20.08.2013, 10:25 11
я бы писал подобную программу используя класс dictionary, где ключом бы являлась кнопка одного языка, а значением кнопка другого, тогда все проще, чем у ZuMiks выйдет

да и работать про больших объемах текста должна вроде как быстрее
0
20.08.2013, 10:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2013, 10:25

Вывести значок смены раскладки клавиатуры на панель
Подскажите, пожалуйста, как мне сделать, чтобы на панели задач появился значок смены языка, через...

Установка кастомных клавиш для смены раскладки клавиатуры
Как установить свои клавиши для смены раскладки клавиатуры??? Конкретно мне удобнее сменять...

Замена одних символов на другие
Здравствуйте, создаю программу, которая будет заменять одни символы на другие. К примеру если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru