Contagem de 1 a 10 Topic is solved

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

Moderator: Gio

User avatar
Hologram
Posts: 126
Joined: 06 May 2020, 16:47

Contagem de 1 a 10

19 Jun 2020, 14:56

Eu não entendi direito pq o código não funcionou.. acho que estou tentando colocar um numero na variavel da maneira errada sla..

Code: Select all

F1::

Teste = 1 ; Variavel iniciada em 1
Tooltip, Contagem de 10 segundos iniciada! 

While (Teste <= 10) ; o loop While deve continuar sendo setado até que que o numero da variavel Teste seja igual ou menor que 10
{
	Send , %Teste% ; Variavel feita no inicio
	Teste = Teste + 1 ; toda vez que o loop for efetuado deve adicionar o numero +1 dentro da variavel Teste
	Sleep, 1000 ; Delay de 1 segundo entre os loops
}
Tooltip, A contagem de 10 segundos foi atingida! 
return 


Last edited by Hologram on 19 Jun 2020, 18:43, edited 1 time in total.
Discord: Npc Bugado#9074



local config = {
delrey = getPlayerCarValue(cid, DELREY),
cigarro = getPlayerCancer(cid, DERBY),
prostituta = getPlayerAIDS(cid, cracuda),
tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end


User avatar
Yakshongas
Posts: 591
Joined: 21 Jan 2020, 08:41
Facebook: Yakshongas

Re: Contagem de 1 a 10

19 Jun 2020, 15:49

Code: Select all

Teste := 0

F1::
ToolTip, Contagem de 10 segundos iniciada!
While, (Teste <= 10)
{
    Send, % Teste
    Teste++
    Sleep, 1000
}
Tooltip, A contagem de 10 segundos foi atingida! 
Sleep, 1000
ToolTip
Teste := 1
Return

Please mark your topics as solved if you don't need any further help. ✅

Need a little more help? Discord : Yakshongas#9893 🕹
User avatar
Gio
Posts: 1060
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Contagem de 1 a 10  Topic is solved

19 Jun 2020, 19:49

Boa noite.

Vou aproveitar o tópico para explicar a questão dos operadores:

O operador = (somente o símbolo de igual) é o operador de expressões literais (texto), enquanto que o operador := (dois pontos seguido de igual) é que serve para expressões matemáticas.

Portanto, a expressão Teste = Teste + 1 NÃO é a mesma coisa que Teste := Teste + 1. Somente esta última expressão de fato resultaria no resultado que você queria (acrescentar o valor numérico 1 ao conteúdo da variável).

Já a expressão Teste++ faz uso de outro operador: o operador de incrementação. Este operador simplesmente aumenta o valor de uma variável em 1. Portanto, as expressões Teste := Teste + 1 e Teste++ são matematicamente equivalentes. O operador ++ (incrementação) existe porque é muito comum na programação a ideia de aumentar o valor da variável em 1 unidade por ciclo (contagem).

Mas se você quiser aumentar o valor de uma variável em 5, por exemplo, com o operador := você poderia simplesmente escrever Teste := Teste + 5, mas com o operador de incrementação você teria que escrever 5 expressões.

Code: Select all

Teste++
Teste++
Teste++
Teste++
Teste++
Outra coisa para se ter em mente: na programação zero e "nada" NÃO são a mesma coisa. Portanto, uma variável que não contém nenhum valor numérico NÃO pode ser incrementada (o resultado seria em branco). Porém, para o código que você postou a incrementação funcionou por causa dessa linha anterior: Teste = 1 ; Variavel iniciada em 1.

Para clarificar um pouco mais, digo que o operador de expressões literais só funcionou neste caso porque mesmo colocando um texto na variável, este texto continha apenas um número, o que permitiu que o conteúdo desta variável fosse posteriormente interpretado como um componente com valor matemático. Qualquer coisa que não fosse apenas um número e que fosse colocado na variável através do operador = tornaria o valor da variável em "nada" para efeito matemáticos (que como eu disse NÃO é a mesma coisa que zero).

:arrow: Na programação usa-se bastante o nome null para se referir ao "em branco" que não possui nenhum valor matemático e também nenhum valor literal.

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: Gio and 4 guests