Dobrý den, docela mi hoří termín a já nejsem schopen přijijít na to jak udělat když napíšu do textboxu1 text aby se mi překládal do textboxu2 třeba jako čísla.... Když by bylo dáno že a=1 b=2 c=3 A já napsal acb aby se mi do truhého okna napsalo 132.. Prosím o radu děkuji. :)
Fórum › Visual Basic
Překlad A na 1
![](img/forum_vlakno_help_vyreseno.png)
je to sice c# ale mel bys to snad pochopit
private Dictionary<char, char> replacements = new Dictionary<char, char>()
{
{'a', '1'},
{'b', '2'},
{'c', '3'},
{'d', '4'},
};
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = "";
foreach (var x in textBox1.Text)
if (replacements.ContainsKey(x))
textBox2.Text += replacements[x];
else
textBox2.Text += x;
}
a doporucuju textbox2 nastavit ReadOnly true
achjo. http://converter.telerik.com/
ps: ten kod co sem poslal je nejjednoduzsi a nejkratsi reseni a dela presne to co chcete. nejake extravagance s IFem z hlediska rozsiritelnosti a separovatelnosti kodu nedoporucuju.
A proč nevyužít Asc hodnoty každého znaku v Text1.Text?
a=64, b=65, c=66...
Private Sub Text1_Change()
Text2.Text = AlphaToNumeric(Text1.Text)
End Sub
Private Function AlphaToNumeric(ByVal Alpha As String, _
Optional ByVal AscDecrement As Integer = 64, _
Optional ByVal CaseSensitive As Boolean = False, _
Optional ByVal BlanksAllowed As Boolean = False) _
As String
Dim i As Integer
Dim tmp As String
Dim tmp2 As String
tmp = Text1.Text
If CaseSensitive = False Then tmp = UCase$(tmp)
If BlanksAllowed = False Then tmp = Replace$(tmp, " ", "")
For i = 1 To Len(tmp)
tmp2 = tmp2 & Round(Asc(Mid$(tmp, i, 1)) - AscDecrement)
Next
AlphaToNumeric = tmp2
i = tmp = tmp2 = Empty
End Function
Podle tohoto by se to mělo překládat.. -_- Byl bych schopen i zaplatit, jen abych to stihl.. :)
#7 Petr Zbořil
Oprava: A=65, B=66, C=67... a=97, b=98, c=99
' Dva textboxy
' v IDE nastavit:
' Text1.MultiLine = True
' Text2.MultiLine = True
Private Sub Text1_Change()
Dim i As Integer
Dim Code As String
Text2.Text = ""
For i = 1 To Len(Text1.Text)
Code = ""
If Mid$(Text1.Text, i, 1) = "a" Then Code = ".-"
If Mid$(Text1.Text, i, 1) = "b" Then Code = "-..."
If Mid$(Text1.Text, i, 1) = "c" Then Code = "-.-."
If Mid$(Text1.Text, i, 1) = " " Then Code = "|"
'...
If Code <> "" Then
Text2.Text = Text2.Text & Code
If i < Len(Text1.Text) And Code <> "|" Then
Text2.Text = Text2.Text & "|"
End If
End If
Next i
End Sub
Tohle je funkční, ale hodně pomalé a amatérské :)
Taky bych určitě průběžně čistil Text1.Text od nepřeložitelných znaků a nadbytečných mezer.
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Překlad na P4 — založil 16bit
Překlad programu — založil David Kolibřík
Preklad z AJ do CJ PLS — založil Tomáš
Moderátoři diskuze