# [VB] Text Spiegeln und und Zeichen vertauschen?



## psyhead (13. Oktober 2003)

Hallo alle zusammen!

Ich habe da so eine Idee, weiß aber nicht so recht wie ich diese Idee umsetzen soll!


das ist ganz simpel:

in einer textbox oder inputbox soll ein text eingeben werden ( "LEET"  )

und wenn man dann auf einen button klickt oder auf ok, erscheint in einer zweiten textbox oder msgbox der konvertierte text. in dem falls dann "1337" !

andersrum möchte ich gerne wissen, wie man einen eingegebenen text spiegelt!

z.B.
norm:  leet
konv: teel

verstanden ?


ich hoffe, es kann mir wer weiter helfen, denn ich muss für schule ein prog schreiben! irgend ein kleines prog! hab schon einige nur die wollen die nciht haben.

ok, auf gute zusammen arbeit.

PS: ich bin einsteiger


----------



## ANI (13. Oktober 2003)

Hallo psyhead,

den Text spiegeln könnte so aussehen:

Dim i%, newText$

For i = Len(Text1.Text) to 1 Step -1
     newText=newText + Mid(Text1.Text,i,1)
Next i

Ergebnis = newText

versuch dies einmal

ANI


----------



## psyhead (14. Oktober 2003)

danke, ich werde es gleich ausprobieren!


aber ich bräuchte noch hilfe beim zeichen ersetzen !

EDIT:


so, ich habs nun ausprobiert und funktioniert wunderbar!

 4 help! 

und wie macht man es, dass zeichen durch andere Zeichen aus eine liste ersetzt werden?


----------



## DrSoong (14. Oktober 2003)

Dazu hast du deine Zeichen am besten in einer Liste oder einem String und benutzt den Befehl *Replace*. SO als kurzes Anwendungsbeispiel (musst du natürlich noch für deine Bedürfnisse anpassen:

```
For cnt = 1 To Len(varZeichenF)
  varText = Replace(varText, Mid(varZeichenF, cnt, 1), Mid(varZeichenR, cnt, 1))
 Next cnt
```
Dabei steht der Text in _varText_, die zu ersetzenden Zeichen als String in _varZeichenF_ und die statt dessen einzusetzenden Zeichen in _varZeichenR_. In der Schleife werden dann alle zu ersetzenden Zeichen abgearbeitet.


Der Doc!


----------



## psyhead (14. Oktober 2003)

ich habe das nun so bei mir gemacht um die funktion zu testen!

Private Sub Command1_Click()
txt_ergebnis = cnt
For cnt = 1 To Len(varZeichenF)
  varText = Replace(varText, Mid(varZeichenF, cnt, 1), Mid(varZeichenR, cnt, 1))
Next cnt
End Sub


aber das geht so bei mir nicht!

welche commands muss ich erstzen für die zeichen?

varZeichenF : L ?
varZeichenR: 1 ?


----------



## DrSoong (14. Oktober 2003)

varZeichenF : Die Zeichen, die ersetzt werden sollen (können ruhig mehrere sein)
varZeichenR: Die Zeichen, die statt dessen eingefügt werden sollen. Dabei muss eine Übereinstimmung mit der Variable varZeichenF herrschen (wenn z.B: das Zeichen L durch 7 ersetzt werden soll, so muss in varZeichenF an Stelle x das L stehen, in varZeichenR an Stelle x das 7, usw.)

Beispiel:
varZeichenF = "Lo"
varZeichenR = "70"
Damit wird später das "L" durch "7", dass "o" durch "0" ersetzt.

Der Text, der ersetzt werden soll, wird in varText erwartet, cnt ist nur ein Zähler. Sollte also so aussehen:

```
Private Sub Command1_Click()
' varText muß noch der Text zugewiesen werden.
varZeichenF = "Lo"
varZeichenR = "70"
For cnt = 1 To Len(varZeichenF)
varText = Replace(varText, Mid(varZeichenF, cnt, 1), Mid(varZeichenR, cnt, 1))
Next cnt
'Dann noch den Inhalt von varText irgendwie ausgeben.
End Sub
```

So würde es richtig aussehen. Du kannst die Variablennamen natürlich auch ändern.


Der Doc!


----------



## psyhead (14. Oktober 2003)

Also, ich habe das mal so hier gemacht:



```
Private Sub Command1_Click()
' varText muß noch der Text zugewiesen werden.
varZeichenL = "L"
varZeichenL1 = "1"
varZeichenE = "E"
varZeichenE1 = "3"
For cnt = 1 To Len(varZeichenL)
varText = Replace(Text1, Mid(varZeichenL, cnt, 1), Mid(varZeichenL1, cnt, 1))
Next cnt
For cnt = 1 To Len(varZeichenE)
varText = Replace(Text1, Mid(varZeichenE, cnt, 1), Mid(varZeichenE1, cnt, 1))
Next cnt
Text2 = varText
End Sub
```

aber es geht so nicht!

bei mir errscheint dann nur wenn ich LEE eingebe L33 und das geht ja irgendwie nicht!

ich möchte dass ja so machen, das a-z durch ein anderes zeichen erstz weren können!

steckt bei mir irgendwo ein fehler drin?


----------



## DrSoong (14. Oktober 2003)

Wie gesagt, du verstehts das Prinzip ein bißchen falsch.


```
Private Sub Command1_Click()
' varText muß noch der Text zugewiesen werden.
varZeichenL = "LE"
varZeichenL1 = "13"
For cnt = 1 To Len(varZeichenL)
 varText = Replace(Text1, Mid(varZeichenL, cnt, 1), Mid(varZeichenL1, cnt, 1))
Next cnt
Text2 = varText
End Sub
```

Du kannst alle zu ersetzenden Buchstaben in eine Variable schreiben, dafür ist die Schleife da.


Der Doc!


----------



## psyhead (15. Oktober 2003)

achso, du meinst, dass in varzeichenF alles zeichen reinkommen!

na dann hab ich es verstanden!

ich probiers aus und ! 

EDIT:

habs nun so:


```
Private Sub Command1_Click()
' varText muß noch der Text zugewiesen werden.
varZeichenL = "abcdefghijklmnopqrstuvwxyz"
varZeichenR = "4BCd3fgh!jk1mn0pqr$7uvwxyz"
For cnt = 1 To Len(varZeichenL)
 varText = Replace(Text1, Mid(varZeichenL, cnt, 1), Mid(varZeichenR, cnt, 1))
Next cnt
Text2 = varText
End Sub
```


aber es geht immmer noch nicht! 

außerdem will ich ein zeichen auch mal durch mehr zeichen ersetzen!

z.B.
M = |\/| 

ich blick da nicht so durch. also in varZeichenL kommen die zeichen rein und in varZeichenR die, die errsetzt werden sollen. klingt simpel.

muss ich an erster stelle(varZeichenL)  z.B. a und und dann 4 (varZeichenR)
und immer so weiter für b, c, d usw. 

wenn ich es so richtig verstanden habe.

denn er soll ja nicht einfach nur LE und mehr nicht ersetzen!

achso!

in Text1 sollte man nicht nur LE, sondern ganze TExte schreiben könne! nicht einfach nur die einzelnen Zeichen! 

das wär meine bitte!


----------



## psyhead (16. Oktober 2003)

ok,  habs endlich geschnallt!

prog ist fertig!

wer prog haben will, soll sich bitte bei fmco.psyhead@gmx.net
welden!

ok, dann machst mla gut und danke für die hilfe!


----------

