Inserir imagem.
Pessoal estou com um problema ao qual não acho solução.
Gostaria que no clique de um botão abrisse alguma página para que seja escolhida uma imagem da pasta
e assim, ao escolher a imagem a mesma seria carregada no componente TImage do meu Form.
Me corrijam caso esteja errado, mas só sei fazer isso usando LoadFromFile, porem, deste jeito o
usuário não pode inserir a imagem que ele quer.
Atenciosamente,
Flavio D. Silva
Gostaria que no clique de um botão abrisse alguma página para que seja escolhida uma imagem da pasta
e assim, ao escolher a imagem a mesma seria carregada no componente TImage do meu Form.
Me corrijam caso esteja errado, mas só sei fazer isso usando LoadFromFile, porem, deste jeito o
usuário não pode inserir a imagem que ele quer.
Atenciosamente,
Flavio D. Silva
Flavio Silva
Curtidas 0
Respostas
Wesley Yamazack
09/01/2012
Olá Flavio, para resolver este teu problema vamos fazer o seguinte.
Coloque no seu formulário um OpenDialog1, Image e Button.
No evento onClick do Button, você implementa da seguinte forma :
Observação, se for imagem em Jpg, você tem que dar uses em jpeg.
Veja se isso te ajuda.
Att,
Wesley Yamazack
www.lithic.com.br
Coloque no seu formulário um OpenDialog1, Image e Button.
No evento onClick do Button, você implementa da seguinte forma :
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;
end;
Observação, se for imagem em Jpg, você tem que dar uses em jpeg.
Veja se isso te ajuda.
Att,
Wesley Yamazack
www.lithic.com.br
GOSTEI 0
Flavio Silva
09/01/2012
Já me ajudou muito cara, mas agora tenho outra dúvida...
Como a partir deste processo consigo buscar o caminho da imagem para poder armazenar no banco o caminho???
Ex: Campo Caminho --> C:\imagens\botão.jpeg
Porque para gravar está imagem estou armazenando no campo o caminho da imagem (String). Não estou armazenando a imagem em si. Deixando assim o banco mais leve.
Desde já agradeço a atenção.
Att,
Flavio D. Silva.
Como a partir deste processo consigo buscar o caminho da imagem para poder armazenar no banco o caminho???
Ex: Campo Caminho --> C:\imagens\botão.jpeg
Porque para gravar está imagem estou armazenando no campo o caminho da imagem (String). Não estou armazenando a imagem em si. Deixando assim o banco mais leve.
Desde já agradeço a atenção.
Att,
Flavio D. Silva.
GOSTEI 0
Wesley Yamazack
09/01/2012
Olá, faça o seguinte, cria uma variável private, para armazenar o caminho da imagem.
Da seguinte maneira :
Agora no seu código basta modificar e fazer da seguinte forma :
Ao final você terá que fazer o seguinte pra salvar no BD.
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
Da seguinte maneira :
type
TForm1 = class(TForm)
BtnNovoNome: TButton;
LblEdtNovoNome: TLabeledEdit;
LblEdtNomeAtual: TLabeledEdit;
BtnNomeAtual: TButton;
procedure BtnNovoNomeClick(Sender: TObject);
procedure BtnNomeAtualClick(Sender: TObject);
private
xCaminhoTemporario: String; //OLHA A VARIÁVEL AQUI!!!!!!!!!!!!!!
function LoadComputerName: string;
function PostComputerName(pNewName: string): Boolean;
{ Private declarations }
public
{ Public declarations }
end;
Agora no seu código basta modificar e fazer da seguinte forma :
procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin Image1.Picture.LoadFromFile(OpenDialog1.FileName); xCaminhoTemporaria := (OpenDialog1.FileName; end; end;
Ao final você terá que fazer o seguinte pra salvar no BD.
if xCaminhoTemporaria <> then //estou fazendo assim pois pode ser que não exista imagem. CDSCliente.FieldByName(imagem).asstring := xCaminhoTemporaria;
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
GOSTEI 0
Wesley Yamazack
09/01/2012
Olá, faça o seguinte, cria uma variável private, para armazenar o caminho da imagem.
Da seguinte maneira :
Agora no seu código basta modificar e fazer da seguinte forma :
Ao final você terá que fazer o seguinte pra salvar no BD.
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
Da seguinte maneira :
type
TForm1 = class(TForm)
BtnNovoNome: TButton;
LblEdtNovoNome: TLabeledEdit;
LblEdtNomeAtual: TLabeledEdit;
BtnNomeAtual: TButton;
procedure BtnNovoNomeClick(Sender: TObject);
procedure BtnNomeAtualClick(Sender: TObject);
private
xCaminhoTemporario: String; //OLHA A VARIÁVEL AQUI!!!!!!!!!!!!!!
function LoadComputerName: string;
function PostComputerName(pNewName: string): Boolean;
{ Private declarations }
public
{ Public declarations }
end;
Agora no seu código basta modificar e fazer da seguinte forma :
procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin Image1.Picture.LoadFromFile(OpenDialog1.FileName); xCaminhoTemporaria := (OpenDialog1.FileName; end; end;
Ao final você terá que fazer o seguinte pra salvar no BD.
if xCaminhoTemporaria <> then //estou fazendo assim pois pode ser que não exista imagem. CDSCliente.FieldByName(imagem).asstring := xCaminhoTemporaria;
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
GOSTEI 0
Flavio Silva
09/01/2012
Man, era isso mesmo... valeu mesmo pela ajuda...
Atenciosamente,
Flavio D. Silva.
Atenciosamente,
Flavio D. Silva.
GOSTEI 0
Wesley Yamazack
09/01/2012
Blz Flavio , se já esta certo, fecha o tópico por favor,blz? Obrigado.
Att,
Wesley Yamazack
www.lithic.com.br
Att,
Wesley Yamazack
www.lithic.com.br
GOSTEI 0
Flavio Silva
09/01/2012
Tem um problema man, nao consigo fechar os tópicos finalizados... antes eu conseguia...
Como prossegir?
Att,
Flavio D. Silva
Como prossegir?
Att,
Flavio D. Silva
GOSTEI 0