Fórum Expirar programa #417048

18/05/2012

0

Estou tendo dificuldades para entender e colocar para funcionar uma função que faça com que o programa expire em determinada data. Pesquisei no forum um montão e tentei implementar esta abaixo que gera um código, e tentei fazer gerar com um n. de CNPJ e uma data. Que funcionou, mas como fazer para inserir esta data depois com o prazo de mais 30 dias.
function GeraCod(Cad: string):string;
const
Chave:string = ´j5Klmljk2hUV4A´;
var
Cod:string;
Pdt,Sm,x,y,w:integer;
Psc: array[1..100] of integer;
begin
for x:=1 to 26 do Cod:=Cod+Chr(64+x)+Chr(123-x);
Cad:=Chave+Cad;
Cod:=Cod+Cad;
for y:=1 to Length(Cad) do
begin
x:=0;
repeat x:=x+1;
until Cad[y]=Cod[x];
Psc[y]:=x;
end;
Sm:=0;
Result:=´´;
y:=Length(Cad);
Cod:=´69ADGJMPSVYX147BEHKNQOTWZ258CF0ILRU3´;
for x:=1 to 4 do
begin
for w:=1 to y do
begin
Pdt:=Psc[w]*(y-w+2);
Sm:=Sm+Pdt;
end;
Sm:=(Sm mod 36)+1;
Result:=Result+Cod[Sm];
y:=y+1;
Psc[y]:=Sm;
Sm:=0;
end;
end;

function GeraSenha(Str: string): string;
begin
Result:=GeraCod(Str);
Result:=Result+´-´+GeraCod(Result);
Result:=Result+´-´+GeraCod(Result);
end;

end.


{Teste do código}

procedure TForm1.FormActivate(Sender: TObject);
begin
Edit1.Text:=(GeraCod(SerialNum(´C´)));
Label1.caption:=´Chave: ´+GeraSenha(Edit1.Text);
end;

{Para testar , digite a Chave no Edit2}

procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit2.Text=GeraSenha(Edit1.Text)then
ShowMessage(´Chave Confere´)else
ShowMessage(´Chave Não Confere´);
end;

Klaus

Klaus

Responder

Posts

19/05/2012

Bruno Leandro

uma ideia seria guardar a chave no banco, ou em um arquivo, ou no registro do windows, são alguns exemplos. ai para atualizar mais trinta dias, voce enviaria um update, ou outro arquivo.
Responder

Gostei + 0

20/05/2012

Klaus

Bruno, a idéia é guardar no BD criptografado, mas preciso entender este codigo e como inserir ele no programa, pois fiz uns testes tentando mudar onde está chave = string= .... e não consegui, gostaria de inserir nesta string uma data atraves de uma edit, que seria a data que iria expirar o programa.
Responder

Gostei + 0

21/05/2012

Ricardo Matarazzo

O que eu geralmente faço é o seguinte, tenho uma funçao que o programa checa toda vez que abre onde verifica dentro do banco mes e ano, se encontrar e se o numero que estiver la bater ao calculo da funçao abre o programa caso contrario solicita a chave para o mês
Responder

Gostei + 0

21/05/2012

Klaus

Ok Ricardo, também acho que seria este o procedimento correto, mas não sei como usar a função acima e gostaria que alguém me explicasse, se não for muito díficil, pois quero usá-la para inserir uma chave no BD (cript) e poder recuperá-la e checar sua validade e inserir uma nova data mes a mes.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar