GARANTIR DESCONTO

Fórum Código de Barras Leitura #355891

25/03/2008

0

Bom dia galera do fórum

Pesquisei mas não obtive exito.

É o seguinte, vocês já se depararam com aquelas etiquetas impressas das balanças filizola e toledo, que imprimem o código do produto e o valor, gerando assim um código de barra único.

Acontece que eu não tenho a minima idéia de como ler esta informação, pois vem tudo junto o código do produto mais o valor.
Tipo 000938892890
Produto 93889
Valor 2,89

Como fazer para ler esta imformação em um sitema de pdv, construi a função que faz a multiplicação de produtos pelo mesmo codigo de barra, isto agiliza, mas não é o meu caso que necessito.
Quem quizer posso passar o código.
Funciona assim

2*7895874545412
Ele pega o código do produto, localiza no BD e encontrando, pega o valor do produto e multiplica no caso por 2, funfa normal,

Agora se alguem puder me ajudar na rotina (sobe) eu agradeço e muito.
Grato a todos
Valnei


Objetivacreator

Objetivacreator

Responder

Posts

25/03/2008

Wanderok

1) desmembrar do string lido a parte PRODUTO e a parte VALOR (funcao COPY)
2) Inserir ponto decimal (vírgula) na parte VALOR
3) Converter o substring VALOR em FLOAT;

BEGIN
vLido := ´000938892890´;
vProduto:= TiraZeros(Copy(vLido,1,8));
vValor := MontaValor(Copy(vLido,9,12);
END;


function TiraZeros(pFrase:String):String;
var vSemZeros:String;
i : integer;
begin
vSemZeros:=´´;
for i := 1 to length(pFrase);
if pFrase[i] <> ´0´ then
vSemZeros := pFrase[i]+vSemZeros;
result := vSemZeros;
end;

function MontaValor(pValor:String):Float;
begin
try
result := StrToFloat(Copy(pValor,1,lenth(pValor-3)) + ´,´ + Copy(pValor,lenth(pValor-2)),lenth(pValor)));
except
result := 0;
end;
end;


Responder

Gostei + 0

25/03/2008

Wanderok

[size=24:51b3452e4f][color=red:51b3452e4f][b:51b3452e4f]Editando !!![/b:51b3452e4f][/color:51b3452e4f][/size:51b3452e4f]

vProduto:= TiraZeros(Copy(vLido,1,8);


Responder

Gostei + 0

25/03/2008

Wanderok

[size=24:194f52f098][color=red:194f52f098][b:194f52f098]Editando Novamente!!![/b:194f52f098][/color:194f52f098][/size:194f52f098]

vProduto:= TiraZeros(Copy(vLido,1, 8 ); (mas que coisa :D:D:D)


Responder

Gostei + 0

30/03/2008

Murillo.cg

function TiraZeros(pFrase:String):String; var vSemZeros:String; i : integer; begin vSemZeros:=´´; for i := 1 to length(pFrase); if pFrase[i] <> ´0´ then vSemZeros := pFrase[i]+vSemZeros; result := vSemZeros; end;


para não inverter:
vSemZeros := vSemZeros + pFrase[i];


Responder

Gostei + 0

30/03/2008

Wanderok

[quote:b1e3a20070=´wanderok´] function TiraZeros(pFrase:String):String; var vSemZeros:String; i : integer; begin vSemZeros:=´´; for i := 1 to length(pFrase); if pFrase[i] <> ´0´ then vSemZeros := pFrase[i]+vSemZeros; result := vSemZeros; end;



[b:b1e3a20070]Exatamente !!!![/b:b1e3a20070] :D:D:D


Responder

Gostei + 0

30/03/2008

Wanderok

para não inverter: vSemZeros := vSemZeros + pFrase[i];



[size=24:e24f6b2f96][color=red:e24f6b2f96][b:e24f6b2f96]EDITANTO DE FORMA INTELIGENTE !!!![/b:e24f6b2f96][/color:e24f6b2f96][/size:e24f6b2f96]

[b:e24f6b2f96]Exatamente !!!! ESTE E NAO O OUTRO.[/b:e24f6b2f96] :D:D:D


QUEM ESTÁ CERTO É O MURILLO !!!!!
EU INVERTI .
O CORRETO É

[color=blue:e24f6b2f96][b:e24f6b2f96]vSemZeros := vSemZeros + pFrase[i];[/b:e24f6b2f96][/color:e24f6b2f96]


Responder

Gostei + 0

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

Aceitar