Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qua Out 30, 2019 12:12 am Assunto: Dúvida com Nome/Índice de imagem |
|
|
Estou inserindo algumas imagens em meu formulário e estou retirando o endereço das imagens de um listbox. Até aí, tudo bem.
Porém eu gostaria de saber se é possível automatizar. Tenho os arquivos image1, image2, image3... até image10 inserido no formulário. Todos estão invisíveis e ao clicar em um botão, seto o endereço das imagens e seto como visível.
Gostaria de saber se é possivel automatizar, algo nesse estilo
image[i].picture.loadfromfile(endereco);
onde o i percorre de 1 até 10, e vai inserindo os endereços nas respectivas imagens. Não estou conseguindo fazer correr o i pelo nome das imagens. |
|
Voltar ao Topo |
|
 |
ric_rio2 Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018 Mensagens: 108
|
Enviada: Qua Out 30, 2019 7:25 am Assunto: |
|
|
Bom dia rgtt1552..
Pelo que eu entendi de sua necessidade ficaria assim..:
Código: | procedure TFo_Main.Button2Click(Sender: TObject);
Var
A,B : Integer;
begin
For B := 0 to ListBox1.Count -1 do
begin
For A:= 0 To ComponentCount - 1 do
begin
If (Components[A] is TImage) then
begin
If (Components[A] As Timage).Picture.Bitmap.Empty then
begin
(Components[A] As Timage).Picture.LoadFromFile(ListBox1.Items.Strings[B]);
Break;
end
end
end
end |
Espero que seja isso.. Caso eu não tenha entendo ou qualquer outra duvida é só falar.
Abraços  |
|
Voltar ao Topo |
|
 |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qua Out 30, 2019 9:24 am Assunto: |
|
|
Praticamente isso. Único porém é que ele está associando a todos images a mesma imagem e não a lista do listbox1. |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Out 30, 2019 11:09 am Assunto: |
|
|
Teste o código abaixo:
Código: | var
i: Integer;
begin
for i := 0 to 9 do
if FileExists(ListBox1.Items[i]) then
begin
TImage(Self.FindComponent('Image' + IntToStr(i + 1))).Picture.LoadFromFile(ListBox1.Items[i]);
TImage(Self.FindComponent('Image' + IntToStr(i + 1))).Visible := True;
end;
end; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
ric_rio2 Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018 Mensagens: 108
|
Enviada: Qua Out 30, 2019 11:09 am Assunto: |
|
|
Oi..
Você esta dizendo que o código que postei esta fazendo isso.. ou é o que você quer que faça??
O código que postei eu fiz aqui e testei.. esta legal..
Se ele não esta fazendo corretamente ai , minha pergunta é.. existe mais alguma "variavel" que tu não informou?
O listbox com os endereços corretos?
Qualquer coisa fala..
Caso necessário te envio o fonte  |
|
Voltar ao Topo |
|
 |
rgtt1552 Novato

Registrado: Quarta-Feira, 30 de Outubro de 2019 Mensagens: 17
|
Enviada: Qua Out 30, 2019 4:03 pm Assunto: |
|
|
ric_rio2, exatamente, o seu código, aqui pra mim, inseria a mesma imagem em todos os images.
natanbh1, o seu código funcionou.
Muito obrigado pela ajuda de ambos.  |
|
Voltar ao Topo |
|
 |
|