Hi @ all,
ich will mal wieder mein wissen etwas erweitern.
ich frage mich jetzt schon länger ob es möglich ist
zwei buchstaben miteinander auszutauschen.
also z.B. :
In einer .txt datei steht jetzt:
"wroou"
ich öffne diese in einer gui
und autoit soll dann anstadt "wroou" "hallo" in ein edit feld reinschreiben.
also würde
w für h stehen, r für a, o für l und u für o stehen.
geht so etwas?
MfG Roggazzz
Ist es möglich zwei buchstaben miteinander Auszutauschen?
-
- [ offen ]
-
Lololo124 -
14. Juni 2009 um 18:56 -
Geschlossen -
Erledigt
-
-
StringReplace () zuerst zu einem nicht vorkommenden Zeichen (zB Steuerzeichen über Chr ()) dann nochmal zum richtigen Buchsteben.
-
hi,
[autoit]
ja in der tat das ist sehr einfach
schau dir den Befehl :StringReplace
[/autoit]
an (bei problemen sollte die AutoIT hilfe dich unterstützen ;))
EDIT: .. irgendwie bin ich immer ein stückchen zu langsam
-
danke.
könntest du mir noch ein beispiel machen? kenne mich mit Stirngreplace() nicht aus.
edit:
grad gemekrt das ich ind er hildfe was finde ich melde mich bei problemen.
ich habe noch eine frage:
wen ich jetzt in das edit feld "hallo" schreibe und es umwandeln will muss ich das nur umgekehrt amchen oder? -
-
so ein problem ist aufgetaucht.
Wie wende ich Stringreplace in dem edit feld an?
ich habe versucht ein a in ein r umzuwandeln aber es geht nicht.
hier der code:Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("NextGenEditor", 637, 457, 192, 124)
$Edit = GUICtrlCreateEdit("", 0, 0, 633, 433)
$M1 = GUICtrlCreateMenu("Datei")
$M1_2 = GUICTRLCREATEMENUITEM("Öffnen",$M1)
$M2 = GUICtrlCreateMenu("Info")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $M1_2
$Open=FileOpenDialog("Öffnen","","NextGenEditor Dateien(*.nge)")
$Open2=FileRead($Open)
$WriteinEdit= GUICtrlSetData($Edit,$Open2)
StringReplace($Edit,"a","r")EndSwitch
[/autoit]
WEnd
Woran liegt das?
MfG Roggazzz -
Hallo rogazz,
mach es so:
[autoit]StringReplace(GUICtrlRead($Edit),"a","r",0)
[/autoit]$Edit ist eine Variable die die ControlId enthält, um den Wert des Controls auszulesen must du GuiCtrlRead(ContolID) nehmen,
mfg (Auto)Bert
-
danke autobert ich habe es versucht aber es klappt einfach nicht.
das a in meinem text wird einfach nicht zu einem r.
zur sicherheit der code wie er jetzt ist:Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("NextGenEditor", 637, 457, 192, 124)
$Edit = GUICtrlCreateEdit("", 0, 0, 633, 433)
$M1 = GUICtrlCreateMenu("Datei")
$M1_2 = GUICTRLCREATEMENUITEM("Öffnen",$M1)
$M2 = GUICtrlCreateMenu("Info")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $M1_2
$Open=FileOpenDialog("Öffnen","","NextGenEditor Dateien(*.nge)")
$Open2=FileRead($Open)
$WriteinEdit= GUICtrlSetData($Edit,$Open2)
StringReplace(GUICtrlRead($Edit),"a","r",0)EndSwitch
[/autoit]
WEnd
Danke schonmal im vorraus. -
Hallo rogazz,
sorry den geänderten Text muss man natürlich auch wieder mit GuiCtrlSetData zurückschreiben (dachte den Befehl kennst du schon)
[autoit]GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"a","r",0))
[/autoit]mfg (Auto)Bert
-
so danke ich habe jetzt versucht eine Ver-/Entschlüssler zu machen.
wen ich verschlüssle oder entschlüssle kommt völliger schrott raus.
hier der code:Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Text Ver-/Entschlüssler", 388, 248, 194, 124)
$Edit = GUICtrlCreateEdit("", 0, 0, 289, 113)
GUICtrlSetData(-1, "Edit1")
$Button1 = GUICtrlCreateButton("Verschlüsseln", 288, 0, 91, 105, 0)
$Edit1 = GUICtrlCreateEdit("", 0, 128, 289, 113)
GUICtrlSetData(-1, "Edit2")
$Button2 = GUICtrlCreateButton("Entschlüsseln", 288, 128, 91, 105, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"a","c",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"b","r",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"c","a",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"d","u",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"e","f",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"f","e",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"g","x",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"h","j",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"i","q",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"j","h",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"k","v",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"l","n",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"m","p",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"n","l",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"o","w",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"p","m",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"q","i",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"r","b",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"s","t",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"t","s",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"u","d",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"v","k",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"w","o",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"x","g",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"y","z",0))
GuiCtrlSetData($Edit,StringReplace(GUICtrlRead($Edit),"z","y",0))Case $Button2
[/autoit] [autoit][/autoit] [autoit]
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"c","a",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"r","b",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"a","c",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"u","d",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"f","e",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"e","f",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"x","g",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"j","h",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"q","i",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"h","j",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"v","k",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"n","l",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"p","m",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"l","n",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"w","o",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"m","p",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"i","q",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"b","r",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"t","s",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"s","t",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"d","u",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"k","v",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"o","w",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"g","x",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"z","y",0))
GuiCtrlSetData($Edit1,StringReplace(GUICtrlRead($Edit1),"y","z",0))EndSwitch
[/autoit]
WEnd -
Hallo Roggazz,
dadurch dass du alles nacheinander machst, tauscht du bereits getauschte, such dir also einen anderen Ansatz z.B. switch .. case .. endswitch, oder benutze einfach eine Fertige Funktion.
Auch die Sufu könnte nützlich seinmfg (Auto)Bert
-
switch... case... endswitch... benutze ich ja bereits,
aber wie soll ich es anderster amchen das es nicht nacheinander gescannt wird? -
Hallo Roggazz,
ja du benutzt switch aber für die Tastenabfrage nicht für die zu tauschenden Buchstaben benutze eine Schleife und switche darin für jeden Buchstaben, ausserdem solltest du mal lernen mit der Hilfe bzw. Sufu umzugehen bzw. auch andere Threads mit ähnlichen Themen lesen. Das bedeutet für mich das Thema ist erledigt (zwei Buchstaben werden getauscht => Thema gelöst)
mfg (Auto)Bert