Fórum Erro no Timagem não abre a figura #385057

28/08/2010

0

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.
Renato

Renato

Responder

Posts

29/08/2010

Pjrm1470

Use o componente OpenDialog para abrir a imagem assim:
if OpenDialog.Execute then
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:
if OpenDialog.execute then
  Image.Picture.LoadFromFile(OpenDialog.FileName);
  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).
Responder

Gostei + 0

29/08/2010

Renato

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.
Responder

Gostei + 0

29/08/2010

Renato

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.

Responder

Gostei + 0

30/08/2010

Wilson Junior

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.
Responder

Gostei + 0

30/08/2010

Renato

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.

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar