[VB] Text Spiegeln und und Zeichen vertauschen?

psyhead

Grünschnabel
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
 
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 :)
 
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! :D

und wie macht man es, dass zeichen durch andere Zeichen aus eine liste ersetzt werden?
 
Zuletzt bearbeitet:
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:
Code:
 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!
 
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 ?
 
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:
Code:
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!
 
Also, ich habe das mal so hier gemacht:


Code:
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?
 
Wie gesagt, du verstehts das Prinzip ein bißchen falsch.

Code:
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!
 
achso, du meinst, dass in varzeichenF alles zeichen reinkommen!

na dann hab ich es verstanden!

ich probiers aus und ! :D

EDIT:

habs nun so:

Code:
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! :D

das wär meine bitte!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück