GARANTIR DESCONTO

Fórum Identificação dos dados no código de barras. #257313

05/11/2004

0

De antemão quero agradecer a todos que fazem o ClubeDelphi, pois em aproximadamente 2,5 anos que frequento este Fórum, aprendi muito mais do que com certeza teria aprendido num curso convencional. Então obrigado, presteza, pela preocupação, pela urgência, e pelas ajudas que me foram dadas.

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

Pro-luck

Responder

Posts

05/11/2004

Gandalf.nho

Você vai ter que usar rotinas como Copy para ´desmontar´ o valor fornecido pelo código de barras e passar as informações pertinentes ao sistema.


Responder

Gostei + 0

05/11/2004

Rodolpho123

Vc pode utilizar um loop para verificar isto em uma string. Ex:

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;


Responder

Gostei + 0

05/11/2004

Dopi

Esse tipo de código é muito comum em Balanças automatizadas.... Todos os códigos de barra EAN13 que começao com 2 são denominados IN-STORE (código interno)

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


Responder

Gostei + 0

05/11/2004

Pro-luck

Eu já havia pensado nisso, ou seja, tenho a idéia mas não estou conseguindo desenvolver esta rotina e, principalmente, como configurar a posição da vírgula tanto para o caso do código de barras mostrar o valor como o peso da mercadoria: Ex.: 5,60 ou 0,395 Kg.

Certo não só da sua atenção, mas também da atenção de todos que compôem o ClubeDelphi, antecipadamente agradeço.


Responder

Gostei + 0

05/11/2004

Pro-luck

SOBE


Responder

Gostei + 0

08/11/2004

Pro-luck

SOBE


Responder

Gostei + 0

08/11/2004

Rafs

Recuperando o valor no código de barras
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;



Responder

Gostei + 0

08/11/2004

Universodosoftware

Quanto a sua dúvida da vírgula ´,´, depois do procedimento passado pelos colegas acima, vc pode formatar o valor ´float´, para uma string de formato ´0,00´ ou ´0,000´.

ex. FormatFloat(´#0.00´, preco)
FormatFloat(´0.000´, peso)


Responder

Gostei + 0

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

Aceitar