Fórum alterar o nome da imagem quando não houver na pasta #533568

05/10/2015

0

tenho um código que já retorna a imagem , porem quando não houver é minha duvida.

Image1.Picture.LoadFromFile('C:\sistema\fotos\' + EDIT1.Text + '.jpg');

esse já carrega desde que encontre na pasta a imagem com o mesmo nome no edit, porem existe casos de quanto não houver, gostaria de ficasse definido para o nome da imagem 'semimagem' que está na mesma pasta.
Tiago Santos

Tiago Santos

Responder

Post mais votado

06/10/2015

Opa Tiago, tudo bem?

Que tal debugar o código? É bem provável que o erro está acontecendo na abertura de uma das suas Querys. Verifique se o campo edit11.text está sendo preenchido corretamente.

Aguardo o seu feedback!

Douglas

Douglas
Responder

Gostei + 1

Mais Posts

05/10/2015

Mateus Carvalho

Existe uma função que faz esse verificação

var
caminho : string;
begin
caminho := 'C:\sistema\fotos\' + EDIT1.Text + '.jpg' //Você pode colocar o caminho desejado nessa variável.
if fileexists(caminho) then
begin
Image1.Picture.LoadFromFile(caminho); //endereço caso a imagem exista
end
else
begin
Image1.Picture.LoadFromFile('C:\sistema\fotos\semimagem.jpg'); //endereço se a imagem não existir
end


Responder

Gostei + 0

05/10/2015

Tiago Santos

apresenta esse erro agora:

continua ainda o erro

---------------------------
Could not convert variant of type (Null) into type (OleStr)
---------------------------
OK
---------------------------
Responder

Gostei + 0

05/10/2015

Mateus Carvalho

Coloque seu código pra mim dar uma olhada. Assim fica mais fácil.
Responder

Gostei + 0

05/10/2015

Tiago Santos

procedure TFrminfoprodutos.FormShow(Sender: TObject);
var
caminho : string;
begin
Edit1.text := DM.AdoCompras1.FieldByName('REFERENCIA').Value ;
Edit11.text := DM.AdoCompras1.FieldByName('ESTOQUE_ID').Value ;
Edit2.Text := DM.AdoCompras1.FieldByName('DESCRICAO').Value;
Edit20.Text := DM.AdoCompras1.FieldByName('Quantcompras').Value;
Edit5.Text := DM.AdoCompras1.FieldByName ('Estoque_Calculado').Value;

DM.AdoRefabr.Close;
DM.AdoRefabr.SQL.Clear;
DM.AdoRefabr.SQL.Add(' select i.estoque_id,i.FORNE_ID,i.REFERENCIA,e.NOME from REFERENCIAS i INNER JOIN fabricantes e ON (i.forne_id= e.fab_id)') ;
DM.AdoRefabr.SQL.Add(' where i.ESTOQUE_ID = :pID');
DM.AdoRefabr.Parameters.ParamByName('pID').Value := Edit11.text;
DM.AdoRefabr.Open;

DM.Ado10compras.Close;
DM.Ado10compras.SQL.Clear;
DM.Ado10compras.SQL.Add('select top(10) i.DATA,i.nf,i.Quantidade,i.unitario,i.IPI,i.Frete,i.outras,i.CODIGO,e.nome from ITENS_NF_COMPRA i INNER JOIN fornecedores e ON (i.FORNE_ID= e.FORNE_ID) ') ;
DM.Ado10compras.SQL.Add('where CODIGO = :pID');
DM.Ado10compras.SQL.Add('order by data desc');
DM.Ado10compras.Parameters.ParamByName('pID').Value := Edit1.text;
DM.Ado10compras.Open;

DM.ADOVendas10.Close;
DM.ADOVendas10.SQL.Clear;
DM.ADOVendas10.SQL.Add(' select top(10) i.data,i.codigo, i.produto, i.QUANTIDADE, i.cliente,e.nome,i.UNITARIO_REAL,i.VENDEDOR,d.nome from ITENS_PED_ORCAMENTO i INNER JOIN CLIENTES e ON (i.CLIENTE= e.CLIENTE_ID) LEFT JOIN vendedores d ON (i.vendedor= d.codigo)') ;
DM.ADOVendas10.SQL.Add(' where i.produto = :pID');
DM.ADOVendas10.SQL.Add(' AND aberto = ' + QuotedStr('NAO'));
DM.ADOVendas10.SQL.Add('order by data desc');
DM.ADOVendas10.Parameters.ParamByName('pID').Value := Edit11.text;
DM.ADOVendas10.Open;

caminho := 'C:\sistema\fotos\' + EDIT1.Text + '.jpg' ;//Você pode colocar o caminho desejado nessa variável.
if FileExists(caminho) then
begin
Image1.Picture.LoadFromFile(caminho); //endereço caso a imagem exista
end
else
Image1.Picture.LoadFromFile('C:\sistema\fotos\semimagem.jpg'); //endereço se a imagem não existir
end;
Responder

Gostei + 0

06/10/2015

Tiago Santos

Obrigado Douglas debuguei e encontrei o erro. e funcionou correto depois de encontrado o erro. Obrigado a todos.
Responder

Gostei + 0

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

Aceitar