Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 12.12.2018
Сообщений: 59

Переводчик белеберды

03.09.2019, 18:24. Показов 1597. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, надо сделать приложение, чтобы автоматически при написании слов забыв сменить язык переводил белеберду на нормальные слова, Подскажите сайты которые бы подсказали за что взяться , или что стоит применить при создании этого приложения
Пример (ghbdtn -> привет)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2019, 18:24
Ответы с готовыми решениями:

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

Переводчик, словарь
Нужно сделать переводчик с одного языка на другой и наоборот. На форме 2 radioButton (выбор направления перевода) и 2 richtextBox, в первый...

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

10
Любитель
 Аватар для Тим70
1039 / 746 / 160
Регистрация: 27.01.2019
Сообщений: 1,513
03.09.2019, 19:53
Когда то писал,что то похожее.Я тупо сравнивал каждую введенную букву с раскладкой клавы и если не совпадала,то менял на нужную.Писал давно и точно уже не помню,но смысл думаю понятен.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
03.09.2019, 19:57
Тим70, а каким образом вводилась с клавиатуры буква, не соответствующая раскладке?
0
Любитель
 Аватар для Тим70
1039 / 746 / 160
Регистрация: 27.01.2019
Сообщений: 1,513
03.09.2019, 21:09
Mr_kenioo, я нашел эту прогу,правда она написана на vb6,попытаюсь ее переделать на vb.net,а там уже можно и в С# конвертировать.Но если хочешь могу код на vb6 сбросить.

Добавлено через 31 минуту
Код на C# переводил автоматом,возможны ошибки
C#
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
using System;
using Microsoft.VisualBasic;
 
public class Form1
{
    private string A, C;
    private int B, N, i, j, D;
    private string[] A1, C1;
    private int[] B1, D1;
    private var retval;
 
    private string keynum;
    private string MyString;
 
    private void Button1_Click(System.Object sender, System.EventArgs e)
    {
        A = TextBox1.Text;
        N = Strings.Len(A);
        var oldA1 = A1;
        A1 = new string[i + 1];
        if (oldA1 != null)
            Array.Copy(oldA1, A1, Math.Min(i + 1, oldA1.Length));
        var oldB1 = B1;
        B1 = new int[i + 1];
        if (oldB1 != null)
            Array.Copy(oldB1, B1, Math.Min(i + 1, oldB1.Length));
        var oldC1 = C1;
        C1 = new string[i + 1];
        if (oldC1 != null)
            Array.Copy(oldC1, C1, Math.Min(i + 1, oldC1.Length));
 
        for (int i = 1; i <= N; i++)
        {
            var oldC1 = C1;
            C1 = new string[i + 1];
            if (oldC1 != null)
                Array.Copy(oldC1, C1, Math.Min(i + 1, oldC1.Length));
            var oldA1 = A1;
            A1 = new string[i + 1];
            if (oldA1 != null)
                Array.Copy(oldA1, A1, Math.Min(i + 1, oldA1.Length));
            var oldB1 = B1;
            B1 = new int[i + 1];
            if (oldB1 != null)
                Array.Copy(oldB1, B1, Math.Min(i + 1, oldB1.Length));
            A1[i] = Strings.Mid(A, i, 1);
            keynum = Strings.Asc(A1[i]);
            B1[i] = keynum;
            ListBox1.Items.Add(A1[i] + " " + B1[i] + "   ");
            // Перевод на русский
 
            retval = Strings.Chr(65);
            retval = Strings.Chr(B1[i]);
            C = retval;
            C1[i] = retval;
 
            MyString = MyString + C1[i];
        }
 
        TextBox2.Text = MyString;
    }
 
