Fórum gerando e recebendo código #346223

18/09/2007

0

amigos, devido meu tópico anterior ter sido excluido pelos moderadores por apresentar risco ao planeta terra, vou colocar em outras palavras aqui a duvida...

preciso criar duas rotinas que se conversem...

- na primeira rotina eu teria que gerar um codigo (serial) em um formulário. esse código teria que ser randomico, ou seja, cada vez que eu clicasse no botao ´gerar serial´ ele gerasse um serial diferente.

- a segunda seria o formulário propriamente dito que receberia esse código gerado na primeira rotina e reconheceria ele caso ele fosse algum dos seriais gerados na primeira rotina.

bom pra começar, criei algo bem simples, porem tem um problema, a segunda rotina só aceita o primeiro código gerado pela primeira rotina, quando deveria aceitar todos...

unico componente de terceiros utilizado: TVDOHDDSerial (aqui no forum tem o link pra baixar ele)

segue a ideia inicial abaixo:

[b:22da056384]Rotina 1 (gera o código)[/b:22da056384]
var
i:integer;
const
str=´1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ´;
max=12;
begin

  // Serial do HD
  Edit_HD.Text := SerialHD.SerialNumber;

  // random
  Edit_Gera.Text := ´´;
  for i:=1 to max do
  Edit_Gera.Text := Edit_gera.Text+str[random(length(str))+1];

  // Resultado
  Edit_R.text := ´´;
  For i:=1 to length(Edit_HD.Text) do
  begin
    Edit_R.text:=Edit_R.text+copy(Edit_HD.text,i,1);
    Edit_R.text:=Edit_R.text+copy(Edit_Gera.text,i,1);
  End;

end;




[b:22da056384]Rotina 2 (recebe o código)[/b:22da056384]
var
i:integer;
const
str=´1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ´;
max=12;
begin

  // Serial do HD
  Edit_HD.Text := Serial_HD.SerialNumber;

  // random
  Edit_Gera.Text := ´´;
  for i:=1 to max do
  Edit_Gera.Text := Edit_gera.Text+str[random(length(str))+1];

  // Resultado
  Edit_R.text := ´´;
  For i:=1 to length(Edit_HD.Text) do
  begin
    Edit_R.text:=Edit_R.text+copy(Edit_HD.text,i,1);
    Edit_R.text:=Edit_R.text+copy(Edit_Gera.text,i,1);
  End;

  // o edit_ativa é o cara onde coloco o serial gerado na primeira rotina 
  if edit_Ativa.Text = Edit_R.text then
  ShowMessage(´Código certo.´)

    else
       ShowMessage(´Código Errado.´);
end;


se alguem puder dar uma mao....
abraços a todos!!!


Mahdak

Mahdak

Responder

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

Aceitar