Ir ao conteúdo
  • Cadastre-se

Verificar se uma imagem está carregada...


elvio.tche

Posts recomendados

olá!

tenho o seguinte código:


if pgcItens.TabIndex=1 then
begin
lblFotoArq.Caption:=cCodComp+'.jpg';
if FileExists(lblFotosPath.Caption+'\'+lblFotoArq.Caption) then
begin
lblFotoArq.Font.Style:=[fsBold];
imgFotoEquip.Picture.LoadFromFile(lblFotosPath.Caption+'\'+lblFotoArq.Caption);
end
else
begin
if *** verificar se existe imagem carregada *** then
begin
imgFotoEquip.Picture.Destroy;
imgFotoEquip.Picture.Free;
end
lblFotoArq.Font.Style:=[fsItalic];
end;
end;

na linha:

if *** verificar se existe imagem carregada *** then

eu gostaria de saber como fazer se a imagem foi carregada ou não???

Como minha experiência é de iniciante em Delphi (versão 7) não encontrei a propriedade do componente que me retorne se tem ou não uma imagem carregada...

A rotina é a seguinte:

tenho mais de 6000 itens cadastrados, em alguns eu quero mostrar a foto do item, pois cada item tem seu próprio código, assim, a foto estará disponível em jpg com o código do mesmo. Se existir a foto, limpa a foto anterior e mostra a nova foto ou apenas lima a área se a foto não existir.

Tentei um os

imgFotoEquip.Picture.Destroy;

imgFotoEquip.Picture.Free;

porém, quando não há foto na memória (componente), dá erro na aplicação.

Grato.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá!

A primeira coisa que você tem em mente é que você não precisa descarregar a imagem para carregar outra logo em seguida: basta carregar a segunda "por cima" da primeira..

Mas, se quiser fazer isso mesmo, tente trabalhar com a propriedade Picture.Bitmap.Empty, por ser mais simples..

Funciona assim: se o TImage não tiver nenhuma imagem a propriedade Empty fica como True

Image.Picture.Bitmap.Empty

Daí você já consegue ;)

Abraços!

Link para o comentário
Compartilhar em outros sites

Olá!

A primeira coisa que você tem em mente é que você não precisa descarregar a imagem para carregar outra logo em seguida: basta carregar a segunda "por cima" da primeira..

Mas, se quiser fazer isso mesmo, tente trabalhar com a propriedade Picture.Bitmap.Empty, por ser mais simples..

Funciona assim: se o TImage não tiver nenhuma imagem a propriedade Empty fica como True

Image.Picture.Bitmap.Empty

Daí você já consegue ;)

Abraços!

Tranquilo!

Acabei fazendo assim:

imgFotoEquip.Picture.Assign(nil); // removendo a foto do objeto

depois, se o arquivo existe, mostra, senão, não faz nada e a área da foto já está limpa tb.

É que nem todos os itens têm fotos relacionadas, por isso, senão ficava a última foto exibida até que trocasse novamente.

Grato pela ajuda, pois testei e tb funcionou.

Também achei um site que tem muitos exemplos e muito bem organizado (na minha opinião, claro!) que é o http://delphi.about.com.

Até a próxima (que não deverá demorar muito)!

:D

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!