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

Duvida com Random


C.J.

Pergunta

Bom achei um code na internet...

procedure TForm1.Button1Click(Sender: TObject);

var

i: integer;

const

str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';

max = 6;

begin

Edit1.Text := '';

for i := 1 to max do

Edit1.Text := Edit1.Text + str[random(length(str))+1];

edit2.Text:='.....';

end;

como eu adapto ele para gerar a quantidade caracteres que estiver em um edit??

e tambem se tem como usar random para gerar palavras

ex:

Pera

Maça

Abraços

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

C.J.

Para voce gerar a quantidade de caracteres que exitem em um Edit, voce deve usar a cláusula (length), assim:

Edit1.text:= length(Edit2.text);

E para gerar palavras de forma randomica, existem varias formas, voce quer gerar palavras escolhendo randomicamente os caracteres ou escolher palavras inteiras randomicamente?

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
C.J.

Para voce gerar a quantidade de caracteres que exitem em um Edit, voce deve usar a cláusula (length), assim:

Edit1.text:= length(Edit2.text);

E para gerar palavras de forma randomica, existem varias formas, voce quer gerar palavras escolhendo randomicamente os caracteres ou escolher palavras inteiras randomicamente?

Abraço

É escolher palavras inteiras ;D

e vo testa o que você me falo

Abraços

é eu coloco o code q você me passo em q local?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, pra escolher randomicamente palavras enteiras voce deve usar um dandomize no começo do seu programa, pra poder randomizar os dados de uma base de dados ou de um array, assim:

procedure TForm1.Button1Click(Sender: TObject);
var
  a: integer;
const
  n: array[1..4] of integer = (1,2,3,4);
  palavras: array[1..4] of String = ('pão','cachorro','mão','pé');
begin
  randomize;
  Edit1.Clear;
  a:= random(n[4]);
  Edit1.Text:= palavras[a];
end;

Nesse caso eu executo a operação quando eu clico em um botão.

Onde o código vai ficar depende de como voce vai acionar essa funcionalidade, pode ser em um Button, ou até mesmo quando o Form for criado.

falou Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Esse codigo gera senhas aleatorias

procedure TForm1.Button1Click(Sender: TObject);

var

i: integer;

const

str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';

max = 6;

begin

Edit1.Text := '';

for i := 1 to max do

Edit1.Text := Edit1.Text + str[random(length(str))+1];

edit2.Text:='.....';

end;

so q em vez do MAX = 6;

eu quero q ele gera a quantidade que estiver em um edit...

e a das palavras vo testar

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Vode deve atribuir o valor a MAX, logo MAX tem que ser uma variável e não uma constante, assim:

procedure TForm1.Button1Click(Sender: TObject);
var
  max,i: integer;
const
  str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
begin
  max := length(Edit1.Text);
  Edit1.Text := '';
  for i := 1 to max do
    Edit1.Text := Edit1.Text + str[random(length(str))+1];
  edit2.Text:='.....';
end;

Do jeito que está ai de início ele não retorna nada, porque voce deve colocar algum texto no Edit para ele pegar o tamanho, então rode esse código, escreva algo no Edit e gere uma senha.

Abraço

Editado por Victor_DF
Link para o comentário
Compartilhar em outros sites

  • 0

Gerador de Senhas

function GeraSenha (aQuant: integer): string;
var
  i: integer;
const
  str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
begin
  for i:= 1 to aQuant do
  begin
    Randomize;
    sleep(100);
    Result := Result + str[Random(Length(str))+1];
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Edit1.Text := GeraSenha(5); // o nº 5 é o total de caracteres que a senha deverá ter
end;

abraço

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...