Autor
Mensagem
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
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 :
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
Coloque no seu formulário um OpenDialog1, Image e Button.
No evento onClick do Button, você implementa da seguinte forma :
#Código
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
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.
Olá, faça o seguinte, cria uma variável private, para armazenar o caminho da imagem.
Da seguinte maneira :
[CODE]
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;
[/CODE]
Agora no seu código basta modificar e fazer da seguinte forma :
[CODE]
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
xCaminhoTemporaria := (OpenDialog1.FileName;
end;
end;
[/CODE]
Ao final você terá que fazer o seguinte pra salvar no BD.
[CODE]
if xCaminhoTemporaria <> then //estou fazendo assim pois pode ser que não exista imagem.
CDSCliente.FieldByName(imagem).asstring := xCaminhoTemporaria;
[/CODE]
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
Da seguinte maneira :
[CODE]
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;
[/CODE]
Agora no seu código basta modificar e fazer da seguinte forma :
[CODE]
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
xCaminhoTemporaria := (OpenDialog1.FileName;
end;
end;
[/CODE]
Ao final você terá que fazer o seguinte pra salvar no BD.
[CODE]
if xCaminhoTemporaria <> then //estou fazendo assim pois pode ser que não exista imagem.
CDSCliente.FieldByName(imagem).asstring := xCaminhoTemporaria;
[/CODE]
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
Olá, faça o seguinte, cria uma variável private, para armazenar o caminho da imagem.
Da seguinte maneira :
[CODE]
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;
[/CODE]
Agora no seu código basta modificar e fazer da seguinte forma :
[CODE]
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
xCaminhoTemporaria := (OpenDialog1.FileName;
end;
end;
[/CODE]
Ao final você terá que fazer o seguinte pra salvar no BD.
[CODE]
if xCaminhoTemporaria <> then //estou fazendo assim pois pode ser que não exista imagem.
CDSCliente.FieldByName(imagem).asstring := xCaminhoTemporaria;
[/CODE]
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br
Da seguinte maneira :
[CODE]
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;
[/CODE]
Agora no seu código basta modificar e fazer da seguinte forma :
[CODE]
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
xCaminhoTemporaria := (OpenDialog1.FileName;
end;
end;
[/CODE]
Ao final você terá que fazer o seguinte pra salvar no BD.
[CODE]
if xCaminhoTemporaria <> then //estou fazendo assim pois pode ser que não exista imagem.
CDSCliente.FieldByName(imagem).asstring := xCaminhoTemporaria;
[/CODE]
Desta forma resolve?
Um abraço,
Wesley Yamazack
www.lithic.com.br








