Перевод из кириллицы в транслит - VB
Формулировка задачи:
Кто нить, подкиньте толковый пример перевода строки из кириллицы в транслит. Заранее благодарен...
Решение задачи: «Перевод из кириллицы в транслит»
textual
Листинг программы
Private Sub CommandButton2_Click()
Dim c$, outchr$, outstr$, strIn$
Dim i%, j%, flag As Boolean
Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _
"л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _
"щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _
"Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", _
"Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")
Dim Eng As Variant
Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _
"k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
"sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _
"E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _
"S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA")
strIn = Text1.Text
For i = 1 To Len(strIn)
flag = False
c = Mid(strIn, i, 3)
For j = 26 To 58
If Eng(j) = c Then
outchr = Rus(j)
flag = True
i = i + 2
Exit For
End If
Next j
If Not flag Then
c = Mid(strIn, i, 2)
For j = 6 To 65
If Eng(j) = c Then
outchr = Rus(j)
flag = True
i = i + 1
Exit For
End If
Next j
End If
If Not flag Then
c = Mid(strIn, i, 1)
For j = 0 To 65
If Eng(j) = c Then
outchr = Rus(j)
flag = True
Exit For
End If
Next j
End If
If flag Then outstr = outstr & outchr Else outstr = outstr & c
Next i
Text2.Text = outstr
End Sub