Erro no Timagem não abre a figura
Pessoal,
Eu sei que a duas maneira de se colocar uma imagem em um cadastro de cliente e opitem em criar um campo na tabela com o nome fotocli essa mesma eu acrescento no frmcliente, mas naõ sei como programar para a mesma abrir uma opção de localizar a imagem no C:\. Alguem pode postar o codigo ai.
Eu sei que a duas maneira de se colocar uma imagem em um cadastro de cliente e opitem em criar um campo na tabela com o nome fotocli essa mesma eu acrescento no frmcliente, mas naõ sei como programar para a mesma abrir uma opção de localizar a imagem no C:\. Alguem pode postar o codigo ai.
Renato
Curtidas 0
Respostas
Pjrm1470
28/08/2010
Use o componente OpenDialog para abrir a imagem assim:
Assim que vc seleciona a imagem, o diretório dela fica na propriedade FileName. Assim vc a usa para carregar sua imagem no TImagem. Lembre-se que não são todos os tipos de imagens que o TImagem abre.
Ficaria assim:
Dica: Procure abrir imagens de extensão ".bmp". Outros formatos existe uma unit própria pra trabalhar com imagens que permite que vc faça conversões de tipos (JPG, GIF, etc).
if OpenDialog.Execute then
if OpenDialog.execute then Image.Picture.LoadFromFile(OpenDialog.FileName);
GOSTEI 0
Renato
28/08/2010
Velho, eu fiz um campo na minha tabela cliente chamado fotocli e coloquei no meu formulário. Entretando daria muito mais trabalho eu ter que cadastra foto por foto. Pensei melhor e acho que a melhor solução seria colocar um código fonte para capturar a imagem e joga-la lo para esse campo, o problema é que eu nao tenho a minima ideia de como fazer, apenas o campo fotocli esta feito, mas a parte de programação falta tudo.
GOSTEI 0
Renato
28/08/2010
Amigão sua informação foi muito precisa eu conseguir levar a imagem para dentro do frmcliente numa boa. Valeu mesmo. Poderia sanar esse problema toda vez que eu salvo um arquivo ele salva numa boa, mas se eu salvar novamente sem alterar nada da esse erro eu nao tenho ideia do que seja. Vou deixar ai para a galera solucionar, mas acho que é algo que acessa o banco de dados para salvar um arquivo já salvo. Deve esta faltando algum arquivo para ele identificar que o arquivo já foi salvo. Pergunto eu: O que eu posso tar inserindo para que nao ocorra esse erro.
mas uma vez AGRADEÇO À TODOS QUE ESTAO ME AJUDANDO A DOMINAR ESSA FERRAMENTA que a cada dia eu gosto ainda mais.
[CODE]procedure Tfrmprincipal.Vendedores1Click(Sender: TObject);
begin
frmvendedores.showmodal;
end;
procedure Tfrmprincipal.Clentes1Click(Sender: TObject);
begin
frmclientes.showmodal; //esta dando um erro nessa parte. Só qd eu resalvo os arquivos sa salvos
end;
procedure Tfrmprincipal.deVendedores1Click(Sender: TObject);
begin
frmconsven.showmodal;
end;
procedure Tfrmprincipal.deClientes1Click(Sender: TObject);
begin
frmconscli.showmodal
end;
procedure Tfrmprincipal.OProgram1Click(Sender: TObject);
begin
frmsobre.showmodal;
end;
procedure Tfrmprincipal.Timer2Timer(Sender: TObject);
var StrNewCaption: String;
begin
StrNewCaption := Label1.Caption;
Label1.Caption:= Copy(StrNewCaption, 2, Length(StrNewCaption)-1) +
Copy(StrNewCaption, 1, 1);
end;
end.
mas uma vez AGRADEÇO À TODOS QUE ESTAO ME AJUDANDO A DOMINAR ESSA FERRAMENTA que a cada dia eu gosto ainda mais.
[CODE]procedure Tfrmprincipal.Vendedores1Click(Sender: TObject);
begin
frmvendedores.showmodal;
end;
procedure Tfrmprincipal.Clentes1Click(Sender: TObject);
begin
frmclientes.showmodal; //esta dando um erro nessa parte. Só qd eu resalvo os arquivos sa salvos
end;
procedure Tfrmprincipal.deVendedores1Click(Sender: TObject);
begin
frmconsven.showmodal;
end;
procedure Tfrmprincipal.deClientes1Click(Sender: TObject);
begin
frmconscli.showmodal
end;
procedure Tfrmprincipal.OProgram1Click(Sender: TObject);
begin
frmsobre.showmodal;
end;
procedure Tfrmprincipal.Timer2Timer(Sender: TObject);
var StrNewCaption: String;
begin
StrNewCaption := Label1.Caption;
Label1.Caption:= Copy(StrNewCaption, 2, Length(StrNewCaption)-1) +
Copy(StrNewCaption, 1, 1);
end;
end.
GOSTEI 0
Wilson Junior
28/08/2010
Para você poder salvar um registro, o mesmo deve estar em modo de Edição ou Inclusão (Edit or Insert).
A sua tabela tblclientes não está em nenhum dos dopis modos, por isto ocorre este erro.
Espero ter colaborado.
A sua tabela tblclientes não está em nenhum dos dopis modos, por isto ocorre este erro.
Espero ter colaborado.
GOSTEI 0
Renato
28/08/2010
Muito bem! É isso mesmo. Eu tentei colocar um comando do tipo button1.enablede:=false quando eu salvo o button some só que: quando eu clico em NOVO o botton ainda fica em modo false. Como eu poderia ta resolvendo isso para que o usuário nao clique novemente nesse button. Vale lembrar que eu coloquei um aviso bem grande na tela (DOCUMENTO SALCO COM SUCESSO!) veja:
procedure Tfrmclientes.Button1Click(Sender: TObject);
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
Datamodule1.tblclientes.Post;
showmessage('Arquivo Salvo com SUCESSO!');
Button1.enabled:=false; //Como eu poderei fazer com q o button volte a ser ativado em novo cadastro.
end;
procedure Tfrmclientes.Button2Click(Sender: TObject);
begin
Datamodule1.tblclientes.Append;
edit2.setfocus;
end;
procedure Tfrmclientes.Button3Click(Sender: TObject);
begin
Datamodule1.tblclientes.First;
if Datamodule1.tblclientes.Bof then
application.MessageBox('Início dos Registros','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button4Click(Sender: TObject);
begin
Datamodule1.tblclientes.Prior;
end;
procedure Tfrmclientes.Button5Click(Sender: TObject);
begin
Datamodule1.tblclientes.Next;
end;
procedure Tfrmclientes.Button6Click(Sender: TObject);
begin
Datamodule1.tblclientes.Last;
if Datamodule1.tblclientes.Eof then
application.MessageBox('Você esta no Último Registro','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button7Click(Sender: TObject);
begin
if application.MessageBox('Deseja realmente excluir o Registro','aviso', mb_yesno)<> mryes then
abort
else
Datamodule1.tblclientes.Delete;
end;
procedure Tfrmclientes.Button8Click(Sender: TObject);
begin
close;
end;
procedure Tfrmclientes.dbedit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key in['0'..'9'])or(key in[#8])or (key in[#46]))then
key:=#0;
end;
procedure Tfrmclientes.imageClick(Sender: TObject);
begin
if opendialogo.execute then
Image.Picture.LoadFromFile(opendialogo.FileName);
end;
end.GOSTEI 0