    private void Button3_Click(System.Object sender, System.EventArgs e)
    {
        TextBox2.Text = "";
        A = TextBox1.Text;
        N = Strings.Len(A);
        var oldA1 = A1;
        A1 = new string[N + 1];
        if (oldA1 != null)
            Array.Copy(oldA1, A1, Math.Min(N + 1, oldA1.Length));
        var oldB1 = B1;
        B1 = new int[N + 1];
        if (oldB1 != null)
            Array.Copy(oldB1, B1, Math.Min(N + 1, oldB1.Length));
        var oldC1 = C1;
        C1 = new string[N + 1];
        if (oldC1 != null)
            Array.Copy(oldC1, C1, Math.Min(N + 1, oldC1.Length));
 
        for (i = 1; i <= N; i++)
        {
            A1[i] = Strings.Mid(A, i, 1);
            keynum = Strings.Asc(A1[i]);
            B1[i] = keynum;
            ListBox1.Items.Add(A1[i] + " " + B1[i] + "   ");
            // Проверка
            if (B1[i] == 63)
                C1[i] = "";
            if (B1[i] == 47)
                C1[i] = "";
            if (B1[i] == 34)
                C1[i] = "Э";
            if (B1[i] == 39)
                C1[i] = "э";
            if (A1[i] == "Q")
                C1[i] = "Й";
            if (A1[i] == "q")
                C1[i] = "й";
            if (A1[i] == "W")
                C1[i] = "Ц";
            if (A1[i] == "w")
                C1[i] = "ц";
            if (A1[i] == "E")
                C1[i] = "У";
            if (A1[i] == "e")
                C1[i] = "у";
            if (A1[i] == "R")
                C1[i] = "К";
            if (A1[i] == "r")
                C1[i] = "к";
            if (A1[i] == "T")
                C1[i] = "Е";
            if (A1[i] == "t")
                C1[i] = "е";
            if (A1[i] == "Y")
                C1[i] = "Н";
            if (A1[i] == "y")
                C1[i] = "н";
            if (A1[i] == "U")
                C1[i] = "Г";
            if (A1[i] == "u")
                C1[i] = "г";
            if (A1[i] == "I")
                C1[i] = "Ш";
            if (A1[i] == "i")
                C1[i] = "ш";
            if (A1[i] == "O")
                C1[i] = "Щ";
            if (A1[i] == "o")
                C1[i] = "щ";
            if (A1[i] == "P")
                C1[i] = "З";
            if (A1[i] == "p")
                C1[i] = "з";
            if (A1[i] == "{")
                C1[i] = "Х";
            if (A1[i] == "[")
                C1[i] = "х";
            if (A1[i] == "}")
                C1[i] = "Ъ";
            if (A1[i] == "]")
                C1[i] = "ъ";
            if (A1[i] == "A")
                C1[i] = "Ф";
            if (A1[i] == "a")
                C1[i] = "ф";
            if (A1[i] == "S")
                C1[i] = "Ы";
            if (A1[i] == "s")
                C1[i] = "ы";
            if (A1[i] == "D")
                C1[i] = "В";
            if (A1[i] == "d")
                C1[i] = "в";
            if (A1[i] == "F")
                C1[i] = "А";
            if (A1[i] == "f")
                C1[i] = "а";
            if (A1[i] == "G")
                C1[i] = "П";
            if (A1[i] == "g")
                C1[i] = "п";
            if (A1[i] == "H")
                C1[i] = "Р";
            if (A1[i] == "h")
                C1[i] = "р";
            if (A1[i] == "J")
                C1[i] = "О";
            if (A1[i] == "j")
                C1[i] = "о";
            if (A1[i] == "K")
                C1[i] = "Л";
            if (A1[i] == "k")
                C1[i] = "л";
            if (A1[i] == "L")
                C1[i] = "Д";
            if (A1[i] == "l")
                C1[i] = "д";
            if (A1[i] == ":")
                C1[i] = "Ж";
            if (A1[i] == ";")
                C1[i] = "ж";
            // If A1(i) = """ Then C1(i) = "Й"
            // If A1(i) = "'" Then C1(i) = "Й"
            if (A1[i] == "Z")
                C1[i] = "Я";
            if (A1[i] == "z")
                C1[i] = "я";
            if (A1[i] == "X")
                C1[i] = "Ч";
            if (A1[i] == "x")
                C1[i] = "ч";
            if (A1[i] == "C")
                C1[i] = "C";
            if (A1[i] == "c")
                C1[i] = "c";
            if (A1[i] == "V")
                C1[i] = "М";
            if (A1[i] == "v")
                C1[i] = "м";
            if (A1[i] == "B")
                C1[i] = "И";
            if (A1[i] == "b")
                C1[i] = "и";
            if (A1[i] == "N")
                C1[i] = "Т";
            if (A1[i] == "n")
                C1[i] = "т";
            if (A1[i] == "M")
                C1[i] = "Ь";
            if (A1[i] == "m")
                C1[i] = "ь";
            if (A1[i] == "<")
                C1[i] = "Б";
            if (A1[i] == ",")
                C1[i] = "б";
            if (A1[i] == ">")
                C1[i] = "Ю";
            if (A1[i] == ".")
                C1[i] = "ю";
            if (A1[i] == " ")
                C1[i] = " ";
 
            MyString = MyString + C1[i];
        }
 
        TextBox2.Text = MyString;
    }
 
