DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Flavio Dogevaldo Silva
 


País: Brasil
Estado: SP
Cidade: Guarulhos
Mensagens: 51
 Postado em: 9/1/2012 09:33:49 AM
 
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
Yamazack
 
 

 


País: brasil
Estado: RJ
Cidade: rio de janeiro
Mensagens: 1561
 Postado em: 10/1/2012 07:49:45 AM
 
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 :

#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
Flavio Dogevaldo Silva
 


País: Brasil
Estado: SP
Cidade: Guarulhos
Mensagens: 51
 Postado em: 10/1/2012 09:20:54 AM
 
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.
Yamazack
 
 

 


País: brasil
Estado: RJ
Cidade: rio de janeiro
Mensagens: 1561
 Postado em: 10/1/2012 09:35:08 AM
 
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
Yamazack
 
 

 


País: brasil
Estado: RJ
Cidade: rio de janeiro
Mensagens: 1561
 Postado em: 10/1/2012 09:35:09 AM
 
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
Flavio Dogevaldo Silva
 


País: Brasil
Estado: SP
Cidade: Guarulhos
Mensagens: 51
 Postado em: 10/1/2012 09:45:32 AM
 
Man, era isso mesmo... valeu mesmo pela ajuda...

Atenciosamente,

Flavio D. Silva.
Yamazack
 
 

 


País: brasil
Estado: RJ
Cidade: rio de janeiro
Mensagens: 1561
 Postado em: 10/1/2012 07:56:29 PM
 
Blz Flavio , se já esta certo, fecha o tópico por favor,blz? Obrigado.

Att,

Wesley Yamazack
www.lithic.com.br
Flavio Dogevaldo Silva
 


País: Brasil
Estado: SP
Cidade: Guarulhos
Mensagens: 51
 Postado em: 13/1/2012 10:14:26 AM
 
Tem um problema man, nao consigo fechar os tópicos finalizados... antes eu conseguia...

Como prossegir?

Att,

Flavio D. Silva
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03