Bom dia Azarfy.
As variáveis embutidas
A_Hour e
A_Min contém basicamente a hora e o minuto daquele momento da execução.
Sendo assim tudo o que você tem que fazer é condicionar as mensagens ao valor que estiver contido nestas variáveis. Este valor é sempre atual, então mesmo que o script rode por dias, o momento da execução da linha é o que vai definir a mensagem a ser exibida.
Exemplo: No código abaixo verificamos apenas a variável A_Hour, pois 12:00:01 por exemplo, já é maior que 12:00 (então qualquer horário em que a hora seja 12 ou maior já seria boa tarde)
Code: Select all
If ((A_hour > 5) AND (A_hour < 12)) ; Se for entre 06:00:00 e 11:59:59 será bom dia.
{
msgbox % "Bom dia!"
}
Else if ((A_hour >= 12) AND (A_hour < 18)) ; Do contrário, se for entre 12:00:00 e 17:59:59 será boa tarde.
{
msgbox % "Boa tarde!"
}
else If ((A_hour >= 18) OR (A_hour <= 5)) ; Aqui poderia ser simplesmente um Else também. Se for maior-que 18:00:00 OU se for menor-que 06:00:00, será boa noite.
{
msgbox % "Boa noite!"
}
Return
Se você quiser construir um código que verifique os minutos (por exemplo, 12:00:59 sendo bom dia e 12:01:00 sendo boa tarde), isso também é possível, mas a árvore de condicionais ficaria bem mais extensa, porque a hora e os minutos teriam que ser considerados em várias condições conjuntas.
Exemplo: para designar bom dia entre 06:01:00 e 12:00:59 você poderia fazer assim:
Code: Select all
If (((A_hour = 6) AND (A_Min >= 1)) OR ((A_hour > 6) AND (A_hour < 12)) OR ((A_hour = 12) AND (A_Min < 1)))
{
msgbox % "Bom dia!"
}
Isso porque:
1.
hora = 6 e minuto >=1 pegaria de 06:01:00 até 06:59:59.
2.
hora > 6 e hora < 12 pegaria de 07:00:00 até 11:59:59.
3.
hora = 12 e minuto < 1 pegaria de 12:00:00 até 12:00:59.
Como cada uma das 3 é uma condição conjunta, usamos operadores lógicos E (AND)
dentro delas.
Como QUALQUER das condições conjuntas acima ocasionará um bom dia, usamos operadores lógicos OU (OR)
entre elas.
Espero ter ajudado, se ainda tiver alguma dúvida, basta postar abaixo
Bom dia Azarfy.
As variáveis embutidas [url=https://www.autohotkey.com/docs/Variables.htm#Hour]A_Hour[/url] e [url=https://www.autohotkey.com/docs/Variables.htm#Min]A_Min[/url] contém basicamente a hora e o minuto daquele momento da execução.
Sendo assim tudo o que você tem que fazer é condicionar as mensagens ao valor que estiver contido nestas variáveis. Este valor é sempre atual, então mesmo que o script rode por dias, o momento da execução da linha é o que vai definir a mensagem a ser exibida.
Exemplo: No código abaixo verificamos apenas a variável A_Hour, pois 12:00:01 por exemplo, já é maior que 12:00 (então qualquer horário em que a hora seja 12 ou maior já seria boa tarde)
[code]If ((A_hour > 5) AND (A_hour < 12)) ; Se for entre 06:00:00 e 11:59:59 será bom dia.
{
msgbox % "Bom dia!"
}
Else if ((A_hour >= 12) AND (A_hour < 18)) ; Do contrário, se for entre 12:00:00 e 17:59:59 será boa tarde.
{
msgbox % "Boa tarde!"
}
else If ((A_hour >= 18) OR (A_hour <= 5)) ; Aqui poderia ser simplesmente um Else também. Se for maior-que 18:00:00 OU se for menor-que 06:00:00, será boa noite.
{
msgbox % "Boa noite!"
}
Return[/code]
:arrow: Se você quiser construir um código que verifique os minutos (por exemplo, 12:00:59 sendo bom dia e 12:01:00 sendo boa tarde), isso também é possível, mas a árvore de condicionais ficaria bem mais extensa, porque a hora e os minutos teriam que ser considerados em várias condições conjuntas.
Exemplo: para designar bom dia entre 06:01:00 e 12:00:59 você poderia fazer assim:
[code]If (((A_hour = 6) AND (A_Min >= 1)) OR ((A_hour > 6) AND (A_hour < 12)) OR ((A_hour = 12) AND (A_Min < 1)))
{
msgbox % "Bom dia!"
}[/code]
Isso porque:
1. [c]hora = 6 e minuto >=1[/c] pegaria de 06:01:00 até 06:59:59.
2. [c]hora > 6 e hora < 12[/c] pegaria de 07:00:00 até 11:59:59.
3. [c]hora = 12 e minuto < 1[/c] pegaria de 12:00:00 até 12:00:59.
Como cada uma das 3 é uma condição conjunta, usamos operadores lógicos E (AND) [color=red][b]dentro[/b][/color] delas.
Como QUALQUER das condições conjuntas acima ocasionará um bom dia, usamos operadores lógicos OU (OR) [color=red][b]entre[/b][/color] elas.
Espero ter ajudado, se ainda tiver alguma dúvida, basta postar abaixo :thumbup: