<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум компьютерной помощи &mdash; Преобразование с строки символов кириллицы в латиницу и наоборот.]]></title>
	<link rel="self" href="http://itpmr.ru/extern.php?action=feed&amp;tid=1162&amp;type=atom" />
	<updated>2024-09-05T07:39:15Z</updated>
	<generator>PunBB</generator>
	<id>http://itpmr.ru/viewtopic.php?id=1162</id>
		<entry>
			<title type="html"><![CDATA[Re: Преобразование с строки символов кириллицы в латиницу и наоборот.]]></title>
			<link rel="alternate" href="http://itpmr.ru/viewtopic.php?pid=124980#p124980" />
			<content type="html"><![CDATA[<p>Обратная функция - преобразует строку с латиницы в кириллицу.</p><div class="codebox"><pre><code>Function TranslitLat2Cyr(value As String) As String
    Const FUNC_NAME = {TranslitLat2Cyr}
    On Error GoTo errh
    
    Dim i As Integer
    Dim ch As String
    Dim str0 As String
    
    i = 1
    While(i &lt;= len(value))    
        ch = Mid$(value, i, 1)
        If ch = &quot;J&quot; Or ch = &quot;j&quot; then&#039; Префиксная нотация вначале
            i = i+1 &#039; // преходим ко второму символу сочетания
            ch = Mid$(value, i, 1)
            Select Case ch            
            case &quot;E&quot;: str0 = str0 &amp; &quot;Ё&quot;                
            case &quot;S&quot;:
                str0 = str0 &amp; &quot;Щ&quot;
                i = i+1 &#039;// преходим к третьему символу сочетания вариант третьего символа только один                
            case &quot;H&quot;: str0 = str0 &amp; &quot;Ь&quot;
            Case &quot;U&quot;: str0 = str0 &amp; &quot;Ю&quot;
            Case &quot;A&quot;: str0 = str0 &amp; &quot;Я&quot;
                
            Case &quot;e&quot;: str0 = str0 &amp; &quot;ё&quot;
            Case &quot;s&quot;:
                str0 = str0 &amp; &quot;щ&quot;
                i = i+1 &#039;// преходим к третьему символу сочетания вариант третьего символа только один
            Case &quot;h&quot;: str0 = str0 &amp; &quot;ь&quot;
            Case &quot;u&quot;: str0 = str0 &amp; &quot;ю&quot;
            Case &quot;a&quot;: str0 = str0 &amp; &quot;я&quot;
            End Select
            
        elseIf(i+1 &lt; len(value) And (Mid$(value, i+1, 1) = &quot;H&quot; Or Mid$(value, i+1, 1) = &quot;h&quot;)_
            and Not (i+2 &lt; len(value) and (Mid$(value, i+2, 1)=&quot;H&quot; Or Mid$(value, i+2, 1)=&quot;h&quot;))) then&#039;{// Постфиксная нотация, требует информации о двух следующих символах.
            Select Case ch
            Case &quot;Z&quot;: str0 = str0 &amp; &quot;Ж&quot;
            Case &quot;K&quot;: str0 = str0 &amp; &quot;Х&quot;
            Case &quot;C&quot;: str0 = str0 &amp; &quot;Ч&quot;
            Case &quot;S&quot;: str0 = str0 &amp; &quot;Ш&quot;
            Case &quot;E&quot;: str0 = str0 &amp; &quot;Э&quot;
            Case &quot;H&quot;: str0 = str0 &amp; &quot;Ъ&quot;
            Case &quot;I&quot;: str0 = str0 &amp; &quot;Ы&quot;
                    
            Case &quot;z&quot;: str0 = str0 &amp; &quot;ж&quot;
            Case &quot;k&quot;: str0 = str0 &amp; &quot;х&quot;
            Case &quot;c&quot;: str0 = str0 &amp; &quot;ч&quot;
            Case &quot;s&quot;: str0 = str0 &amp; &quot;ш&quot;
            Case &quot;e&quot;: str0 = str0 &amp; &quot;э&quot;
            Case &quot;h&quot;: str0 = str0 &amp; &quot;ъ&quot;
            Case &quot;i&quot;: str0 = str0 &amp; &quot;ы&quot;                
                
            End Select
            i = i+1 &#039;// пропускаем постфикс
        Else&#039;// одиночные символы
            Select Case ch
            Case &quot;A&quot;: str0 = str0 &amp; &quot;А&quot;
            Case &quot;B&quot;: str0 = str0 &amp; &quot;Б&quot;
            Case &quot;V&quot;: str0 = str0 &amp; &quot;В&quot;
            Case &quot;G&quot;: str0 = str0 &amp; &quot;Г&quot;
            Case &quot;D&quot;: str0 = str0 &amp; &quot;Д&quot;
            Case &quot;E&quot;: str0 = str0 &amp; &quot;Е&quot;
            Case &quot;Z&quot;: str0 = str0 &amp; &quot;З&quot;
            Case &quot;I&quot;: str0 = str0 &amp; &quot;И&quot;
            Case &quot;Y&quot;: str0 = str0 &amp; &quot;Й&quot;
            Case &quot;K&quot;: str0 = str0 &amp; &quot;К&quot;
            Case &quot;L&quot;: str0 = str0 &amp; &quot;Л&quot;
            Case &quot;M&quot;: str0 = str0 &amp; &quot;М&quot;
            Case &quot;N&quot;: str0 = str0 &amp; &quot;Н&quot;
            Case &quot;O&quot;: str0 = str0 &amp; &quot;О&quot;
            Case &quot;P&quot;: str0 = str0 &amp; &quot;П&quot;
            Case &quot;R&quot;: str0 = str0 &amp; &quot;Р&quot;
            Case &quot;S&quot;: str0 = str0 &amp; &quot;С&quot;
            Case &quot;T&quot;: str0 = str0 &amp; &quot;Т&quot;
            Case &quot;U&quot;: str0 = str0 &amp; &quot;У&quot;
            Case &quot;F&quot;: str0 = str0 &amp; &quot;Ф&quot;
            Case &quot;C&quot;: str0 = str0 &amp; &quot;Ц&quot;
                
            Case &quot;a&quot;: str0 = str0 &amp; &quot;а&quot;
            Case &quot;b&quot;: str0 = str0 &amp; &quot;б&quot;
            Case &quot;v&quot;: str0 = str0 &amp; &quot;в&quot;
            Case &quot;g&quot;: str0 = str0 &amp; &quot;г&quot;
            Case &quot;d&quot;: str0 = str0 &amp; &quot;д&quot;
            Case &quot;e&quot;: str0 = str0 &amp; &quot;е&quot;
            Case &quot;z&quot;: str0 = str0 &amp; &quot;з&quot;
            Case &quot;i&quot;: str0 = str0 &amp; &quot;и&quot;
            Case &quot;y&quot;: str0 = str0 &amp; &quot;й&quot;
            Case &quot;k&quot;: str0 = str0 &amp; &quot;к&quot;
            Case &quot;l&quot;: str0 = str0 &amp; &quot;л&quot;
            Case &quot;m&quot;: str0 = str0 &amp; &quot;м&quot;
            Case &quot;n&quot;: str0 = str0 &amp; &quot;н&quot;
            Case &quot;o&quot;: str0 = str0 &amp; &quot;о&quot;
            Case &quot;p&quot;: str0 = str0 &amp; &quot;п&quot;
            Case &quot;r&quot;: str0 = str0 &amp; &quot;р&quot;
            Case &quot;s&quot;: str0 = str0 &amp; &quot;с&quot;
            Case &quot;t&quot;: str0 = str0 &amp; &quot;т&quot;
            Case &quot;u&quot;: str0 = str0 &amp; &quot;у&quot;
            Case &quot;f&quot;: str0 = str0 &amp; &quot;ф&quot;
            Case &quot;c&quot;: str0 = str0 &amp; &quot;ц&quot;
            Case Else
                str0 = str0 &amp; ch
            End Select
            &#039;i = i+1 &#039;// переходим к следующему символу
        End if            
        i = i+1 &#039;// переходим к следующему символу
    Wend
    
    TranslitLat2Cyr = str0
    
    Exit Function

errh:    
    Print {Ошибка: } &amp; LIB_NAME &amp; {--&gt;} &amp; FUNC_NAME &amp; {, строка } &amp; Erl &amp; {, } &amp; Error$
    Exit Function
End Function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-09-05T07:39:15Z</updated>
			<id>http://itpmr.ru/viewtopic.php?pid=124980#p124980</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Преобразование с строки символов кириллицы в латиницу и наоборот.]]></title>
			<link rel="alternate" href="http://itpmr.ru/viewtopic.php?pid=124979#p124979" />
			<content type="html"><![CDATA[<p>Функция, получает строку value&nbsp; на кириллице и возвращает строку на латинице.</p><div class="codebox"><pre><code>Function TranslitCyr2Lat(value As String) As String
    Const FUNC_NAME = {TranslitCyr2Lat}
    On Error GoTo errh
    
    Dim mas1 As Variant, mas2 As Variant
    Dim str1 As String, str2 As string
    
    str1 = &quot;А;Б;В;Г;Д;Е;Ё;Ж;З;И;Й;К;Л;М;Н;О;П;Р;С;Т;У;Ф;Х;Ц;Ч;Ш;Щ;Ъ;Ы;Ь;Э;Ю;Я&quot;
    str1 = str1 &amp; &quot;;&quot; &amp; LCase(str1)
    
    str2 = &quot;A;B;V;G;D;E;JE;ZH;Z;I;Y;K;L;M;N;O;P;R;S;T;U;F;KH;C;CH;SH;JSH;HH;IH;JH;EH;JU;JA&quot;
    str2 = str2 &amp; &quot;;&quot; &amp; LCase(str2)    
    
    mas1 = Split(str1, &quot;;&quot;)
    mas2 = Split(str2, &quot;;&quot;)
    
    TranslitCyr2Lat = Replace(FullTrim(value),mas1,mas2)

    Exit Function

errh:    
    Print {Ошибка: } &amp; LIB_NAME &amp; {--&gt;} &amp; FUNC_NAME &amp; {, строка } &amp; Erl &amp; {, } &amp; Error$
    Exit Function
End Function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-09-05T07:38:43Z</updated>
			<id>http://itpmr.ru/viewtopic.php?pid=124979#p124979</id>
		</entry>
</feed>
