Fórum Identificação dos dados no código de barras. #257313
05/11/2004
0
-----------------------------------------------------------------------------------
Agora, tenho a seguinte situação:
Estou terminando o desenvolvimento de um PDV, que através do código de barras lança o nome da mercadoria e o valor e, ao informar a quantidade já calcula o total do item, e acrescenta no cupom, até aí blz.
Mas o meu cliente pediu que eu mudasse o sistema, fazendo-o com que funcione da seguinte maneira: A quantidade sempre valerá ´1´, com isso, o funcionário dele terá apenas que passar a mercadoria pelo leitor. Mas, existe os casos de mercadorias que são pesadas, como carne, bolo, queijo, presunto... que muitas vezes (quase sempre) vem com uma quantidade inferior a 1 Kg, e nessa situação a quantidade deveria ser digitada (peso).
Se ele aceitasse isso, eu já teria feito. O que ele quer é simplesmente passar o produto e pelo código de barras o sistema já saber tudo da mercadoria. Sei que é possível, pois fui a um supermercado aqui da região, e lá é assim.
Por exemplo:
Código: 2 504300 00562 1
O 2 corresponde ao produto pesado, os 6 dígitos seguintes correspondem ao código de localização da mercadoria (504300) e os últimos dígitos correspondem ao valor da mercadoria (que nesse exemplo custa R$ 5,62).
Sei que se eu pegar o valor através do código de barras R$ 5,62 e dividir pelo preço do Kg acharei o peso da mercadoria comprada que nessa situação seria a quantidade comprada.
O que não sei, é como retirar do código esses valores.
Como fazer o programa entender que o 00562 corresponde a R$ 5,62, para que eu possa dividir pelo preço do Kg da mercadoria????
Se alguém puder me ajudar, mais uma vez fica registrado os meus sinceros agradecimentos.
Pro-luck
Curtir tópico
+ 0Posts
05/11/2004
Gandalf.nho
Gostei + 0
05/11/2004
Rodolpho123
var
s: string;
i: integer;
begin
s:= ´00562´;
for i := 1 to Length(s) do begin
// Aqui vc pode fazer uma rotina de verificação
//onde ´i´ corresponde a localização da sua string (s) em foco.
end;
end;
Gostei + 0
05/11/2004
Dopi
Grave no campo de Cod.Barras do seu programa somente o inicio do código: 2504300
Na rotina de entrada de Cod.Barras, use o COPY() (como já foi mencionado) e desmonte o código, separando o Código do Produto do Valor Total.
Use o Find ou algo paraceido para achar o Codigo do produto...
Se achou, divida o Total pelo Preço Unit. e vc terá a QTD...
Obs: Algumas balanças pode enviar, a QTD no código ao invez do Valor Total. Isso pode ser configurado na própria balança...
Gostei + 0
05/11/2004
Pro-luck
Certo não só da sua atenção, mas também da atenção de todos que compôem o ClubeDelphi, antecipadamente agradeço.
Gostei + 0
05/11/2004
Pro-luck
Gostei + 0
08/11/2004
Pro-luck
Gostei + 0
08/11/2004
Rafs
CodBarra := ´250430000562´ PrecoString := Copy(CodBarra, 8, 5);
Transforme para Float e divida por 100, assim você terá o preço do produto pesado
PrecoFloat := StrToFloat(PrecoString) / 100;
Gostei + 0
08/11/2004
Universodosoftware
ex. FormatFloat(´#0.00´, preco)
FormatFloat(´0.000´, peso)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)