Alteração da máscara do get em foco
Moderador: Moderadores
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Maligno, geralmente antes de iniciar os GETs sempre iniciamos o conteúdo das variáveis que serão utilizadas (ou limpamos o que foi digitado antes), então basta sempre declarar v_pic:=cIE:=SPACE(9).
O único problema é se o usuário digitar uma determinada sigla do estado e depois de ir para o campo da Insc.Estadual, voltar para o campo de UF e digitar uma outra sigla que o tamanho da IE será menor, ai vai ficar o "lixo".
Agora, no seu exemplo isto não vai acontecer, mas o amigo Netavin tera que colocar a picture @R em todas as mascaras, mesmo que não seja usado nenhum caracter especial na mascara, como é o caso das siglas "AL-AP-MA-PI".
Abraços,
O único problema é se o usuário digitar uma determinada sigla do estado e depois de ir para o campo da Insc.Estadual, voltar para o campo de UF e digitar uma outra sigla que o tamanho da IE será menor, ai vai ficar o "lixo".
Agora, no seu exemplo isto não vai acontecer, mas o amigo Netavin tera que colocar a picture @R em todas as mascaras, mesmo que não seja usado nenhum caracter especial na mascara, como é o caso das siglas "AL-AP-MA-PI".
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Para resolver estar questão, de não guardar lixo, após retorno do GET e for diferente UF. Eu aconselharia fazer uma GET aninhado com tamanho irregular conforme cada sigla.
A questão de usar um DBF para seleção de UF, seria válido sempre e quando haja mudanças previstas nas UFs. Mas como não é o caso, esse procedimento que o Toledo e Maligno indicou ora seja de definir no próprio código-fonte, seja através de MATRIZ (que na minha opinião, é a forma mais ágil de pesquisa), ora porque trata-se de poucos itens. Mas se por outro lado, temos outra situação em que os dados para validação são variáveis, isto é, que necessite de manutenção de cadastro, daí eu sou a favor de fazer essa consulta por DBF mesmo.
Obs.: Mas puxa vida ! O Toledo anda afiado na exemplificação em suas indicações, ainda bem que podemos contar com colegas que realmente participam no fórum. As vezes parece coisa boba, mas que fazem uma contribuição considerável para outros casos também.
A questão de usar um DBF para seleção de UF, seria válido sempre e quando haja mudanças previstas nas UFs. Mas como não é o caso, esse procedimento que o Toledo e Maligno indicou ora seja de definir no próprio código-fonte, seja através de MATRIZ (que na minha opinião, é a forma mais ágil de pesquisa), ora porque trata-se de poucos itens. Mas se por outro lado, temos outra situação em que os dados para validação são variáveis, isto é, que necessite de manutenção de cadastro, daí eu sou a favor de fazer essa consulta por DBF mesmo.
Obs.: Mas puxa vida ! O Toledo anda afiado na exemplificação em suas indicações, ainda bem que podemos contar com colegas que realmente participam no fórum. As vezes parece coisa boba, mas que fazem uma contribuição considerável para outros casos também.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Mas inserir o "@R" é o menor dos problemas, já que o efeito é o mesmo.Agora, no seu exemplo isto não vai acontecer, mas o amigo Netavin tera que colocar a picture @R em todas as mascaras, mesmo que não seja usado nenhum caracter especial na mascara, como é o caso das siglas "AL-AP-MA-PI".
Agora, se o colega não quiser fazer isso, é só usar um AT() procurando pelo "@R". Eu não faria isso. Não compensa.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
... tudo bem pessoal. Deu certinho!!
Só uma consideração a fazer: malígno, de fato o espaço no "@ say" dever ser mesmo de 18. Porém nas variáveis v_pic e cIE deverá ser a menor ou seja 8 (Bahia).
Um agradecimento a todos que contribuíram para o post inicial.
Mesmo sabendo que alguns colegas são craques no assunto, devo dizer e preciso, que mesmo assim é um aprendizado ou uma recapitulação para todos.
Muito agradecido !!!
Netavin.
[]´s
Só uma consideração a fazer: malígno, de fato o espaço no "@ say" dever ser mesmo de 18. Porém nas variáveis v_pic e cIE deverá ser a menor ou seja 8 (Bahia).
Um agradecimento a todos que contribuíram para o post inicial.
Mesmo sabendo que alguns colegas são craques no assunto, devo dizer e preciso, que mesmo assim é um aprendizado ou uma recapitulação para todos.
Muito agradecido !!!
Netavin.
[]´s
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
No teste que fiz deu tudo absolutamente certo daquele jeito que exemplifiquei. Mas se do jeito que fez resolveu, ótimo. 
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Manuel Luis Modernel
- Usuário Nível 2

