Problem mit Sonderzeichen

11/28/2010 10:46 Kazu99#1
Quote:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Run ("C:\Users\Public\Games\World of Warcraft\wow.exe")
Sleep (5000)
WinWaitActive ("World of Warcraft")
Send ("[Only registered and activated users can see links. Click Here To Register...]")
Send ("{TAB}")
Send ("xxxxxxxx"")
Send ("{enter}")
Exit
Wie man vielleicht erkennen kann ist es ein kleines Prog für faule um sich in WoW einzuloggen, beim rot markierten " liegt mein Problem. Mein Kumpel wollte natürlich auch ne Version für sich. Nur dummerweise hat er " im Passwort und Autoit nimmt es nicht und spuckt ne Fehlermeldung aus.

Quote:
>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper. exe" /run /prod /ErrorStdOut /in "C:\Users\Kazu\Desktop\Autoit\pago.au3" /autoit3dir "C:\Program Files (x86)\AutoIt3" /UserParams
+>10:45:46 Starting AutoIt3Wrapper v.2.0.1.24 Environment(Language:0407 Keyboard:00000807 OS:WIN_7/ CPU:X64 OS:X64)
>Running AU3Check (1.54.19.0) from:C:\Program Files (x86)\AutoIt3
C:\Users\Kazu\Desktop\Autoit\pago.au3(9,18) : ERROR: syntax error (illegal character)
Send ("xxxxxx""
Ist es möglich den Send befehl so zu modifizieren das er mit das " auch eintippt?
11/28/2010 10:56 KingZuck#2
ja Send ('xxxxxxxx"')
11/28/2010 10:59 Kazu99#3
('xxxxxxxx"') also geht das auch mit ' statt " ? super gleich mal testen =)
11/28/2010 11:19 KingZuck#4
jep
11/28/2010 11:56 Kazu99#5
Quote:
("{enter}")
hab ich aus einem der tollen TuTs übernommen
ist das nun grundsätzlich egal welche form ich nutze oder gibts da gewisse einschränkungen?
11/28/2010 12:06 KingZuck#6
wie meist du das genau??

also natürlich könntest statt ("{enter}") auch ('{enter}') <<<< meintest das? ^^

MFG
11/28/2010 12:09 BlackHybrid#7
Was bringt das eig grad darüber zu diskutieren is doch eig völlig egal weils das gleiche bringt.
11/28/2010 12:16 KingZuck#8
Quote:
Originally Posted by BlackHybrid View Post
Was bringt das eig grad darüber zu diskutieren is doch eig völlig egal weils das gleiche bringt.
wenn du mit send meinst nein da bei send(""") Fehler kommt aber bei send('"') keine kommt...

wenn du mit ("{enter"}) meinst: dann kp da ich nicht genau weiß was er meinte :P


naja aber so passiert wenigstens mal was in der Section :)


MFG
11/28/2010 12:36 bassbanane#9
Ein einfaches ' wird "höher" bewertet als ein ", also wenn man ein " in einem String hat sollte man diesen mit ' umschließen, da es sonst als Endzeichen des Strings gewertet wird.
11/28/2010 12:36 Kazu99#10
jo wollt nur wissen obs da nen unterschied gibt weil in dem beispiel [Only registered and activated users can see links. Click Here To Register...] stands eben mit ("{enter"})
und ich frag mich nun ob da nen unterschied gibt oder ob ich mir besser angewöhn mit ('{enter}') zu "lernen" hab mir das gestern nacht das erste mal angeschaut und halt bisschen probiert :)

Edit:
Quote:
Originally Posted by bassbanane View Post
Ein einfaches ' wird "höher" bewertet als ein ", also wenn man ein " in einem String hat sollte man diesen mit ' umschließen, da es sonst als Endzeichen des Strings gewertet wird.
Heisst also hätt ich 2 Schalter (ich nenns jetzt einfach mal so) einer mit " und einer mit ' wird ' schneller ausgeführt oder bevorzugt als " Nur damit ich das verstehe. Und falls nicht muss mich mich wohl noch ne ganze weile reinknien, von heute auf morgen lernt man sowas nicht ^^ aber schonmal danke für die inputs
11/28/2010 12:56 BlackHybrid#11
Also eig ist es egal die meißten machen es nur mit ""
11/28/2010 13:01 Kazu99#12
also hab ich nur ne dumme situation erwischt :) aber gut zu wissen, notiert hab ich mir das schonmal.
11/28/2010 14:28 lolkop#13
Quote:
Originally Posted by Kazu99 View Post
Heisst also hätt ich 2 Schalter (ich nenns jetzt einfach mal so) einer mit " und einer mit ' wird ' schneller ausgeführt oder bevorzugt als " Nur damit ich das verstehe. Und falls nicht muss mich mich wohl noch ne ganze weile reinknien, von heute auf morgen lernt man sowas nicht ^^ aber schonmal danke für die inputs
das stimmt so nicht^^
in den meisten sprachen, werden einzelne chars durch 'x' gekennzeichnet, und strings durch "string".

in autoit ist man nicht so "eingeschränkt". sieht ein string beispielweise so aus:
Code:
blah's blubb
kann man ihn so speichern:
Code:
$string = "blah's blubb"
hat man hingegen einen string der " enthält speichert man ihn einfach mit dem einfachen hochkomma
Code:
$string = 'zitat: "blah"'
enthält ein string allerdings beide elemente, so muss man diesen mithilfe von & verküpfungen speichern
Code:
$string = 'zitat: "blah'&"'"&'s blubb"'