Fórum Controlar o tempo de uso do meu sistema #193813
09/11/2003
0
Um eu já resolvi, o outro resolvi abrir outro topico
Eu queria o seguinte:
colocar uma linha no meu projeto que verifique o tempo de uso do cliente tipo 45 dias de uso e com 30 dias o sistema colocava uma mensagem tipo ´voce so tem mais 15 dias de uso providencie atualização´ deu pra entender (por favor sou iniciante se tiver a dica me de com detalhes onde devo colocar, como usar e etc..)
Desde já agradeço
Wagner
Wagner
Curtir tópico
+ 0Posts
09/11/2003
Marcelo.c
http://delphiforum.icft.com.br/forum/viewtopic.php?t=23765&highlight=crackeado
Gostei + 0
09/11/2003
Wagner
Serviu para saber mais sobre o que eu quero, mais ainda não sei como fazer!!!! :cry: O que eu queria era alguma coisa simples mais segura tipo comparação de datas e exibir uma mensagem de alerta ao usuario.
Um abraço
Wagner
Gostei + 0
09/11/2003
Edilcimar
Data := Date()
If data > StrToDate(´25/12/2003´) then
begin
showmessage(´O natal já passou, o programa não funciona mais´);
application.terminate;
end
else
begin
Dias := StrToDate(´25/12/2003´) - Data;
showmessage(´faltam ´ + IntToStr(Dias) + ´ para o programa expirar´);
end;
e coloque isto na criação do form principal da aplicação
Gostei + 0
09/11/2003
Wagner
procedure TForm1.FormCreate(Sender: TObject);
begin
Data := Date()
If data > StrToDate(´15/11/2003´) then
begin
showmessage(´Esgotou sua licença de uso´);
application.terminate;
end
else
begin
Dias := StrToDate(´09/11/2003´) - Data;
showmessage(´faltam ´ + IntToStr(Dias) + ´ para o programa expirar´);
end;
Ocorreu os seguintes erros
[Error] Menu.pas(292): Undeclared identifier: ´Data´
[Error] Menu.pas(293): Missing operator or semicolon
[Error] Menu.pas(300): Undeclared identifier: ´Dias´
[Fatal Error] Locadora.dpr(22): Could not compile used unit ´Menu.pas´
Gostei + 0
10/11/2003
Dinorvm
Primeiro, vc esqueceu de declarar as variáveis:
procedure TForm1.FormCreate(Sender: TObject);
[color=red:3dd224e24f]var Data, Dias : TDateTime;[/color:3dd224e24f]
begin
Segundo, faltou ´;´:
Data := Date()[color=red:3dd224e24f];[/color:3dd224e24f]
If data > StrToDate(´15/11/2003´) then
begin
showmessage(´Esgotou sua licença de uso´);
application.terminate;
end
else
begin
Dias := StrToDate(´09/11/2003´) - Data;
showmessage(´faltam ´ + IntToStr(Dias) + ´ para o programa expirar´);
end;
Tenta aí...
Valew?
Gostei + 0
29/11/2003
Wagner
Bom vamos lá!
Fiz dessa forma mais ainda nao consegui entender o grifado (dias) esta dando um erro. Com relação a primeira parte funcionou, quando a data e maior do que a do sistema ele encerra o programa, mais quanto a avisar que o prazo esta se esgotando eu não entendi. Se eu troco (dias) por, digamos (15) ele da a mensagem ´faltam 15 para o programa expirar´
pode me ajudar novamente. O que estou fazendo de errado. obrigado
procedure TForm1.FormCreate(Sender: TObject);
var Data, Dias : TDateTime;
begin
Data := Date();
If data > StrToDate(´15/11/2003´) then
begin
showmessage(´Esgotou sua licença de uso´);
application.terminate;
end
else
begin
Dias := StrToDate(´09/11/2003´) - Data;
showmessage(´faltam ´ + IntToStr[u:8c1e20a005](Dias)[/u:8c1e20a005] + ´ para o programa expirar´);
end;
Gostei + 0
30/11/2003
Wagner
Gostei + 0
01/12/2003
Ricvictor
Eu estava dando uma sacada quanto a tua dúvida e percebi que no último showmessage ...
showmessage(´faltam ´ + IntToStr(Dias) + ´ para o programa expirar´);
... provavelmente esteja dando um erro pra você. Você já disse que se você colocar o número ´15´ ao invés de ´Dias´, o seu programa roda uma maravilha, mas se você deixar ´Dias´ ele já não funciona mais. Somente observe uma coisa:
Você já declarou a variável ´Dias´ como TDateTime ... Blz. Mas na hora de passar o valor da variável para o showmessage você está dizendo que ela é um inteiro, justamente o que não deve acontecer. Então, ao invés de
[b:2dd9fc6709]IntToStr(Dias)[/b:2dd9fc6709] ... coloque [b:2dd9fc6709]Date[/b:2dd9fc6709]ToStr(Dias) !!!
Ok ?! Um abraço.
Ricardo - Natal/RN.
Gostei + 0
06/12/2003
Wagner
Gostei + 0
06/12/2003
Wagner
procedure TForm1.FormCreate(Sender: TObject);
var Data, Dias : TDateTime;
begin
Data := Date();
If data > StrToDate(´16/12/2003´) then
begin
showmessage(´Atenção! Esgotou sua licença de uso, Contacte o programador responsavel´);
application.terminate;
end
else
begin
Dias := StrToDate(´16/12/2003´) - Data;
showmessage(´Faltam ´ + dateToStr(dias)+ ´ para o programa expirar´);
end;
end;
Gostei + 0
07/12/2003
Richard Lima
existem alguns exemplos interessantes sobre como manipular diferenças de datas e horas em http://www.delphibr.com.br/exemplos.php
espero ter ajudado..
um abraço!
Gostei + 0
07/12/2003
Edilcimar
data : Tdate;
Dias : integer
Gostei + 0
07/12/2003
Glaubergs
A sua sugestão funciona edilcimar, mas agora eu fiquei curioso. Como crackear isso ?? Imagino que seja fácil mesmo, mas como eles fariam isso ??
Neste caso acho q só mudando a data no sistema operacional jah acaba com o problema, mas e em casos que ficam registrados dados em outros lugares, tipo no registro ou em DLLs ... ??
Gostei + 0
07/12/2003
Edilcimar
25/12/2003 e substituia-a por 25/12/3000, pronto vc morre e o programa continua funcionando
Gostei + 0
13/12/2003
Wagner
procedure TForm1.FormCreate(Sender: TObject);
var Data : TDatetime;
var dias : integer;
begin
Data := Date();
If data > StrToDate(´25/12/2003´) then
begin
showmessage(´mensagem de aviso´);
application.terminate;
end
else
begin
dias := strtodate(trunc(f_uso.t_uso[´datalimite´] - f_uso.T_uso[´datainicio´]));
showmessage(´faltam ´ + datetostr(Dias) + ´ Dias para o programa expirar´);
end;
[Error] Menu.pas(315): Incompatible types: ´String´ and ´Int64´
[Fatal Error] Locadora.dpr(23): Could not compile used unit ´Menu.pas´
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)