Página 1 de 1
Get com 000 no inicio
Enviado: 27 Out 2004 17:27
por JuniorVaz
Ola, minha pergunta desta vez acho que não é das mais complicadas, mas não sei fazer... hehehe
No get eu digito 000785, mas quando dou enter e ele pula pra outro get vira apenas 785, ele está ignorando os zeros... alguem tem alguma dica de como resolver isso? Obrigado
Enviado: 27 Out 2004 17:34
por Alessandro
Olá
Quando pegar o código coloque um valid.
Exemplo:
@ lin,col get CODIGO pict "999999" valid CORRIGE(@CODIGO)
function CORRIGE(CODIGO)
CODIGO := strzero(val(codigo),6,0)
//assim o CODIGO fica com zeros à esquerda
return CODIGO
Re: Get com 000 no inicio
Enviado: 27 Out 2004 17:47
por Gerald
JuniorVaz escreveu:Ola, minha pergunta desta vez acho que não é das mais complicadas, mas não sei fazer... hehehe
No get eu digito 000785, mas quando dou enter e ele pula pra outro get vira apenas 785, ele está ignorando os zeros... alguem tem alguma dica de como resolver isso? Obrigado
Quando se utilizar uma variavel numerica ela desconsidera mesmo os zeros as esquerda. Para que fique com os zeros tem que transformar ela em caracter, como o amigo Alessandro explicou.
Enviado: 27 Out 2004 17:51
por Clipper
Prezados Colegas
O problema é que irá gerar um erro.
Se a variável usada no get é númérica ela não poderá ser convertida para caractere com o uso da função STRZERO(), só dá para fazer isso se a variável for inicializada com sendo do tipo caractere, aí ela poderá ser incrementada e com o uso da função val e retornar como cara ctere sem problemas.
Exemplo :
Código: Selecionar todos
PRIVATE MCODIGO
MCODIGO=SPACE(6)
DO WHILE .T.
@ 10,00 GET MCODIGO PICT "999999"
READ
REPLACE CODIGO WITH MCODIGO
DBCOMMIT()
MCODIGO:=STRZERO(VAL(MCODIGO+1),6)
ENDDO
Embora eu não acho muita função de uso desta forma, você pode usar tranquilamente uma váriavel numérica e na garvação então adcionar os zeros a esquerda.
Até logo.
Marcelo
...
Enviado: 27 Out 2004 18:32
por JuniorVaz
sim, na verdade é que vai ser usado para impressão de duplicatas, e pro campo que estou citandu, sera digitado o numero da duplicata, que por coordenadas do cliente, teria que ser por exemplo 000785... Apenas usei a ideia de transforma-la em caractere, por ira ser usada apenas para impressão.. Mas muito obrigado a vcs que deram as dicas ai...
VLw mesmo
Nota de Moderação:por
Pablo César: Mensagem separada deste tópico. Foram unidas para dar sentido ao enunciado.
Re: Get com 000 no inicio
Enviado: 30 Out 2004 11:01
por kenew
Gerald escreveu:JuniorVaz escreveu:Ola, minha pergunta desta vez acho que não é das mais complicadas, mas não sei fazer... hehehe
No get eu digito 000785, mas quando dou enter e ele pula pra outro get vira apenas 785, ele está ignorando os zeros... alguem tem alguma dica de como resolver isso? Obrigado
Quando se utilizar uma variavel numerica ela desconsidera mesmo os zeros as esquerda. Para que fique com os zeros tem que transformar ela em caracter, como o amigo Alessandro explicou.
Mas no exemplo acima é só usar uma variavel string mesmo pq pela pict só aceitar numeros e qq forma q digitar no final sera convertida para zeros a esquerda, então não tem problemas no exemplo.