1 (изменено: Sgy-x2, 2016-12-10 07:06:02)

Тема: AHK: Два набора переменных для координат

Задача такова. Есть для выбора два набора переменных, в которые нужно поместить координаты мыши. С выбором переменных вроде ничего сложно, а вот как им задать координаты я не знаю.

F1::
Gui, Add, text, x+15 y+15, Координаты
Gui, Add, DropDownList, xp w120 y+10 vCoordE gCoordD, one|two
Gui, Show
Return
CoordD:
	Gui, Submit
	if CoordE = one
	{
		CoordPrim1a = watch1
		CoordPrim2a = watch2
	}
	if CoordE = two
	{
		CoordPrim1a = watch3
		CoordPrim2a = watch4
	}

	Gui, Destroy
Return
!^Lbutton::
	CoordMode, Mouse
		Mousegetpos, %CoordPrim2a%, %CoordPrim1a%
		msgbox %CoordPrim2a% %CoordPrim1a%
Return

2

Re: AHK: Два набора переменных для координат

Если я правильно понимаю, это называется получить координаты курсора.
Справка → Мышь → MouseGetPos.

3

Re: AHK: Два набора переменных для координат

stealzy
Нет, не правильно, это называется не вежливо тыкать в справку при первой возможности! Если вы не заметили, то "MouseGetPos" присутствует в коде, и что-то про "MouseGetPos" я уже прочитал в справке. Да чуть не забыл, мне нужно поместить координаты в два разных блока переменных по выбору, о чем я указал в первом сообщении.

4

Re: AHK: Два набора переменных для координат

stealzy пишет:

А вы всетаки загляните туда и исправьте синтаксис MouseGetPos в вашем коде.

Не понимаю ваших тонких намеков.

stealzy пишет:

Поместить одну переменную в другую можно оператором присвоения

Так же, ни о чем не говорит.

5 (изменено: stealzy, 2016-12-10 19:26:54)

Re: AHK: Два набора переменных для координат

x1 := 0, y1 := 0, x2 := 0, y2 := 0 ; ваши два набора переменных
Gui, Add, DropDownList, xp w120 y+10 vCoordE gCoordD, one|two
Gui, Show
Return
CoordD:
	Gui, Submit, NoHide
	if (CoordE = "one") {
		x1 := 1, y1 := 2
	} else if (CoordE = "two") {
		x2 := 1, y2 := 2
	}
	MsgBox % x1 " : " y1 "`n" x2 " : " y2
ExitApp

6

Re: AHK: Два набора переменных для координат

Слушайте, хватит со мной играть, я в курсе как пишется эта команда. Если это так просто и очевидно для вас, то почему вы не покажете примером, а издеваетесь на до мной? Перед тем как писать на форум я 10 раз думаю, и 15 раз читаю справку (английскую тоже) Я ни разу не программист не в одном языке, и многое в АХК для меня не то что загадка, а темный лес, учителей у меня так же нет!

Mousegetpos, CoordPrim2a, CoordPrim1a

7

Re: AHK: Два набора переменных для координат

Нет. Попробую ещё раз объяснить. Есть выбор между двумя наборами переменных (их может быть и больше) Выбором определяются переменные которые необходимо подставить в функцию "Mousegetpos" для последующего задания в них координат, и дальнейшей записи в файл.

8 (изменено: stealzy, 2016-12-10 20:07:32)

Re: AHK: Два набора переменных для координат

переменные которые необходимо подставить в функцию "Mousegetpos"

Переменные нельзя "подставить".

MouseGetPos, OutputVarX, OutputVarY
if (CoordE = "one") {
	x1 := OutputVarX, y1 := OutputVarY
} else if (CoordE = "two") {
	x2 := OutputVarX, y2 := OutputVarY
}

Либо так:

Gui, Add, DropDownList, xp w120 y+10 vCoordE gCoordD, One|Two
Gui, Show
Return

CoordD:
Gui, Submit, NoHide
MouseGetPos, OutputVarX, OutputVarY
x%CoordE% := OutputVarX, y%CoordE% := OutputVarY
MsgBox % xOne " : " yOne "`n" xTwo " : " yTwo
ExitApp

9

Re: AHK: Два набора переменных для координат

Спасибо, я понял что делал не правильно. Первый вариант подходит.