- Mensagens: 66
- Registrado em: 02 Mar 2008 20:40
- Localização: São José do Rio Preto - SP
IF ... ELSEIF muito longo...
Oi NETAVIN,
Mais uma vez deixo claro que não sou programador profissional, simplesmente um curioso bastante dedicado, dai só me importava com o fato de conseguir obter do computador a resposta que eu necessitava na hora.
Dai minhas soluções nunca foram muito técnicas, tão somente me davam o que eu queria sem me importar como, quando os 640 kb do DOS se esgotavam, ai que eu ia tentar algo mais "trabalhoso" hihihi .
Nos últimos meses depois que conheçi este Forum, lamentei muito nunca antes ter encontrado pessoas como aqui tem, dai eu nunca teria parado de programar em Clipper.
Obrigado pela atenção de todos
Mais uma vez deixo claro que não sou programador profissional, simplesmente um curioso bastante dedicado, dai só me importava com o fato de conseguir obter do computador a resposta que eu necessitava na hora.
Dai minhas soluções nunca foram muito técnicas, tão somente me davam o que eu queria sem me importar como, quando os 640 kb do DOS se esgotavam, ai que eu ia tentar algo mais "trabalhoso" hihihi .
Nos últimos meses depois que conheçi este Forum, lamentei muito nunca antes ter encontrado pessoas como aqui tem, dai eu nunca teria parado de programar em Clipper.
Obrigado pela atenção de todos
OI Aqui é o Veio Modernel
A vida é um restaurante com um cardápio infinito de conhecimentos. Você pode escolher o que for que lhe poporcione prazer, a qualquer tempo, em qualquer idade. E o melhor: é tudo grátis.lamentei muito nunca antes ter encontrado pessoas como aqui tem
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Caro amigo Manuel.. Tem minha admiração e meu respeito por isto.
A minha situação não é muito diferente da sua.
Iniciei no DBaseII, III, Summer e Clipper5. Tal como vc, fiquei muitos anos sem estudar/praticar a programação. Só me interessei em retornar porque encontrei este Fórum com estas pessoas maravilhosas que se dedicam a programação Clipper e em ajudar os quém tem interesse em aprender.
Forte abraço!
Netavin.
A minha situação não é muito diferente da sua.
Iniciei no DBaseII, III, Summer e Clipper5. Tal como vc, fiquei muitos anos sem estudar/praticar a programação. Só me interessei em retornar porque encontrei este Fórum com estas pessoas maravilhosas que se dedicam a programação Clipper e em ajudar os quém tem interesse em aprender.
Forte abraço!
Netavin.
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Alteração da máscara do get em foco
Boa noite, estou tentando implementar a solução objeto deste tópico, em um programa em xHarbour, mas está retornando o seguinte:

Eu apenas troquei os nomes das variáveis de UF e IE para as que eu utilizo.
Basicamente, antes de iniciar a minha função de notas de entrada, eu declaro aquela matriz com as UF´s e PICT´s e em seguida retorno para a entrada das notas, e quando chegar nos get´s de UF e IE, deveria entrar em ação a solução proposta, mas retorna o erro exibido aí em cima.
Se eu linkar apenas a função de ajuste de pict´s, do jeito que foi proposto, funciona ok, mas implementado na minha função, não vai.
Peço a ajuda dos colegas, pois em matéria de matrizes eu sou uma negação.