    private void Button2_Click(System.Object sender, System.EventArgs e)
    {
        TextBox1.Text = "";
        TextBox2.Text = "";
        ListBox1.Items.Clear();
    }
}
На всякий случай код на vb.net
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Public Class Form1
    Dim A, C As String, B, N, i, j, D As Integer
    Dim A1(), C1() As String, B1(), D1() As Integer
    Dim retval
 
    Dim keynum As String
    Dim MyString As String
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        A = TextBox1.Text
        N = Len(A)
        ReDim Preserve A1(i), B1(i), C1(i)
 
        For i As Integer = 1 To N
            ReDim Preserve C1(i), A1(i), B1(i)
            A1(i) = Mid(A, i, 1)
            keynum = Asc(A1(i))
            B1(i) = keynum
            ListBox1.Items.Add(A1(i) & " " & B1(i) & "   ")
            'Перевод на русский
 
            retval = Chr(65)
            retval = Chr(B1(i))
            C = retval
            C1(i) = retval
 
            MyString = MyString + C1(i)
 
        Next i
    
        TextBox2.Text = MyString
 
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        TextBox2.Text = ""
        A = TextBox1.Text
        N = Len(A)
        ReDim Preserve A1(N), B1(N), C1(N)
 
        For i = 1 To N
 
            A1(i) = Mid(A, i, 1)
            keynum = Asc(A1(i))
            B1(i) = keynum
            ListBox1.Items.Add(A1(i) & " " & B1(i) & "   ")
            'Проверка
            If B1(i) = 63 Then C1(i) = ""
            If B1(i) = 47 Then C1(i) = ""
            If B1(i) = 34 Then C1(i) = "Э"
            If B1(i) = 39 Then C1(i) = "э"
            If A1(i) = "Q" Then C1(i) = "Й"
            If A1(i) = "q" Then C1(i) = "й"
            If A1(i) = "W" Then C1(i) = "Ц"
            If A1(i) = "w" Then C1(i) = "ц"
            If A1(i) = "E" Then C1(i) = "У"
            If A1(i) = "e" Then C1(i) = "у"
            If A1(i) = "R" Then C1(i) = "К"
            If A1(i) = "r" Then C1(i) = "к"
            If A1(i) = "T" Then C1(i) = "Е"
            If A1(i) = "t" Then C1(i) = "е"
            If A1(i) = "Y" Then C1(i) = "Н"
            If A1(i) = "y" Then C1(i) = "н"
            If A1(i) = "U" Then C1(i) = "Г"
            If A1(i) = "u" Then C1(i) = "г"
            If A1(i) = "I" Then C1(i) = "Ш"
            If A1(i) = "i" Then C1(i) = "ш"
            If A1(i) = "O" Then C1(i) = "Щ"
            If A1(i) = "o" Then C1(i) = "щ"
            If A1(i) = "P" Then C1(i) = "З"
            If A1(i) = "p" Then C1(i) = "з"
            If A1(i) = "{" Then C1(i) = "Х"
            If A1(i) = "[" Then C1(i) = "х"
            If A1(i) = "}" Then C1(i) = "Ъ"
            If A1(i) = "]" Then C1(i) = "ъ"
            If A1(i) = "A" Then C1(i) = "Ф"
            If A1(i) = "a" Then C1(i) = "ф"
            If A1(i) = "S" Then C1(i) = "Ы"
            If A1(i) = "s" Then C1(i) = "ы"
            If A1(i) = "D" Then C1(i) = "В"
            If A1(i) = "d" Then C1(i) = "в"
            If A1(i) = "F" Then C1(i) = "А"
            If A1(i) = "f" Then C1(i) = "а"
            If A1(i) = "G" Then C1(i) = "П"
            If A1(i) = "g" Then C1(i) = "п"
            If A1(i) = "H" Then C1(i) = "Р"
            If A1(i) = "h" Then C1(i) = "р"
            If A1(i) = "J" Then C1(i) = "О"
            If A1(i) = "j" Then C1(i) = "о"
            If A1(i) = "K" Then C1(i) = "Л"
            If A1(i) = "k" Then C1(i) = "л"
            If A1(i) = "L" Then C1(i) = "Д"
            If A1(i) = "l" Then C1(i) = "д"
            If A1(i) = ":" Then C1(i) = "Ж"
            If A1(i) = ";" Then C1(i) = "ж"
            'If A1(i) = """ Then C1(i) = "Й"
            'If A1(i) = "'" Then C1(i) = "Й"
            If A1(i) = "Z" Then C1(i) = "Я"
            If A1(i) = "z" Then C1(i) = "я"
            If A1(i) = "X" Then C1(i) = "Ч"
            If A1(i) = "x" Then C1(i) = "ч"
            If A1(i) = "C" Then C1(i) = "C"
            If A1(i) = "c" Then C1(i) = "c"
            If A1(i) = "V" Then C1(i) = "М"
            If A1(i) = "v" Then C1(i) = "м"
            If A1(i) = "B" Then C1(i) = "И"
            If A1(i) = "b" Then C1(i) = "и"
            If A1(i) = "N" Then C1(i) = "Т"
            If A1(i) = "n" Then C1(i) = "т"
            If A1(i) = "M" Then C1(i) = "Ь"
            If A1(i) = "m" Then C1(i) = "ь"
            If A1(i) = "<" Then C1(i) = "Б"
            If A1(i) = "," Then C1(i) = "б"
            If A1(i) = ">" Then C1(i) = "Ю"
            If A1(i) = "." Then C1(i) = "ю"
            If A1(i) = " " Then C1(i) = " "
 
            MyString = MyString + C1(i)
 
        Next i
      
        TextBox2.Text = MyString
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Text = ""
        TextBox2.Text = ""
        ListBox1.Items.Clear()
    End Sub
