Variable an MouseMove übergeben

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

nacken012
Posts: 90
Joined: 22 Jul 2016, 14:39

Variable an MouseMove übergeben

08 Oct 2018, 01:37

Hallo, ich stehe gerade vor einem Problem das ich nicht lösen kann.

Ich habe eine DropdownBox mit folgenden Inhalt:
Gui, 10: Add, DropDownList, x250 y226 h220 w200 vMarmorhöhleName, %ReadMarmorhöhleName%||Leuchtkäfer|Macara|Roter Drache|Spirale|Gelbe Tulpen|Zompilz

und lasse das per Iniwrite in einer Setup.ini schreiben
IniWrite,%MarmorhöhleName%,Setup.ini,Marmorhöle,Key1

Das ganze klappt auch perfekt, auch mit dem Auslesen wieder

Jetzt zu dem Problem.

Wenn Leuchtkäfer in der Ini steht soll er zu einer bestimmten Stelle springen
Wenn Macara dann zu einer anderen stelle usw....

Denn jeder wert der da drin steht hat bestimmte Maus Koordinaten, Leuchtkäfer z.B. 700, 805 / Macara 870, 563 usw...
die ich dann mit MouseMove ansteuern will.

Verstehe aber jetzt nicht, wie ich es dem Script beibringe das wenn macara drin steht, er einen MouseMove, 870, 563 macht usw....

Hoffe ich konnte mich so halbwegs verständlich ausdrücken
User avatar
LuckyJoe
Posts: 340
Joined: 02 Oct 2013, 09:52

Re: Variable an MouseMove übergeben

08 Oct 2018, 10:19

... nur so auf die Schnelle: kannst du die gewünschten Mauskoordinaten nicht mit in die INI schreiben und entsprechend auslesen?

Viel Erfolg! - Lucky Joe
Herzliche Grüße aus dem Rheinland
Lucky Joe
nacken012
Posts: 90
Joined: 22 Jul 2016, 14:39

Re: Variable an MouseMove übergeben

08 Oct 2018, 10:28

Nur wie weise ich dann das zu ?
Also wenn MarmorhölenName = Zompilz ist, das er dann die passende Koordinate nimmt ?
Irgendwie habe ich da eine Blockade und komme da einfach nicht drauf.

Habe schon versucht in die ini folgendes zu schreiben: 700, 800, Zompilz

Das klappt ja auch, aber wenn ich das an MouseMove übergebe gibt er mir ein Error raus das MouseMove mehr als 1 Angabe braucht.
Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Variable an MouseMove übergeben

08 Oct 2018, 12:07

Hallo,

ich würde in diese INI oder ieen 2.INI schreiben:

[Koordinaten]
Leuchtkäfer=700, 805
Macara=870, 563


und dann den jeweiligen gewählten Inhalt per IniRead

Code: Select all

IniRead, Koordinaten, %A_Scriptdir%\meineINI.ini, Koordinaten, %MarmorhöhleName% 
abfragen und übernehmen

Grüßle
regards,
AHK_fan :)
https://hr-anwendungen.de
nacken012
Posts: 90
Joined: 22 Jul 2016, 14:39

Re: Variable an MouseMove übergeben

08 Oct 2018, 22:08

Vielen lieben Dank, das hat mir sehr geholfen :-)

Nur mit 1 iniRead habe ich es nicht hingekommen, habe es nicht geschafft die Variable die rauskommt (870, 563) zu trennen in 2 einzelne Koordinaten, Denn MouseMove mag es einfach nicht wenn ich angebe:

MouseMove, %Koordinaten%

Habe es dann mit 2 ini Dateien gelöst

IniRead, Ausgabe, MarmorKoordinaten.ini, Koordinaten, %ReadMarmorhöhleName%
IniRead, Ausgabe1, MarmorKoordinaten1.ini, Koordinaten, %ReadMarmorhöhleName%
MouseMove, %Ausgabe%, %Ausgabe1%

In der Ersten steht dann:
[Koordinaten]
Leuchtkäfer=700
Macara=563

in der zweiten dann:
[Koordinaten]
Leuchtkäfer=805
Macara=563

Jetzt klappt es perfekt, 1.000 Dank nochmal :-)
Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Variable an MouseMove übergeben

09 Oct 2018, 00:35

Hi,

ich würde es in eine INI schreiben, und zwar alles. Du kannst ja die Bereiche trennen.
Zum Trennen nimm doch Array := StrSplit(String [, Delimiters, OmitChars]) oder StringSplit, OutputArray, InputVar [, Delimiters, OmitChars])

ersten Befehl würde es so aussehen:

Code: Select all

IniRead, Ausgabekomplett, MarmorKoordinaten.ini, Koordinaten, %ReadMarmorhöhleName%
meineKoordinaten = StrSplit(Ausgabekomplett, ",")
MausX := meineKoordinaten[1]
MausY := meineKoordinaten[2]
MouseMove, %MausX%, %MausY%
; MouseClick, ,MausX, MausY

die 2. Version mit StringSplit (älterer Stand)

Code: Select all

IniRead, Ausgabekomplett, MarmorKoordinaten.ini, Koordinaten, %ReadMarmorhöhleName%
StringSplit, Maus, Ausgabekomplett, `,
MouseMove, %Maus1%, %Maus2%
; MouseClick, ,MausX, MausY

die INI in beiden Fällen so:
[Koordinaten]
Leuchtkäfer=700, 805
Macara=870, 563
regards,
AHK_fan :)
https://hr-anwendungen.de
User avatar
LuckyJoe
Posts: 340
Joined: 02 Oct 2013, 09:52

Re: Variable an MouseMove übergeben

09 Oct 2018, 00:44

Hi, das geht auch mit einer INI:

Code: Select all

[Koordinaten]
Leuchtkäfer = 700, 805
Macara = 870, 563
Im Script teilst du die Koordinaten dann wieder auf:

Code: Select all

xy:= StrSplit(Koordinaten, ",")
MsgBox % "x-Koordinate: " . xy[1]
MsgBox % "y-Koordinate: " . xy[2]
Viel Erfolg! - Lucky Joe
Herzliche Grüße aus dem Rheinland
Lucky Joe
User avatar
LuckyJoe
Posts: 340
Joined: 02 Oct 2013, 09:52

Re: Variable an MouseMove übergeben

09 Oct 2018, 00:45

... doppelt gemoppel hält besser :-)
Herzliche Grüße aus dem Rheinland
Lucky Joe
nacken012
Posts: 90
Joined: 22 Jul 2016, 14:39

Re: Variable an MouseMove übergeben

09 Oct 2018, 09:36

Vielen Dank, werde ich ausprobieren
nacken012
Posts: 90
Joined: 22 Jul 2016, 14:39

Re: Variable an MouseMove übergeben

10 Oct 2018, 02:02

Was abgefahren was damit alles möglich ist, mir öffnen sich gerade ganz neue Welten :-)

1.000 Dank

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 21 guests