Ir para conteúdo
Fórum Script Brasil
  • 0

Ajunda Com Função


Legionario

Pergunta

ola pessoal....eu estou com essa função pra gerar senha mas ela so gera senha com numeros e eu queria mudar ela pra trabalhar com numeros e letras mas não estou conseguindo fazer isso...sera que vocês poderiam dar uma olhadinha nela pra mim e ver o que poderia ser mudado pra ela trabalhar com letrar e numeros....

codigo da funcao:

function GeraSenha (ContSenha: String): String;

var

N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14, N15: Integer;

D1, D2, D3, D4, D5: Integer;

begin

N1:= StrToInt(ContSenha[1]); N6:= StrToInt(ContSenha[6]); N11:= StrToInt(ContSenha[11]);

N2:= StrToInt(ContSenha[2]); N7:= StrToInt(ContSenha[7]); N12:= StrToInt(ContSenha[12]);

N3:= StrToInt(ContSenha[3]); N8:= StrToInt(ContSenha[8]); N13:= StrToInt(ContSenha[13]);

N4:= StrToInt(ContSenha[4]); N9:= StrToInt(ContSenha[9]); N14:= StrToInt(ContSenha[14]);

N5:= StrToInt(ContSenha[5]); N10:= StrToInt(ContSenha[10]); N15:= StrToInt(ContSenha[15]);

D1:= (N1 mod 2) + (N2 mod 3) + (N3 mod 2);

D2:= (N4 + 2) + (N5 + 3) - (N6 - 2);

D3:= (N7 * 2) - (N8 div 3) + (N9 div 2);

D4:= (N1 div 2) - (N2 div 3) + (N3 div 2);

D5:= (N1 + 2) + (N2 * 3) + (N3 - 2);

Result:= IntToStr(D5) + IntToStr(D3) + IntToStr(D1) + IntToStr(D2) + IntToStr(D4) + IntToStr(d3 * N11) + IntToStr(N12 + n14*2) + IntToStr(N15) + InttoStr(d2 * (N3 mod 3)) + IntToStr(N8) + InttoStr(N5 + N3 - d3);

end;

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

opa

o que é esse contsenha, seria algo que "a partir" disso é gerada a senha?

ou a senha pode ser qualquer combinação de letras e números...

já que do jeito que você fez ai está mais pra isso....

se puder ser qualquer sequência de caracteres então ai vai um exemplo utilizando random

Function GeraSenha(iLength: Integer): String;

const

BASE = '0123456789abcdefghijklmnopqrstuvwxyz';

var

szBuff: String;

i, ii: integer;

begin

Randomize;

for i := 1 to iLength do

begin

ii := Random(Length(BASE)) + 1;

szBuff := szBuff + BASE[ii];

end;

Result := szBuff;

end;

Em BASE está os caracteres que serão usados, ali você pode definir o que quiser no caso eu usei números de 0 a 9 e letras de A a Z

iLength é o tamanho de caracteres que você quer que retorna...

exemplo pra gerar uma senha com 5 caracteres

var

szstr: string;

begin

szstr := gerasenha(5);

showmessage(szstr);

Se você quiser que a senha seja gerada a partir de um escrita, no caso da sua função seria ContSenha então só você ignorar o BASE e usar ContSenha só que tem que fazer mais modificações, senão exemplo, você quer uma senha de 10 caracteres e passa 3 como base...

entendeu?

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

nessa minha funcao eu estou passando o serial do hd

ex.: Edit2.Text := GeraSenha(Edit1.Text) // no Edit1 tem o serial do hd tipo KJP125H e no Edit2 ela gera uma outra contra senha baseada no serial do hd que esta no Edit1, so que ela não aceita letras so aceita numeros então eu queria fazer ela aceitar letras tambem.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...