Random com varios TEdit...
11/01/2023
0
Estou querendo fazer um random de uma constante dentro do Delphi
No exemplo abaixo estou conseguindo fazer
procedure TForm1.Button1Click(Sender: TObject); CONST valores : array [0..6] of string = (''1'', ''2'', ''3'', ''4'', ''5'', ''6'', ''7''); begin Label1.Text := valores[Random(6)]; end;
Até ai tudo bem. Acontece que dessa forma fica os valores fixos.
Gostaria de saber se tem como eu fazer utilizando TEdit. Tentei da forma abaixo mais não tive êxito
procedure TForm1.Button2Click(Sender: TObject); CONST valores : array [0..6] of string = (Edit1.Text, Edit2.Text, Edit3.Text, Edit4.Text, Edit5.Text, Edit6.Text, Edit7.Text); begin Label2.Text := valores[Random(6)]; end;
Dessa forma o valor que eu colocar dento de cada Edit, ao clicar no botão me retornaria o valor digitado. Esta me retornando erro ao compilar >> Constant expression expected .
Rubens Pena
Post mais votado
12/01/2023
procedure TForm1.Button2Click(Sender: TObject); vat valores : array [0..6] of string; begin valores[0] := Edit1.Text; valores[1] := Edit2.Text; valores[2] := Edit3.Text; valores[3] := Edit4.Text; valores[4] := Edit5.Text; valores[5] := Edit6.Text; valores[6] := Edit7.Text; Label2.Text := valores[Random(6)]; end;
Emerson Nascimento
Mais Posts
12/01/2023
Arthur Heinrich
Além disso, no seu código o array possui 7 posições, de 0 a 6. Ao utilizar o Random(6), você obterá valores que vão de 0 a 5, nunca selecionando a última opção no array.
Você também pode utilizar um memo, para carregar os valores, um por linha, podendo utilizar:
Label2.Text := Memo.Lines[Random(Memo.Lines.Count)];
13/01/2023
Rubens Pena
procedure TForm1.Button2Click(Sender: TObject); vat valores : array [0..6] of string; begin valores[0] := Edit1.Text; valores[1] := Edit2.Text; valores[2] := Edit3.Text; valores[3] := Edit4.Text; valores[4] := Edit5.Text; valores[5] := Edit6.Text; valores[6] := Edit7.Text; Label2.Text := valores[Random(6)]; end;
Obrigado mestre Emerson Nascimento, funcionou.
13/01/2023
Rubens Pena
Além disso, no seu código o array possui 7 posições, de 0 a 6. Ao utilizar o Random(6), você obterá valores que vão de 0 a 5, nunca selecionando a última opção no array.
Você também pode utilizar um memo, para carregar os valores, um por linha, podendo utilizar:
Label2.Text := Memo.Lines[Random(Memo.Lines.Count)];
Obrigado mestre Arthur Henrique, seu exemplo funcionou, acabei de ter uma nova ideia. E obrigado pela explicação.
Clique aqui para fazer login e interagir na Comunidade :)