data de validade expiraçao em codigo

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: data de validade expiraçao em codigo

Re: data de validade expiraçao em codigo

Post by Gio » 04 Oct 2019, 16:47

Boa tarde EduPAIVA007.

O check pode ser feito sempre (e quando) você quiser. Se quiser verificar a cada intervalo de tempo X, basta colocar a rotina de verificação em uma label e chamá-la a cada intervalo de tempo X com o comando SetTimer.

Mas usualmente isso não é feito. Quase todo programa comercial que conheço verifica licença apenas no início da execução (até porque um programa dificilmente rodaria 15 dias sem crashar).

Exemplo (verificar no início da execução e também a cada hora):

Code: Select all

Gosub, VERIFICAR_A_DATA ; Verifica no início da execução
SetTimer, VERIFICAR_A_DATA, 3600000 ; Verifica a cada hora de execução

; Aqui vai o restante do script

Return


VERIFICAR_A_DATA:
DATA_ATUAL := A_YYYY . A_MM . A_DD
DATA_VALIDADE := "20190830"
If (DATA_ATUAL > DATA_VALIDADE)
{
	ExitApp ; Encerra o script se estiver vencido.
}
Return

Re: data de validade expiraçao em codigo

Post by eduPAIVA007 » 04 Oct 2019, 14:35

Legal essa função, eu estava pensando se tem como fazer um check com ela, quando o programa está aberto...

pq nesse caso ai a pessoa poderia abri-lo e deixar aberto por 15 dias e ele continuaria funcionando mesmo com o tempo expirado NAO é?!

Re: data de validade expiraçao em codigo

Post by feraholy » 27 Aug 2019, 16:48

Muito obrigado deu certinho, eu consegui adicionar o de data do windows agora vou estudar esse codigo que usa a internet MUITÍSSIMO OBRIGADO!!! :thumbup: :bravo:

Re: data de validade expiraçao em codigo

Post by Gio » 27 Aug 2019, 15:46

Bom tarde Ferahol.

Seja bem-vindo ao fórum da comunidade do AutoHotkey.

Para comparar datas sugiro usar sempre o formato AAAAMMDD.
Este formato é composto de:
Ano com 4 dígitos, seguido do mês com 2 dígitos, seguido do dia com 2 dígitos.
Exemplo: 20190827 -> 27 de agosto de 2019

A razão de usar esse formato é que uma data maior sempre se converte em um número maior, então a comparação pode ser direto na expressão usando os comparadores maior-que, menor-que e igual-a.

Depois disso, comparar uma data com a data de validade é algo tão simples quanto usar uma expressão condicional if.

:arrow: No código abaixo a data atual é obtida do relógio do windows (usando as variáveis embutidas A_YYYY, A_MM e A_DD) e depois comparada com a data 30/08/2019. Se a comparação for maior, o script estará vencido. Se não for, estará válido. Você pode testar o código mudando a data do windows no seu computador.

Code: Select all

DATA_ATUAL := A_YYYY . A_MM . A_DD
DATA_VALIDADE := "20190830"
If (DATA_ATUAL > DATA_VALIDADE)
{
	msgbox % "Script vencido!"
}
else
{
	msgbox % "Script dentro da validade !"
}
:arrow: O único problema do código acima você já deve ter percebido: basta mudar a data do computador para o script voltar a ser válido. Então se você está preocupado com essa possibilidade sugiro usar uma data obtida online. Isso vai fazer seu script necessitar de conexão à internet, portanto você deve decidir se vale a pena ou não.

Code: Select all

FileDelete, %A_ScriptDir%/DVer.txt
URLDownloadToFile, http://worldclockapi.com/api/json/est/now, %A_ScriptDir%/DVer.txt
FileRead, ARQUIVO_BAIXADO, %A_ScriptDir%/DVer.txt
RegExMatch(ARQUIVO_BAIXADO, "\d\d\d\d-\d\d-\d\d", DATA_ATUAL)
DATA_ATUAL_FORMATADA := SubStr(DATA_ATUAL, 1, 4) . SubStr(DATA_ATUAL, 6, 2) . SubStr(DATA_ATUAL, 9, 2)
If DATA_ATUAL_FORMATADA is not time
{
	msgbox % "Não foi possível verificar a validade"
	Return
}
If (DATA_ATUAL_FORMATADA < "20190831") ; Use um dia a mais, do contrário a validade encerra às 00:00 do dia 30.
{
	msgbox % "Script válido!"
	Return
}
else
{
	msgbox % "Script já venceu !!"
	Return
}
:arrow: No código acima, a rotina para o caso do script ser válido seria escrita entre o msgbox % "Script válido" e o return seguinte. Como a data é obtida online, a maneira que você teria de testar um script desse é alterar a data que você está comparando no próprio código e ver se a comparação muda para vencido. O script acima necessita de conexão à internet e depende de um serviço online hospedado em worldclockapi.com, mas creio que isso não é um problema, pois dificilmente este serviço vá sumir nos próximos 3 dias (se você caiu aqui nesse tópico meses depois deste post, vale a pena testar se o script ainda funciona !).

Espero ter ajudado, se tiver algum problema para implementar, basta postar abaixo :thumbup:

data de validade expiraçao em codigo

Post by feraholy » 27 Aug 2019, 03:37

Olá, comecei a 2 dias a mexer com o autohotkey eu peguei alguns scripts já prontos como no-recoil e auto click estou tentendo montar uma serie de script de jogos fps em um unico codigo eu quero criar macros para crossfire e por no meu canal do youtube mais to querendo por validade por exemplo eu libero ele hoje no meu canal para 3 dias ai daqui 3 dias eles tem que ir no canal para baixar novamente o script com data atualizada gostaria de saber se alguem pode me ajudar com um codigo basico para quando der tal dia dd/MM/aaaa por exemplo dia 30/08/2019 eles nao poderem usar mais e terem que ir no meu canal para baixar novamente.

Grato dês de ja! :wave: :wave:

Top