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