HI,
ich hab jetzt vor, ein Variable mit der Funktion StringSplit zu teilen.
Jetzt hab ich bloß ein Problem, da das Trennzeichen ein TAB ist.
Wie sag ich jetzt dem Prog, dass er diesen TAB als Trennzeichen hernehmen soll?
Sammy254
HI,
ich hab jetzt vor, ein Variable mit der Funktion StringSplit zu teilen.
Jetzt hab ich bloß ein Problem, da das Trennzeichen ein TAB ist.
Wie sag ich jetzt dem Prog, dass er diesen TAB als Trennzeichen hernehmen soll?
Sammy254
Hallo Sammy!
Das geht so:
[autoit]StringSplit("test test",@TAB)
[/autoit]Mfg Spider
p.s.: Sorry war grade bei ICQ nicht on..
danke für die hilfe
hab aber noch ne frage:
also ich hab was in $Edit1 reingeschrieben, Stringsplit teilt diesen text in eine Variable pro Zeile auf. und dann möchte ich, dass ein erneutes Stringsplit diese zeile erneut in zwei variablen aufteilt, wobei TAB das trennzeichen ist
bis jetzt schaut der teil so aus, doch leider geht es nicht
[autoit]
$Zeilen = GUICtrlRead($Edit1)
$Zeile = StringSplit($Zeilen, @LF)
For $i = 1 To $Zeile[0]
$Vokabel = StringSplit($Zeile[$i], @TAB)
For $i = 1 To $Vokabel[0]
Send($Vokabel[$i])
Send("{TAB}")
Next
Next
/edit
was muss ich eigentlich für den tastendruck STRG+s eingeben?
du verwendest in äußerer und innerer Schleife die gleiche Zählvariable "$i" . Das geht schief.
STRG+S =
Send("^s")
[/autoit]#include <GUIConstants.au3>
; == GUI generated with Koda ==
$Form1 = GUICreate("Vokabeln eingeben", 540, 441, 192, 125)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 537, 377)
GUICtrlSetData($Edit1, "")
$Button1 = GUICtrlCreateButton("Start", 224, 392, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button1
GUISetState(@SW_HIDE)
$Zeilen = GUICtrlRead($Edit1)
$Zeile = StringSplit($Zeilen, @LF)
Run("C:\HEUREKA\VOXYGB5\VOXY.EXE GB5")
Sleep(2000)
Send("Kevin")
Send("{TAB}")
Send("Kevin")
Send("{ENTER}")
MouseMove(408, 280)
MouseClick("left")
Sleep(500)
Send("!d")
Sleep(500)
Send("{DOWN}")
Send("{DOWN}")
Sleep(500)
Send("{ENTER}")
For $i = 1 To $Zeile[0]
$Vokabel = StringSplit($Zeile[$i], @TAB)
Send("^n")
Send($Vokabel[1])
Send("{TAB}")
Send($Vokabel[2])
Send("^s")
Sleep(1000)
Next
GUISetState(@SW_Show)
EndSelect
WEnd
Exit
mometan schaut mein programm so aus, doch wenn ich mehrere zeilen eingeb, ignoriert er einfach die erste zeile.
woran kann das liegen?
Also bei mir funktionierts. Habe mal auskommentiert, was ich zum Test nicht brauche.
Wenn du im Eingabefeld eingibst:
"aa {TAB} bb {ENTER}
cc {TAB} dd"
(Für TAB im Eingabefeld mußt du STRG+TAB drücken.), dann kommt in der MsgBox
bei Durchlauf 1: [1.]aa[2.]bb
bei Durchlauf 2: [1.]cc[2.]dd
Genau, wie es soll.
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]; == GUI generated with Koda ==
$Form1 = GUICreate("Vokabeln eingeben", 540, 441, 192, 125)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 537, 377)
GUICtrlSetData($Edit1, "")
$Button1 = GUICtrlCreateButton("Start", 224, 392, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button1
GUISetState(@SW_HIDE)
$Zeilen = GUICtrlRead($Edit1)
$Zeile = StringSplit($Zeilen, @LF)
;~ Run("C:\HEUREKA\VOXYGB5\VOXY.EXE GB5")
;~ Sleep(2000)
;~ Send("Kevin")
;~ Send("{TAB}")
;~ Send("Kevin")
;~ Send("{ENTER}")
;~ MouseMove(408, 280)
;~ MouseClick("left")
;~ Sleep(500)
;~ Send("!d")
;~ Sleep(500)
;~ Send("{DOWN}")
;~ Send("{DOWN}")
;~ Sleep(500)
;~ Send("{ENTER}")
For $i = 1 To $Zeile[0]
$Vokabel = StringSplit($Zeile[$i], @TAB)
MsgBox(0,"","[1.]"&$Vokabel[1]&"[2.]"&$Vokabel[2])
;~ Send("^n")
;~ Send($Vokabel[1])
;~ Send("{TAB}")
;~ Send($Vokabel[2])
;~ Send("^s")
;~ Sleep(1000)
Next
;~ GUISetState(@SW_Show)
EndSelect
WEnd
Exit
auf einmal geht es jetzt bei mir, danke für die hilfe