Trabalhar com imagens
Olá, estou tentando mais uma vez pq até agora nao consegui fazer isso.. nao sabia q fosse tao dificil trabalhar com imagens no delphi assim.. vou explicar como estou fazendo..
Criei 2 formulários.. um pra inserir os registros e outro pra visualizar... o principal q abre é o de visualizar.. somente por ele eu posso inserir ou editar um registro.. e quando clico nesses botoes, ele abre o novo formulário pra inserir/editar, deixando o de visualizar aberto (com isso tenho a necessidade de, quando fechar esse de novo/editar, o de visualizar atualize, mas isso é o de menos)..
Eu consigo fazer tudo isso.. visualizar, inserir, salvar, concelar, apagar e etc.. a única coisa q nao consigo é inserir uma imagem e visualizar ela.. eu mudei meu bd, e coloquei o link da imagem, ao invés dela própria pra salvar.. e, pra visualizar, quero puxar esse link.. mas kero tb q ele atualize o link e a imagem quando eu for mudando de registro, para a aparecer a imagem correspondente ao registro.. como posso fazer isso? agradeço muito essa ajuda... há, o erro q eu ainda esbarro é q ele sempre da a mensagem dizendo q o Bitmap nao é válido.. as extensoes q quero usar sao .jpg e .jpeg .. somente essas...
Allan Elias Ramos
[b:9c4d18e080][color=red:9c4d18e080]Título editado pelo Moderador (AZ) - Removido: ´É tão dificíl assim?´
Leia as regras.[/color:9c4d18e080][/b:9c4d18e080]
Criei 2 formulários.. um pra inserir os registros e outro pra visualizar... o principal q abre é o de visualizar.. somente por ele eu posso inserir ou editar um registro.. e quando clico nesses botoes, ele abre o novo formulário pra inserir/editar, deixando o de visualizar aberto (com isso tenho a necessidade de, quando fechar esse de novo/editar, o de visualizar atualize, mas isso é o de menos)..
Eu consigo fazer tudo isso.. visualizar, inserir, salvar, concelar, apagar e etc.. a única coisa q nao consigo é inserir uma imagem e visualizar ela.. eu mudei meu bd, e coloquei o link da imagem, ao invés dela própria pra salvar.. e, pra visualizar, quero puxar esse link.. mas kero tb q ele atualize o link e a imagem quando eu for mudando de registro, para a aparecer a imagem correspondente ao registro.. como posso fazer isso? agradeço muito essa ajuda... há, o erro q eu ainda esbarro é q ele sempre da a mensagem dizendo q o Bitmap nao é válido.. as extensoes q quero usar sao .jpg e .jpeg .. somente essas...
Allan Elias Ramos
[b:9c4d18e080][color=red:9c4d18e080]Título editado pelo Moderador (AZ) - Removido: ´É tão dificíl assim?´
Leia as regras.[/color:9c4d18e080][/b:9c4d18e080]
Aersoftware
Curtidas 0
Respostas
Aersoftware
02/05/2004
Fiz algumas modificações e ficou assim..
Estou carregando no evento ´OnShow´ do Form e no ´OnCellClick´ da Grid o seguinte código:
CODE
if MmImagem.Text <> ´´ Then
begin
DbImagem.Picture.LoadFromFile(MmImagem.Text);
end;
Como eu botei o bd pra salvar o link da figura, ele me cria um Memo com o endereço.. entao botei esse memo pra carregar a imagem.. bom, isso da certo quando o formulário é ativado e quando eu clico sobre algum registro na grid.. ele ´atualiza´ a imagem.. mas se, por exemplo, eu navegar pela grid com as setas e nao clicar, ele nao me atualiza.. mantendo a última imagem q apareceu.. eu tentei fazer o seguinte:
CODE
if MmImagem.Text <> ´´ Then
begin
DbImagem.Picture.LoadFromFile(DmDados.TbPersonagemFigura.Text);
end;
Pra carregar a imagem direto do bd como todas as outras informações.. mas quando eu executo o programa, ele me da um erro dizendo:
CODE
Project Proj.exe raised exception class EInvalidGraphic with message ´Unknown picture file extension (.)´. Process Stoped. Use Step or Run to continue.
E aí eu continuo nao conseguindo carregar a imagem do bd no form..
Allan Elias Ramos
Estou carregando no evento ´OnShow´ do Form e no ´OnCellClick´ da Grid o seguinte código:
CODE
if MmImagem.Text <> ´´ Then
begin
DbImagem.Picture.LoadFromFile(MmImagem.Text);
end;
Como eu botei o bd pra salvar o link da figura, ele me cria um Memo com o endereço.. entao botei esse memo pra carregar a imagem.. bom, isso da certo quando o formulário é ativado e quando eu clico sobre algum registro na grid.. ele ´atualiza´ a imagem.. mas se, por exemplo, eu navegar pela grid com as setas e nao clicar, ele nao me atualiza.. mantendo a última imagem q apareceu.. eu tentei fazer o seguinte:
CODE
if MmImagem.Text <> ´´ Then
begin
DbImagem.Picture.LoadFromFile(DmDados.TbPersonagemFigura.Text);
end;
Pra carregar a imagem direto do bd como todas as outras informações.. mas quando eu executo o programa, ele me da um erro dizendo:
CODE
Project Proj.exe raised exception class EInvalidGraphic with message ´Unknown picture file extension (.)´. Process Stoped. Use Step or Run to continue.
E aí eu continuo nao conseguindo carregar a imagem do bd no form..
Allan Elias Ramos
GOSTEI 0
Fórum Vini
02/05/2004
Estou carregando no evento ´OnShow´ do Form e no ´OnCellClick´ da Grid o seguinte código:
Você não precisa de fazer isso, existe o evento OnScroll do TDataset(Tables, Queries etc..) que é disparado quando há uma movimentação
Obs.: Para carregar imagens .jpg e .jpeg, adicione a unit Jpeg no seu uses :wink:
Espero ter ajudado,
Vinicius
GOSTEI 0
Aersoftware
02/05/2004
Vini, nao achei o evento OnScroll, só AfterScroll e Before Scroll nas tabelas e querys..
A unit Jpeg ja esta adicionada na Uses... :cry:
Allan Elias Ramos :cry:
A unit Jpeg ja esta adicionada na Uses... :cry:
Allan Elias Ramos :cry:
GOSTEI 0
Aersoftware
02/05/2004
Não consegui editar a mensagem de cima, mas quando boto no evento AfterScroll, ele da erro... quando boto no BeforeScroll, nao acontece nada... :cry:
Allan Elias Ramos :cry:
Allan Elias Ramos :cry:
GOSTEI 0
Aersoftware
02/05/2004
Quando coloco o código pra aparecer a imagem no evento AfterScroll da Tabela, ele me da o seguinte erro:
O q pode ser isso?
Allan Elias Ramos
Project Proj.exe raised exception class EAccessViolation with message ´Access violation at address 004d2023 in module ´Proj.exe´. Read of address 00000344´. Process stopped. Use Step or Run to continue.
O q pode ser isso?
Allan Elias Ramos
GOSTEI 0
Aersoftware
02/05/2004
Tentei usar o While, pra ver se a grid estivesse com o foco, mas mesmo assim da erro no evento AfterScroll na hora de compilar.. o estranho é q, no evento BeforeScroll nao da erro, mas tb nao funciona.. :cry:
Allan Elias Ramos :cry:
Allan Elias Ramos :cry:
GOSTEI 0
Aersoftware
02/05/2004
Pessoal, há um tempo atras eu tava com essa dúvida.. hj eu pensei algo e consegui arrumar isso, kero compartilhar com vcs já q pode ser q alguem tenha essa dúvida..
Primeiro eu mudei meu bd pra salvar o endereço da imagem, depois eu botei um componente Image1 pra exibir essa imagem.. quando eu arrasto o tipo hyperlink pro delphi, ele me cria um TMemo, pra guardar o endereço da figura. eu usei o Evento OnChange do TMemo pra, quando fosse modificado o conteúdo dele, o componente Image1 receber o q esta nele, assim
Com esse código, se ele tiver alguma imagem ele exibe, se nao tiver, ele bota o Image em invisível..
Abraços e grato a todos pela ajuda...
Allan Elias Ramos
[/code]
Primeiro eu mudei meu bd pra salvar o endereço da imagem, depois eu botei um componente Image1 pra exibir essa imagem.. quando eu arrasto o tipo hyperlink pro delphi, ele me cria um TMemo, pra guardar o endereço da figura. eu usei o Evento OnChange do TMemo pra, quando fosse modificado o conteúdo dele, o componente Image1 receber o q esta nele, assim
procedure TFrmVerPersonagens.MmImagemChange(Sender: TObject); begin if MmImagem.Text <> ´´ then begin DbImagem.Visible := True; DbImagem.Picture.LoadFromFile(MmImagem.Text); end else begin DbImagem.Visible := False; end; end;
Com esse código, se ele tiver alguma imagem ele exibe, se nao tiver, ele bota o Image em invisível..
Abraços e grato a todos pela ajuda...
Allan Elias Ramos
[/code]
GOSTEI 0