multiplicando variaveis

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

cimerio
Posts: 31
Joined: 29 Apr 2019, 15:37

multiplicando variaveis

28 Jan 2021, 09:39

bom dia, prezados. podem me ajudar indicando pq o codigo abaixo nao funciona?

Code: Select all

{
!w::

valor1 = 100
valor2 = (%valor1% * 100)
msgbox %valor2%

ele retona (100 * 100)
se eu coloco valor2 := (%valor1% * 100) não retorna nada, rs.

a meta é retornar 10000
User avatar
TheDewd
Posts: 1464
Joined: 19 Dec 2013, 11:16
Location: USA

Re: multiplicando variaveis

28 Jan 2021, 09:49

https://www.autohotkey.com/docs/commands/SetExpression.htm

:= :D

= :cry:

Code: Select all

#SingleInstance, Force

!w::
	Valor1 := 100
	Valor2 := (Valor1 * 100)
	MsgBox, %Valor2%
return
Image Bulldozer - Sokoban inspired game from 1994 recreated in AutoHotkey.
User avatar
Gio
Posts: 1120
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: multiplicando variaveis

28 Jan 2021, 11:02

Bom dia Cimerio.

Como o TheDewd bem demonstrou, você está utilizando o operador de expressões literais = (igual). Neste tipo de expressão, tudo é tratado como texto.

:arrow: O operador indicado para trabalhar expressões matemáticas é o := (dois-pontos-e-igual).

Outro ponto importante: quando você utilizar o operador de expressões matemáticas, não utilize %s para dereferenciar variáveis (basta colocar o nome da variável, pois em uma expressão matemática, o valor dos literais já é automaticamente dereferenciado sempre que eles não estejam entre aspas duplas).

Exemplo:

Code: Select all

!w::

valor1 := 100
valor2 := (valor1 * 100) ; Os parenteses nesse caso não são necessários. Eles só serviriam se você quisesse alterar a ordem de precedência dos cálculos em uma expressão matemática mais longa.
msgbox %valor2%

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 1 guest