Что нового

Легкий вопрос по Функциям

masheen

Новичок
Сообщения
25
Репутация
0
Как сделать чтобы функция возвращала значение $Value ???

Код:
 Func _Check()
	MouseClickDrag("left",$MouseCoordStart[0],$MouseCoordStart[1],$MouseCoordEnd[0],$MouseCoordEnd[1],100)
	Send("^c")
	$Value=StringRegExpReplace(ClipGet(), "[^\d]","")
EndFunc

чтобы при вызове оно возвращало значение например такое

$Value1 = _Check() ; Напрмимер сейчас оно равно 1
Sleep(5000) ; И после сна оно поменялось
$Value2 = _Check() ; А здесь после сна оно равно уже 2
 
Автор
M

masheen

Новичок
Сообщения
25
Репутация
0
filautdinov сказал(а):

Слушай а как в функции изменять значения, или пользоватсья теми значениями которые были созданы в функции
например

Код:
_Function1()
MsgBox(0,"",$s)

Func _Function1()
   $s=100
EndFunc

Или так

Код:
$s=50
_Function1()
MsgBox(0,"",$s)

Func _Function1()
   $s=100
EndFunc
 

filautdinov

Знающий
Сообщения
96
Репутация
9
Можешь создать глобальную переменную и изменять ее в любой функции
 
Автор
M

masheen

Новичок
Сообщения
25
Репутация
0
filautdinov сказал(а):
Можешь создать глобальную переменную и изменять ее в любой функции
а не подскажешь как сделать примерно такое но чтобы работало? Как бы динамически изменять название переменной.

Код:
$Offset=0

For $i = 4 To 1 Step -1
	  While Not _IsPressed(01)
		 Sleep(100)
	  WEnd
	  Sleep(1000)
   Global $MosPos[$Offset]=MouseGetPos()
   $Offset+=1
Next

MsgBox(0,"",$MosPos[0][0]&" "&$MosPos[0][1])
MsgBox(0,"",$MosPos[1][0]&" "&$MosPos[1][1])
MsgBox(0,"",$MosPos[2][0]&" "&$MosPos[2][1])
MsgBox(0,"",$MosPos[3][0]&" "&$MosPos[3][1])
 
A

Alofa

Гость
OffTopic:
masheen есть такая кнопочка
autoit.gif
при составлении сообщений с Autoit кодом.
 
Автор
M

masheen

Новичок
Сообщения
25
Репутация
0
Alofa сказал(а):
masheen сказал(а):
А ответ на вопрос не знаешь?
Знаю. Но только вот вопрос не понимаю.

Как динамически изменить имя переменной?
Мне нужно получить 1 переменную $MosPos1 где будут находится координаты от первого клика и так далее все 4 клика
следовательно $MosPos1, $MosPos2, $MosPos3, $MosPos4
 
A

Alofa

Гость
Код:
#include <Array.au3>
#include <Misc.au3>

Dim $MosPos[4][2]

For $i = 0 To 3
	While Not _IsPressed(01)
		Sleep(100)
	WEnd
	$MosPos[$i][0] = MouseGetPos(0)
	$MosPos[$i][1] = MouseGetPos(1)
	MouseUp('left')
Next

_ArrayDisplay($MosPos, 'Координаты:', '', 0, Default, "X Координата|Y Координата")



Добавлено:
Сообщение автоматически объединено:

masheen сказал(а):
... Как динамически изменить имя переменной?
Руками переписываете ее название (но только динамично) и вот оно счастье. :rofl:
Согласитесь есть различие между понятиями: "Имя переменной" и "Значение переменной"?
 
Автор
M

masheen

Новичок
Сообщения
25
Репутация
0
Руками переписываете ее название (но только динамично) и вот оно счастье. :rofl:
Согласитесь есть различие между понятиями: "Имя переменной" и "Значение переменной"?

Спасибо
А имя переменной нельзя что бы это был не массив?
 
Автор
M

masheen

Новичок
Сообщения
25
Репутация
0
Alofa сказал(а):
masheen сказал(а):
... А имя переменной нельзя что бы это был не массив?
Можно, конечно можно... Почитайте справку, включите воображение и дерзайте.
Но ИМХО в данном случае массив удобней.

$s=1
$MosPos&$s=MouseGetPosition()

не так случайно??


for $i=0 to 3
Global $name{$i}=2
next

MsgBox(0,"", name2)

как? подскажи пожалуйста?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


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

"Легкий вопрос по Функциям" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Глобальный модератор.









Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.




Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Глобальный модератор.




остальным пользователям прошу воздержаться от дальнейших ответов, пока автор не отреагирует на замечания
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
masheen [?]
Ваш аккаунт пойдёт туда же, если не исправите то на что вам указал модератор.
Вы проявляете неуважение к правилам данного форума, вам помогают здесь, но при этом вам сложно следовать простым правилам.
 
Верх