Fórum Validar produto #386113

11/09/2010

0

Pessoal estou fazendo uam comunicaçao com microterminal e preciso fazer uma validação de produto
estou tenda dessa forma mas poremesta dando erro no terminal ele m retorma o valor errado

a função é essa

function TfmTerminais.Valida_Produto(ProdutoTerm: String): integer;
var
 Produto_rec : string;
begin
  result := 0;
  frmmodulo.qrproduto.close;
  frmmodulo.qrproduto.ParamByName('codigo').AsString:=CompletaZero(ProdutoTerm, 6);
  frmmodulo.qrproduto.open;
  if not frmmodulo.qrproduto.IsEmpty then
  begin
    produto_rec := frmmodulo.qrproduto.fieldbyname('codigo').asstring;
    if ProdutoTerm = Produto_rec then
    result := 1;
  end;
end;

no micro terminal ele m retona 0 sendo q deveria aparecer o nome do produto...

a linha que eu chamo a função é essa

produto[Terminal]:= IntToStr(Valida_Produto(Ind_Produto[Terminal]));
Laelson Fagundes

Laelson Fagundes

Responder

Posts

11/09/2010

Carlos Bernardo

  Seu produto_Rec com certeza tem 0 a esquerda preenchido...   Seu ProdutoTerm, talvez nao... entao tenta essa comparacao    If CompletaZero(ProdutoTerm, 6) = Produto_rec then 
Responder

Gostei + 0

11/09/2010

Laelson Fagundes

da forma q vc passou nao muda nada da minha   If CompletaZero(ProdutoTerm, 6) = Produto_rec then    é a mesma da minha forma eu ja completo os zeros em cima entao nao precisa passar os zeros de novo...
Responder

Gostei + 0

12/09/2010

Carlos Bernardo

Pessoal estou fazendo uam comunicaçao com microterminal e preciso fazer uma validação de produto
estou tenda dessa forma mas poremesta dando erro no terminal ele m retorma o valor errado

a função é essa

function TfmTerminais.Valida_Produto(ProdutoTerm: String): integer;
var
 Produto_rec : string;
begin
  result := 0;
  frmmodulo.qrproduto.close;
  frmmodulo.qrproduto.ParamByName('codigo').AsString:=CompletaZero(ProdutoTerm, 6);
  frmmodulo.qrproduto.open;
  if not frmmodulo.qrproduto.IsEmpty then
  begin
    produto_rec := frmmodulo.qrproduto.fieldbyname('codigo').asstring;
    if ProdutoTerm = Produto_rec then
    result := 1;
  end;
end;

no micro terminal ele m retona 0 sendo q deveria aparecer o nome do produto...

a linha que eu chamo a função é essa

produto[Terminal]:= IntToStr(Valida_Produto(Ind_Produto[Terminal]));
  Entao amigo... Olhando sua funcao, se " not frmmodulo.qrproduto.IsEmpty ", se essa condicao for verdadeira o resultado deveria ser 1, pois  produto_rec sempre sera igual a  CompletaZero(ProdutoTerm, 6), faz o seguinte: usa o debug e vai olhando o resultado q vc obtem...   function TfmTerminais.Valida_Produto(ProdutoTerm: String): integer;
begin
  ProdutoTerm := CompletaZero(ProdutoTerm, 6);
  result := 0;
  frmmodulo.qrproduto.close;
  frmmodulo.qrproduto.ParamByName('codigo').AsString:=ProdutoTerm;
  frmmodulo.qrproduto.open;
  if not frmmodulo.qrproduto.IsEmpty then
    result := 1;
end;
 Passa qual o comando Sql q vc usa...
Responder

Gostei + 0

13/09/2010

Laelson Fagundes

function TfmTerminais.Valida_Produto(ProdutoTerm: String): integer;
begin
  ProdutoTerm := CompletaZero(ProdutoTerm, 6);
  result := 0;
  frmmodulo.qrproduto.close;
  frmmodulo.qrproduto.ParamByName('codigo').AsString:=ProdutoTerm;
  frmmodulo.qrproduto.open;
  if not frmmodulo.qrproduto.IsEmpty then
    result := 1;
end;

Dessa forma não da certo nao ele nao pega parametro nem um dos codigo de produto...
Responder

Gostei + 0

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

Aceitar