Fórum Sortear imagens dentro de TImagem? #325364
14/07/2006
0
O que eu gostaria é de saber se tem como sortear 6 figuras que estaum dentro desta pasta e jogar em 6 TImagem que estaum dentro de um form. Naum podendo repetir a cada sorteio as mesmas figuras nestes 6 TImagens.
Penso eu que é feito com randomize, mais naum sei como se fazer.
Se alguem puder mi ajudar ficarei grato.
Jlimajr
Curtir tópico
+ 0Posts
14/07/2006
Night_man
var Veses: Integer; Sorteado: String; JaSorteados: TStrings; begin JaSorteados := TStringList.Create; try for Veses := 1 to 6 do begin repeat Sorteado := IntToStr(RandomRange(1, 40)); until (JaSorteados.IndexOf(Sorteado) < 0); JaSorteados.Add(Sorteado); (FindComponent(´Imagem´ + IntToStr(Veses)) as TImage).Picture.LoadFromFile(´Arquivo´ + Sorteado + ´.bmp´); end; finally JaSorteados.Free; end;
Gostei + 0
14/07/2006
Jlimajr
Sorteado := IntToStr(RandomRange(1, 40));
está dando erro
Gostei + 0
14/07/2006
Adriano Santos
Sorteado := IntToStr(RandomRange(1, 40));
Use Random no lugar.
Gostei + 0
14/07/2006
Jlimajr
Sorteado := IntToStr(Random(40));
Passou na hora de compilar mais quando pesso para sortear, da erro ´Access violation address 0045EE09 in module Project1.exe Read of address 00000128´ e aponta para esta linha.
FindComponent(´Imagem´ + IntToStr(Veses)) as TImage).Picture.LoadFromFile(´Arquivo´ + Sorteado + ´.bmp´);
Gostei + 0
14/07/2006
Jlimajr
Sorteado := IntToStr(Random(40));
Passou na hora de compilar mais quando pesso para sortear, da erro ´Access violation address 0045EE09 in module Project1.exe Read of address 00000128´ e aponta para esta linha.
FindComponent(´Imagem´ + IntToStr(Veses)) as TImage).Picture.LoadFromFile(´Arquivo´ + Sorteado + ´.bmp´);
Gostei + 0
14/07/2006
Night_man
assim, random(40), vai sortear um numero >= 0 e <= 39,
pode ser tb, mas dai faz random(40) + 1
Como q eu escrevo VeSes... e ninguem me avisa,
o anarfabetico....
[]´s
Gostei + 0
14/07/2006
Jlimajr
Código:
FindComponent(´Imagem´ + IntToStr(Veses)) as TImage).Picture.LoadFromFile(´Arquivo´ + Sorteado + ´.bmp´);
Porque da erro aqui assim:
´Access violation address 0045EE09 in module Project1.exe Read of address 00000128´
Poderia me dizer o que seria ´Imagem´ e ´Arquivo´. sorteado
Gostei + 0
14/07/2006
Night_man
1º) ´´Imagem´, eh o nome do componente TImegem,
tu deve ter Image1, Image2, Image3, Image4, Image5, Image6,
Se for assim coloque ´Image´ no lugar do ´Imagem´
essa funcao Findcomponent, vai retornar um componente com o nome passado como parametro.
por exemplo findcomponent(´Form1´), vai retornar o componente que tenha como nome Form1.
2º) ´Arquivo´ eh o nome do arquivo, q no teu caso eh ´Figura´, ou seja, carregar o arquivo Figura20.bmp, se o nº 20 for o sorteado.
Gostei + 0
14/07/2006
Jlimajr
Cara ficou o bixo mano.
Perfeito, melhor estraga... :D
Fico grato por me ajudar NiGHT_MaN
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)