C.J. Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 Bom achei um code na internet...procedure TForm1.Button1Click(Sender: TObject);vari: integer;conststr = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';max = 6;beginEdit1.Text := '';for i := 1 to max doEdit1.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 palavrasex:PeraMaçaAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victor_DF Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 C.J. Postado Julho 30, 2009 Autor Denunciar Share Postado Julho 30, 2009 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 ;De vo testa o que você me faloAbraçosé eu coloco o code q você me passo em q local? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victor_DF Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 C.J. Postado Julho 30, 2009 Autor Denunciar Share Postado Julho 30, 2009 em que local eu coloco o code:Edit1.text:= length(Edit2.text); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victor_DF Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 Para que você quer a quantidade de caracteres de um Edit?Se possível poste o código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 C.J. Postado Julho 30, 2009 Autor Denunciar Share Postado Julho 30, 2009 Esse codigo gera senhas aleatoriasprocedure TForm1.Button1Click(Sender: TObject);vari: integer;conststr = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';max = 6;beginEdit1.Text := '';for i := 1 to max doEdit1.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 testarabraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victor_DF Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 então você deve atribuir a quantidade de caracteres do Edit na variável MAX, assim:MAX:= length(Edit1.text);Ai ele já usa como máximo a quantidade que já existe no Edit...Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 C.J. Postado Julho 30, 2009 Autor Denunciar Share Postado Julho 30, 2009 não funcionou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Victor_DF Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 (editado) 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 Julho 30, 2009 por Victor_DF Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 30, 2009 Denunciar Share Postado Julho 30, 2009 Gerador de Senhasfunction 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
C.J.
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
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.