ricardom1361303566 Posted July 7, 2008 Report Share Posted July 7, 2008 Tenho várias rotinas que geram código de barra, utilizando a barlib. Uso o Ean13, 128, e 3_9 sem problemas. Acontece que eu preciso preencher um formulário na Web, com quatro campos caracteres, por linha, e que sao preenchidos, via digitação, normalmente, dando-se tab, para saltar para outro campo, após preenchido. Por exemplo: [4 ][11 ][ ][N] -> primeiro campo 4 e dois espaços, segundo 11 e um espaço terceiro em branco e quarto N. O operador digita 4 , em seguida tecla TAB, etc. O cliente quer que passe para cõdigo de barra, estes dados, pulando automaticamente para a linha seguinte, eliminando assim a digitação dos dados. Eu ulizei o código 3_9, assim: 4+chr(9)+11+char(9)+chr(9)+N Gera o código, mas ao le-lo sobre os campos , não salta, ou seja, considera o chr(9) como * e não como se tivesse dado um tab. Tem algum jeito? Eu sei que é possÃvel, pois tenho um aplicativo demo, que o cliente conseguiu que faz isso, e o cliente quer que o nosso também faça. Obrigado por alguma ideia. Ricardo Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 7, 2008 Author Report Share Posted July 7, 2008 Tenho várias rotinas que geram código de barra, utilizando a barlib. Uso o Ean13, 128, e 3_9 sem problemas. Acontece que eu preciso preencher um formulário na Web, com quatro campos caracteres, por linha, e que sao preenchidos, via digitação, normalmente, dando-se tab, para saltar para outro campo, após preenchido. Por exemplo: [4 ][11 ][ ][N] -> primeiro campo 4 e dois espaços, segundo 11 e um espaço terceiro em branco e quarto N. O operador digita 4 , em seguida tecla TAB, etc. O cliente quer que passe para cõdigo de barra, estes dados, pulando automaticamente para a linha seguinte, eliminando assim a digitação dos dados. Eu ulizei o código 3_9, assim: 4+chr(9)+11+char(9)+chr(9)+N Gera o código, mas ao le-lo sobre os campos , não salta, ou seja, considera o chr(9) como * e não como se tivesse dado um tab. Tem algum jeito? Eu sei que é possÃvel, pois tenho um aplicativo demo, que o cliente conseguiu que faz isso, e o cliente quer que o nosso também faça. Obrigado por alguma ideia. Ricardo Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 7, 2008 Author Report Share Posted July 7, 2008 em tempo, uso FW24 - Clip53 e WS Ricardo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 7, 2008 Report Share Posted July 7, 2008 citação:em tempo, uso FW24 - Clip53 e WS Ricardo id=quote>id=quote>Ricardo, desculpe, não entendi nada de nada. Explique melhor para os ´feras´, te ajudarem. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 7, 2008 Author Report Share Posted July 7, 2008 Seria assim: imagine um formulario com varias linhas, cada qual com quatro campos de entrada de dados: cp1 cp2 cp3 cp4 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ], etc. Os tres primeiros campos são de tres caracteres e o quarto de 1 caracter. O usuário digita dados no primeiro campo, p.exe. 4, e dá um tab para passar ao segundo, digita 11, e da um tab para o terceiro, nao tem dados, pressiona tab, passa para o quarto e digita N. o Quarto é de somente um caracter, e ele pula sozinho para a segunda linha, etc. Preciso gerar um código de barra, que represente os dados inteiros digitados, com os tabs entre eles, de modo que ao ler o codigo com o leitor, preencha os quatro campos da primeira linha, e pule para a segunda, aguardando nova leitura, e assim por diante. O código então conteria os dados do 1o campo, mais um tab, o do segundo mais um tab, o do terceito mais um tab e do quarto. Não sei se agora entende minha necessidade. Ricardo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 7, 2008 Report Share Posted July 7, 2008 VIXE MARIA, ACHO QUE EU NÃO SOU A UNICA ´LOIRA´ DO FORUM... PARECE QUE OS DEMAIS, TAMBÉM NÃO ENTENDERAM. EU, ´BULHUFAS´. KKKKKK. QUE LOUCURA... NÃO ENTENDI, MESMO!! VOU UM TOMAR UM ´DREHER´... QUE DUREZA!! João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
zekasan Posted July 7, 2008 Report Share Posted July 7, 2008 por quê vc não lê como se fosse um única variável e depois a desmembra? atribuindo para cada campo um pedaço da primeira variável? a:="123412345678901" a1:=substr(a,1,4) a2:=substr(a,5,11)... FWH 8.05 - xHarbour - xDev - VLib Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 7, 2008 Author Report Share Posted July 7, 2008 Joao, seria assim: Imagine que numa dialog voce tem quatro gets,campos de informações a serem digitadas,distribuidos em várias linhas: cp1 cp2 cp3 cp4 1)[ ] [ ] [ ] [ ]. 2)[ ] [ ] [ ] [ ]. 3)[ ] [ ] [ ] [ ]... No preenchimento normal, voce digita os dados no primeiro, dá um enter ou tab, pula para o segundo, digita os dados, dá um tab, etc. até o quarto campo.No quarto ele pulará para o próximo get, o primeiro campo da segunda linha... Pode ser substituido , no lugar da digitação, a informação ser lida por um leitor de código de barras. O normal é, estando com o foco no primeiro campo, ler o código de barra,que passa a informação para o campo, em seguida, dar um tab, passa para o segundo , ler novamente , etc. A movimentação entre os campos, é via enter ou tab, ou, se for totalmente preenchido o campo, ele pula sozinho para o segundo, etc. O que eu quero é gerar um único código de barra, com as informações dos quatro campos, e os tabs entre eles,de forma que , estando no primeiro campo, ao ler o código, será preenchido todos o quatro campos, posicionando-se o get na linha seguinte do formulário, para nova leitura. Ricardo Quote Link to comment Share on other sites More sharing options...
Decker Posted July 7, 2008 Report Share Posted July 7, 2008 O que o Zekasan falou esta certo. Leia o codigo de barras e desmembre (como o Jack Estripador). Deu um Say para os campos e Voila. Trabalho pronto. Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 7, 2008 Author Report Share Posted July 7, 2008 Eu entendi a observação, mas é que o formulário, como disse no inÃcio do tópico, é de um sistema que está na web, ao qual não tenho acesso. O que meu sistema faz é gerar o relatório de dados, que será digitado neste sistema. A idéia é gerar os relatório de dados em código de barras, que substituira a digitação dos mesmos. Ricardo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 8, 2008 Report Share Posted July 8, 2008 PQP, TÔ ´LOIRA´ DE PONTA A PONTA. EU QUASE ENTENDI. QUASE, ME ESCAPOU ALGUM DETALHE... RICARDO, INSISTA, FALTA UM DETALHEZINHO PARA ´MATAR-MOS´ A CHARADA. OU NÃO... KKKKK. JESUS, ACENDE A LUZ! Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 8, 2008 Author Report Share Posted July 8, 2008 Acho que ficou confuso com meu exemplo da dialog. Na verdade este forumalário de dados, pertence a um sistema na Web ( sistema CAGED, da Secretaria da Educação ). Meu sistema gera os dados para digitação neste sistema. O que o cliente quer é que meu sistema também informe estes dados, em forma de código de barras. Assim, em vez deles digitarem na tela, na Web, simplesmente leriam os mesmos com o leitor de códigos, dispensando a digitação. O único detalhe, é que cada código de barras, teria que conter os dados, dos quatro campos de uma vez. Ricardo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 8, 2008 Report Share Posted July 8, 2008 citação:Acho que ficou confuso com meu exemplo da dialog. Na verdade este forumalário de dados, pertence a um sistema na Web ( sistema CAGED, da Secretaria da Educação ). Meu sistema gera os dados para digitação neste sistema. O que o cliente quer é que meu sistema também informe estes dados, em forma de código de barras. Assim, em vez deles digitarem na tela, na Web, simplesmente leriam os mesmos com o leitor de códigos, dispensando a digitação. O único detalhe, é que cada código de barras, teria que conter os dados, dos quatro campos de uma vez. Ricardo id=quote>id=quote>OPA... TÔ ´PEGANDO´... COMO É QUE VOCE CAPTURA ESTE CODIGO DE BARRAS?? João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 8, 2008 Author Report Share Posted July 8, 2008 É ahi que está o problema. Gerar um código de barra de uma informação qualquer, numérica ou alfa, por exemplo: 1234N , é facil, mas não poderia ser uma para cada campo da linha, teria que ser, em um único código, conter as informações para os quatro campos da linha, de modo que ao le-lo, será preenchido os quatro campos, e pularia para a linha seguinte, aguardando nova leitura. Imagino que é feito, contendo um tab entre eles, assim a leitura do código, representaria uma digitação: campo1 + tab campo2 + tab +campo3 +tab + campo4. Eu tento fazer assim: cBarra := info1+chr(9)+info2+chr(9)+info3+chr(9)+info4 c_Code3_9(nLin+nSt,nCol1+0.2,cBarra,oPrn,.f.,,.t.,,0.7) Mas parece que o chr(9) (tab), não retorna nada. Não sei se teria a ver com codigo Ansi e Oem , ou tem algum truque. Ricardo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 8, 2008 Report Share Posted July 8, 2008 Calma... cBarra, será a JUNÇÃO da SOMA de todos os DADOS que pegas da PAGINA WEB?? Ou estou enganado? João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 8, 2008 Author Report Share Posted July 8, 2008 Não é a soma. São valores separados. E não vou pegar da página Web, e sim passar para a página Web, ou seja, vou ler os códigos em uma folha contendo os códigos, cada qual representando os valors de quatro campos,e passa-los para a página Web. Ricardo Quote Link to comment Share on other sites More sharing options...
zekasan Posted July 8, 2008 Report Share Posted July 8, 2008 Você já tentou o chr(13) ao invés do chr(9)? FWH 8.05 - xHarbour - xDev - VLib Quote Link to comment Share on other sites More sharing options...
Wellington Vieira Posted July 9, 2008 Report Share Posted July 9, 2008 Ricardo, se eu entendi bem o que você deseja, é gerar códigos de barras em "folha ou papel A4 etc..", e quando estiver no site de web com o cursor posicionado nos campos que receberão as informações da leitora que irá ler os códigos de barras gerados por vc,, a intensão é que as barras passem o sinal de TAB OU ENTER, para o site da web pulando os campos conforme a leitura do código de barras.., como se estivesse imitando a digitação,, só que lendo isto no código de barras gerado por um sistema que imprima estes códigos.. Acho, improvável,, pois,, os código de barras possuem padrão.. Por exemplo, para codificar o valor 00051040 utilizado a simbologia 2 de 5 intercalado à fonte deveria receber a seqüência de caracteres: ÃŽ!&+IÃ. Ou seja, a simbologia 2 de 5 intercalado diz que a seqüência numérica deve ser analisada em pares e que se deve incluir caracteres de start e stop. Com isso temos: Caractere de Start: ÃŽ 00: ! 05: & 10: + 40: I Caractere de Stop: à Sendo assim o que faz com que a leitura do código de barras simule um ENTER no final do campo é exatamente,, o sinal de STOP, então acredito que não seria possivel uma sequencia como essa abaixo: ACREDITO QUE NÃO,, NÃO TESTEI,, MAIS ACREDITO QUE NÃO... SE ESTIVER ERRADO ME DIGAM.. ex.. [start]123456[stop] [start]123456[stop] [start]123456[stop] no mesmo código... ou seja, 123456 (simula enter) 123456 (simula enter) 123456 (simula enter),pulando de campo em campo a partir do código de barras.. wellington fwh/xharbour0.99.71 Bd. Postgresql Systemup@bol.com.br Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 11, 2008 Author Report Share Posted July 11, 2008 Welington Eu concordo com voce. O que eu preciso e exatamente o que voce descreveu. O formulario da Web so pula de campo com TAB.Com Enter nao faz nada. Acontece que o cliente tem um demo que pula os campos, e me parece que usa 3_9. Ja tentei de tudo que e jeito e nao descobri o truque. Ricardo Quote Link to comment Share on other sites More sharing options...
siscat Posted July 13, 2008 Report Share Posted July 13, 2008 Exemplo: Entre o número do telefone! No. Telefone: onkeydown="TabNext(this,'down',3)" onkeyup="TabNext(this,'up',3,this.form.Phone_2)" type="text">- onkeydown="TabNext(this,'down',3)" onkeyup="TabNext(this,'up',3,this.form.Phone_3)" type="text">- type="text"> var phone_field_length=0; function TabNext(obj,event,len,next_field) { if (event == "down") { phone_field_length=obj.value.length; } else if (event == "up") { if (obj.value.length != phone_field_length) { phone_field_length=obj.value.length; if (phone_field_length == len) { next_field.focus(); } } } } Quote Link to comment Share on other sites More sharing options...
ricardom1361303566 Posted July 14, 2008 Author Report Share Posted July 14, 2008 Marlon, agradeco a ajuda. Vou testar seu exemplo. Acho que e alguma coisa por ahi. O usuario digita o campo e tem que dar um tab para o proximo campo. Vou ter que que me virar quanto ao site, pois e da Secretaria da Educacao de Sp, (PRODESP), e nao tem como entrar em contato om eles. Tem muitos desenvolvedores que ja tentaram troca de arquivos para varios sistemas deles, com varios orgaos do Estado, que seria muito mais simples para os dois lados, mas eles nem respondem as sujestoes. Obrigado. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.