End Class
0
Любитель
 Аватар для Тим70
1039 / 746 / 160
Регистрация: 27.01.2019
Сообщений: 1,513
03.09.2019, 21:56
Вот пример моей формы
Миниатюры
Переводчик белеберды  
1
0 / 0 / 0
Регистрация: 12.12.2018
Сообщений: 59
04.09.2019, 10:17  [ТС]
Прошу прощения, но мне не в программе нужно, я хотел везде изменять текст, не только в форме, она в фоновом режиме должна работать со всеми программами

Добавлено через 3 минуты
Мне нужны ссылки на сайты что подскажут мне как это делать, а не сама программа, ну или подсказки что можно применить
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
04.09.2019, 10:39
Mr_kenioo, программа называется Punto Switcher
думаю, большее тебе просто не нужно.
0
0 / 0 / 0
Регистрация: 12.12.2018
Сообщений: 59
04.09.2019, 17:08  [ТС]
Я знаю, мне нужно ее создать
Ну , похожую, подскажите где поискать инфу , как там в фоновом режиме заставить работать и чтоб включалась прога при включении компа, чтоб отдельная панель была чтоб настраивать и тд и тп
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
04.09.2019, 21:18
Mr_kenioo, поискать чуть выше в этой же теме. Про фоновый режим можете забыть сразу, писать службу вместо вас врят-ли кто то будет. И уж тем более не вяжется фоновый режим с панелью
0
0 / 0 / 0
Регистрация: 12.12.2018
Сообщений: 59
04.09.2019, 23:52  [ТС]
Я не прошу мене написать, подскажите где почитать на эту тему, и да , я не знаю в чем я эту прогу буду делать, можете ещё и это подсказать

Добавлено через 58 секунд
P.s. за меня прогу делать ненадо в 100 раз пишу, мне нужны ссылки на сайты где я могу разобраться в этом
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
05.09.2019, 10:44
Цитата Сообщение от Mr_kenioo Посмотреть сообщение
P.s. за меня прогу делать ненадо в 100 раз пишу, мне нужны ссылки на сайты где я могу разобраться в этом
все Ваши вопросы в основном приводят к основам вообще языка, а следовательно начать Вам нужно именно с них, конкретно как делать то,то,то Вам никто не расскажет ибо это и будет сделать за Вас, хоть и по частям. Если толпы книг которые уже по 150 раз описывались и есть тут в отдельной теме не устраивают используйте такие ресурсы как https://metanit.com/ и https://professorweb.ru/. Так же Вам поможет msdn. Из информации могу подсказать что Вам нужны глобальные хуки клавиатуры (это те которые через dllImport нужно будет реализовывать из WinApi) без них C# не будет следить ни за чем в фоне. Сами по себе хуки для разных задач найти можно будет без проблем, однако Вам предстоит их приспособить под себя, а конкретнее где-то хранить всё что пишут на клавиатуре и делать обработку "перевода" по кнопке какой-либо. Сам перевод скорей всего по заранее подготовленной таблице замены нужно будет производить, но это уже чисто технические детали и как Вам удобнее так и будете делать. Но для начала почитайте что такое глобальные хуки, как они в C# делаются и как их использовать
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.09.2019, 10:44
Помогаю со студенческими работами здесь

Словарь переводчик (dictionary)
Нужно сделать переводчик с одного языка на другой и наоборот(через Dictionary). В моем коде если уже ввести англ. слово, не будет...

Отобразить Google переводчик на форме
Нужно сделать окно доспута к гугл переводчику с переводом рус-англ и англ-рус: 1)Какие ссылки нужно копировать с браузера и нужно ли...

Программа переводчик. Правильный метод чтения текстовых файлов
Добрый день Столкнулся с проблемой в программе в чтении текстовых файлов. Программа собственно должна брать текстовые файлы которые...

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

Переводчик с Русского на украинский
Здраствуйте. Подскажите пожалуйся ,что нужно для написания переводчика (с русского на украинский)и с чего лучше начать. И если есть у...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru