GARANTIR DESCONTO

Fórum Controlar o tempo de uso do meu sistema #193813

09/11/2003

0

olá Amigos (2 problemas para completa meu sistema)
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

Wagner

Responder

Posts

09/11/2003

Marcelo.c

Acredito que o tópico abaixo será bem instrutivo para o que pretende:

http://delphiforum.icft.com.br/forum/viewtopic.php?t=23765&highlight=crackeado


Responder

Gostei + 0

09/11/2003

Wagner

Valeu Marcelo, :lol:

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


Responder

Gostei + 0

09/11/2003

Edilcimar

uma maneira simples porém fácil de ser crackeada
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


Responder

Gostei + 0

09/11/2003

Wagner

Coloquei da seguinte forma mais não certo, o que eu estou fazendo de errado?


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´


Responder

Gostei + 0

10/11/2003

Dinorvm

Olá, amigo...

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?


Responder

Gostei + 0

29/11/2003

Wagner

DinoRVM, Desculpe-me meu computador deu problema na placa mãe tive que trocar, passei muito tempo sem acessar o forum e ver as dicas so agora conseguir resolver o problema do computador.

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;


Responder

Gostei + 0

30/11/2003

Wagner

Nada ainda..


Responder

Gostei + 0

01/12/2003

Ricvictor

Olá Wagner ...

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.


Responder

Gostei + 0

06/12/2003

Wagner

Valeu colega, vou tentar agora...qualquer coisa te aviso...


Responder

Gostei + 0

06/12/2003

Wagner

Caro colega, fiz dessa forma, mais ainda nao deu muito certo, mais acho que o caminho e esse, o que mais tenho que fazer? quando executo ele entra da seguinte forma com a mensagem ´ falta 1/9/1900 para o programa expirar´


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;


Responder

Gostei + 0

07/12/2003

Richard Lima

olá...

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!


Responder

Gostei + 0

07/12/2003

Edilcimar

no exemplo que dei do natal para outra pessoa vc deve declarar
data : Tdate;
Dias : integer


Responder

Gostei + 0

07/12/2003

Glaubergs

uma maneira simples porém fácil de ser crackeada 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


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 ... ??


Responder

Gostei + 0

07/12/2003

Edilcimar

para crackear é a coisa mais fácil, use um editor hexa procure pela data
25/12/2003 e substituia-a por 25/12/3000, pronto vc morre e o programa continua funcionando


Responder

Gostei + 0

13/12/2003

Wagner

Desculpe-me a insistência e a falta de conhecimento, mais estamos aqui para procurar quem sabe mais e aprender. O negocio e o seguinte ainda não consegui acerta, daí resolvi fazer da seguinte forma criei uma tabela com um cada data inicio e data limite, e ai vou diminuindo as datas e mostrar quantos dias faltam para o programa expirar e fiz dessa forma, só que da os erros abaixo. O que eu estou fazendo de errado? ou dessa forma que estou fazendo não e correto? ou não da pra fazer? Alguém pode me ajudar?

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´


Responder

Gostei + 0

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

Aceitar