Eu apenas troquei os nomes das variáveis de UF e IE para as que eu utilizo.
Basicamente, antes de iniciar a minha função de notas de entrada, eu declaro aquela matriz com as UF´s e PICT´s e em seguida retorno para a entrada das notas, e quando chegar nos get´s de UF e IE, deveria entrar em ação a solução proposta, mas retorna o erro exibido aí em cima.
Se eu linkar apenas a função de ajuste de pict´s, do jeito que foi proposto, funciona ok, mas implementado na minha função, não vai.
Peço a ajuda dos colegas, pois em matéria de matrizes eu sou uma negação.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Alteração da máscara do get em foco
Alamino, assim sem ver seu código fica dificil. Mas tudo leva a crer que é problemas de acesso ao seu vetor ou matriz. Você deve estar tentanto acessar um elemento que não existe, isto é, você está pedindo para acessar um número de elemento maior do que o tamanho em si pode ter aquele(a) vetor/matriz. O seu limite, você deve obter através do uso do LEN() e trabalhar dentro desse parâmetro. Tente utiliza o debug, que irá ajudar a você entender a estrutura que você utilizou para esse(a) vetor/matriz. Não tem nada melhor que você pegar a matriz e ver como ela está dimensionada e ver até o conteúdo de cada elemento.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: IF ... ELSEIF muito longo...
Bão,...... o código é este:
Mas como eu disse, se isolar do jeito que foi proposto, nos post´s anteriores, funciona, e usando desta maneira na minha lista de get´s, não funciona.
Em tempo: estou tentando usar em xHarbour, portanto se algum moderador quiser mover o tópico, fique à vontade.
Código: Selecionar todos
Publ getlist:= {}
PUBL aUF:={}
AADD(aUF,{"AC","@R 99.999.999/999-99"})
AADD(aUF,{"AL-AP-MA-PI","999999999"})
AADD(aUF,{"AM-GO-MT","@R 99.999.999-9"})
AADD(aUF,{"BA","@R 999999-99"})
AADD(aUF,{"CE-PB-SE","@R 99999999-9"})
AADD(aUF,{"DF","@R 99.999999.999-99"})
AADD(aUF,{"ES","@R 999.999.99-9"})
AADD(aUF,{"MG","@R 999.999.999/9999"})
AADD(aUF,{"MS","@R 9999999999-9"})
AADD(aUF,{"PA","@R 99.999999-9"})
AADD(aUF,{"PE","@R 99.9.999.9999999-9"})
AADD(aUF,{"PR","@R 99999999-99"})
AADD(aUF,{"RJ","@R 99.999.99-9"})
AADD(aUF,{"RN","@R 99.999.999-9"})
AADD(aUF,{"RO","@R 9999999999999-9"})
AADD(aUF,{"RR","@R 99.999.999-9"})
AADD(aUF,{"RS","@R 999/9999999"})
AADD(aUF,{"SC","@R 999.999.999"})
AADD(aUF,{"SP","@R 999.999.999.999"})
AADD(aUF,{"TO","@R 99.99.999999-9"})
set colo to n/w*,b/rb*,,,n/w*
@ 03,12 get xdata
@ 03,31 get xnum pict "@ZE 999999"
@ 03,44 get xcfop pict "@ZE 9999" // valid chk_cfop(@xcfop)
@ 05,12 say xcnpje color "b/w*"
@ 05,38 say xiee color "b/w*"
@ 05,65 get xdtemi
@ 07,12 get xdtsai
@ 07,33 get xcodi pict "@E 999999"
@ 09,12 get xcnpjfor pict "@E 99999999999999"
@ 09,33 get xuf pict "@!" VALID (ASCAN(aUF,{|e| xuf $ e[1]})>0)
@ 09,46 get xiefor picture (v_pic) WHEN { |oGet| TROCA_PIC(oGet,xiefor) }
@ 11,12 get xende pict "@!"
@ 11,69 get xcep pict "@R 99999-999"
@ 13,12 get xmuni pict "@!"
@ 13,60 get xhor pict "@ 99:99:99"
@ 15,06 get xfrt pict "@E 9,999.99"
@ 15,22 get xbase pict "@E 9,999.99"
@ 15,38 get xicm pict "@E 9,999.99"
@ 15,54 get xbasst pict "@E 9,999.99"
@ 15,70 get xicmsst pict "@E 9,999.99"
@ 17,06 get xdesc pict "@E 9,999.99"
@ 17,22 get xacr pict "@E 9,999.99"
@ 17,38 get xtotpro pict "@E 9,999.99"
@ 17,54 get xseg pict "@E 9,999.99"
@ 17,70 get xipi pict "@E 9,999.99"
@ 19,12 get xtot pict "@E 99,999.99"
@ 19,30 get xtran pict "@!"
@ 21,12 get xtrcid pict "@!"
@ 21,51 get xtrplc pict "@!"
@ 21,64 get xtruf pict "@!" VALID (ASCAN(aUF,{|e| xtruf $ e[1]})>0)
@ 23,12 get xtrcnpj pict "@ 99999999999999"
@ 23,31 get xtrie picture (v_pic) WHEN { |oGet| TROCA_PIC(oGet,xtrie) }
@ 25,12 get xtrend pict "@!"
set curs on
read
set curs off
function TROCA_PIC(oGet,v_uf)
local vOp
vOp := AScan(aUF,{|e|v_uf $ e[1]})
oGet:picture := aUF[vOp][2]
cIE := Space(Len(aUF[vOp][2])-3)
@ 12,29 say Space(18)
return .T.Em tempo: estou tentando usar em xHarbour, portanto se algum moderador quiser mover o tópico, fique à vontade.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Alteração da máscara do get em foco
Vamos fazer de conta que você está fazendo em Clipper... hihihi Na minha opinião, o código aplica-se tanto em Clipper como xHarbour. Tanto faz.Em tempo: estou tentando usar em xHarbour, portanto se algum moderador quiser mover o tópico, fique à vontade.
Eu isolei alguma parte do seu código para poder executá-lo e criei algumas variáveis, pois faltavam. Debuguei, como eu tinha te indicado e encontrei uma falha, veja nesta tela captura que fala por si:
Melhor seria você postar as variáveis para ter ver se é o mesmo erro que eu encontrei. Pois inicialmente se a variável é vazia, você deveria tratar para que não busque ou não proceda com a localização do elemento da matriz. Esse "ponteiro" que aparece em criculo da linha 74 está valendo zero e não existe zero elemento. Demais não sei se tem outro erro. Posso verificar depois, mas veja se resolveu.
Agora eu adicionei aquele tratamento que mencionei, e executei, mas não vejo erro. Só que o código ficou assim:
Código: Selecionar todos
Publ getlist:= {}
PUBL aUF:={}
AADD(aUF,{"AC","@R 99.999.999/999-99"})
AADD(aUF,{"AL-AP-MA-PI","999999999"})
AADD(aUF,{"AM-GO-MT","@R 99.999.999-9"})
AADD(aUF,{"BA","@R 999999-99"})
AADD(aUF,{"CE-PB-SE","@R 99999999-9"})
AADD(aUF,{"DF","@R 99.999999.999-99"})
AADD(aUF,{"ES","@R 999.999.99-9"})
AADD(aUF,{"MG","@R 999.999.999/9999"})
AADD(aUF,{"MS","@R 9999999999-9"})
AADD(aUF,{"PA","@R 99.999999-9"})
AADD(aUF,{"PE","@R 99.9.999.9999999-9"})
AADD(aUF,{"PR","@R 99999999-99"})
AADD(aUF,{"RJ","@R 99.999.99-9"})
AADD(aUF,{"RN","@R 99.999.999-9"})
AADD(aUF,{"RO","@R 9999999999999-9"})
AADD(aUF,{"RR","@R 99.999.999-9"})
AADD(aUF,{"RS","@R 999/9999999"})
AADD(aUF,{"SC","@R 999.999.999"})
AADD(aUF,{"SP","@R 999.999.999.999"})
AADD(aUF,{"TO","@R 99.99.999999-9"})
xuf := "PR"
v_pic := "!!"
xiefor := SPACE(18)
xtrie := SPACE(18)
set colo to n/w*,b/rb*,,,n/w*
/*
@ 03,12 get xdata
@ 03,31 get xnum pict "@ZE 999999"
@ 03,44 get xcfop pict "@ZE 9999" // valid chk_cfop(@xcfop)
@ 05,12 say xcnpje color "b/w*"
@ 05,38 say xiee color "b/w*"
@ 05,65 get xdtemi
@ 07,12 get xdtsai
@ 07,33 get xcodi pict "@E 999999"
@ 09,12 get xcnpjfor pict "@E 99999999999999"
@ 09,33 get xuf pict "@!" VALID (ASCAN(aUF,{|e| xuf $ e[1]})>0)
*/
@ 09,46 get xiefor picture (v_pic) WHEN { |oGet| TROCA_PIC(oGet,xuf) }
@ 23,31 get xtrie picture (v_pic) WHEN { |oGet| TROCA_PIC(oGet,xtrie) }
/*
@ 11,12 get xende pict "@!"
@ 11,69 get xcep pict "@R 99999-999"
@ 13,12 get xmuni pict "@!"
@ 13,60 get xhor pict "@ 99:99:99"
@ 15,06 get xfrt pict "@E 9,999.99"
@ 15,22 get xbase pict "@E 9,999.99"
@ 15,38 get xicm pict "@E 9,999.99"
@ 15,54 get xbasst pict "@E 9,999.99"
@ 15,70 get xicmsst pict "@E 9,999.99"
@ 17,06 get xdesc pict "@E 9,999.99"
@ 17,22 get xacr pict "@E 9,999.99"
@ 17,38 get xtotpro pict "@E 9,999.99"
@ 17,54 get xseg pict "@E 9,999.99"
@ 17,70 get xipi pict "@E 9,999.99"
@ 19,12 get xtot pict "@E 99,999.99"
@ 19,30 get xtran pict "@!"
@ 21,12 get xtrcid pict "@!"
@ 21,51 get xtrplc pict "@!"
@ 21,64 get xtruf pict "@!" VALID (ASCAN(aUF,{|e| xtruf $ e[1]})>0)
@ 23,12 get xtrcnpj pict "@ 99999999999999"
@ 23,31 get xtrie picture (v_pic) WHEN { |oGet| TROCA_PIC(oGet,xtrie) }
@ 25,12 get xtrend pict "@!"
*/
set curs on
read
set curs off
function TROCA_PIC(oGet,v_uf)
local vOp
IF v_uf=" "
vOp := 1
ELSE
vOp := AScan(aUF,{|e|v_uf $ e[1]})
ENDIF
oGet:picture := aUF[vOp][2]
cIE := Space(Len(aUF[vOp][2])-3)
@ 12,29 say Space(18)
return .T.Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: IF ... ELSEIF muito longo...
Achei a besteira que eu tava fazendo.
Em:
Eu estava atribuindo para v_uf a IE. :%
Para esta rotina de inclusão ficar melhor, falta eu colocar a checagem da IE e fazer o mesmo processo com o CNPJ. Daí vai ficar o "sací empinando a bicicleta".
Em:
Código: Selecionar todos
function TROCA_PIC(oGet,v_uf)
local vOp
vOp := AScan(aUF,{|e|v_uf $ e[1]})
oGet:picture := aUF[vOp][2]
cIE := Space(Len(aUF[vOp][2])-3)
@ 12,29 say Space(18)
return .T.
Para esta rotina de inclusão ficar melhor, falta eu colocar a checagem da IE e fazer o mesmo processo com o CNPJ. Daí vai ficar o "sací empinando a bicicleta".
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Alteração da máscara do get em foco
Era por aí... e a exceção do UF em branco não será necessária pois no proprio get está validando e não deixará passar quando for vazio. Era por aí. Sempre é bom debugar...
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.

