Boa tarde Lazyyy.
Eu imagino que o AHK não tenha um comando pra aleatorização
Tem sim, é o comando
Random. Ele seleciona um número aleatório entre um mínimo e um máximo que você mesmo define.
Exemplo: O script abaixo exibe 5 números aleatórios entre 1 e 10.
Code: Select all
Loop 5
{
Random, NUMERO_SORTEADO, 1, 10 ; Aqui realizamos o sorteio.
msgbox % NUMERO_SORTEADO ; e aqui exibimos o resultado.
}
Return
Se você executar o script várias vezes, verá que a sequência sempre muda.
OBS: como qualquer outro software gerador de número aleatórios, estes números na verdade são pseudo-aleatórios. Mas você pode confiar neles como se fossem aleatórios porque eles possuem as principais propriedades dos números aleatórios (exemplo: qualquer valor possível tem a mesma chance de ser escolhido no sorteio e o processo de escolha é altamente imprevisível).
Não sei se ficou claro, mas, eu não preciso que essa aleatorização seja escrita, só preciso do script pegando o último minuto das horas e transformando num sinal ou um txt. O resto eu consigo fazer.
Bem, creio que a informação acima talvez já mude as coisas, mas isso que você quer também é fácil de fazer. O Autohotkey tem variáveis embutidas que contém os componentes de data e hora atual do computador. Por exemplo, para exibir o segundo atual você usaria a variável embutida
A_Sec. E se você só quiser o último dígito, então pode usar a função embutida
SubStr() para isolá-lo.
Exemplo: O script abaixo exibe 50x o último dígito do segundo atual do relógio do computador (aperte várias vezes bem rápido o botão da caixa de mensagem para ver o efeito dos segundos passando).
Code: Select all
Loop 50
{
msgbox % SubStr(A_Sec, 0, 1)
}
Para ver as outras variáveis embutidas com componentes de data e hora disponíveis basta ir
nesta página dos arquivos de ajuda.
OBS: Outra opção que talvez seja ainda melhor é pegar o último dígito do tick atual do computador. O tick é a contagem em milisegundos do tempo que o computador permaneceu ligado, então como são milisegundos, usar o seu último dígito vai tornar as coisas com uma aparência até mais aleatória do que o dígito final dos segundos do relógio. A variável embutida
A_TickCount contém a contagem atual dos ticks do computador.
OBS2: Apesar de essa ideia de pegar o último segundo (ou até mesmo o último tick do computador) "parecer" um sorteio aleatório a princípio, ela é bastante inferior ao uso do comando Random. A razão disso é simples: o comando Random implementa um algoritmo reconhecidamente bom em termos estatísticos para as principais qualidades de aleatóriedade, e para isso esse algoritmo precisa fazer muitas operações matemáticas sobre a semente (que é o que vem do relógio). A semente pura por si só não tem essa qualidade de aleatóriedade boa. Isso ocorre porque o relógio (ou os ticks) operam em sequência, então você tem facilmente diferenças nas chances de cada número possível ser sorteado, o que fere uma das propriedades principais dos números aleatórios. Exemplo: Se pegarmos o último segundo, o tempo médio entre as chamadas à rotina de sorteio basicamente determinará o resultado dos sorteios, e isso significa que em uma amostra grande de sorteios seria muito fácil ver um peso na quantidade de escolhas de cada número (representado por uma curva em um gráfico que deveria ser basicamente reto). Este peso, no caso do relógio, pode ser entendido como relacionado à média de tempo entre os sorteios. Se a média entre sorteios for de 10 segundos por exemplo, o mesmo número vai se repetir muitas vezes. Se for de 5 segundos, por outro lado, dois números aparecerão muito mais do que os demais. Se a média for qualquer número par de segundos, então os pares ou os ímpares terão muito mais chances ou vice-versa, dependendo do número escolhido na primeira chamada. Por este motivo, algoritmos de geradores pseudo-aleatórios são muito mais complicados de se criar do que parecem a princípio, e é facil para um leigo achar que determinado algoritmo é suficientemente aleatório olhando alguns resultados, mas uma análise estatística em uma amostra de milhares de escolhas pode revelar rapidamente que não é. Não que não seja possível criar um, é claro: se você tiver um conhecimento muito bom em estatística, pode ir aperfeiçoando um algoritmo até que ele passe nos testes de aleatóriedade mínimos para se considerar um bom gerador pseudo-aleatório.