Página 1 de 2
Duvidas com codigo de custo
Enviado: 29 Mar 2007 12:07
por Gilberto M Silva
Olá pessoal,
estou com um nó q pra mim tá difícil de desatar. eh o seguinte: tenho q transformar uma variavel tipo string com letras em numérico ex:
C A J U E I R O S X
1 2 3 4 5 6 7 8 9 0
Cada letra corresponde a um número, ex: transformar "CJU,SX)" para 134,90, isso quando o usuário digitar o codigo de custo o sistema transformar em numérico e armazenar em um arquivo. Alguem tem ideia como faço isso?
no aguardo,
Gilberto Silva[/b]
Re: Duvidas com codigo de custo
Enviado: 29 Mar 2007 12:16
por Maligno
Gilberto M Silva escreveu:C A J U E I R O S X
1 2 3 4 5 6 7 8 9 0
Isso é coisa do tempo do guaraná com rolha. Na primeira vez que vi isso tinha 15 anos. Faz tempo!

)))
Mas a palavra que usávamos era CHUMBEIROS. Sem vírgula.
Felizmente não é coisa complicada. Para decodificar: traduza a palavra para uma string de números, converta essa string em número e divida-o por 100. Para codificar é só fazer o inverso.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 29 Mar 2007 18:07
por Eolo
como fazer calculo com a hora?
Ex: hor1 := time()
hor2 := time()
hor3 := hor2 - hor1
Gilberto,
Você colocou a pergunta meio "escondida", quase não deu pra perceber... Bom, não sei se já tem alguma solução no forum, mas vou abrir um novo tópico a respeito,
"Cálculo de Intervalo de Tempo".
Eolo
Enviado: 29 Mar 2007 21:57
por Toledo
Gilberto, segue abaixo um exemplo do que você pode fazer:
Código: Selecionar todos
cVar:="CJU,SX"
nVlr:=CTOV(cVar)
PROC CTOV(cVar)
LOCAL cRet:=""
cLetras:="CAJUEIROSX"
FOR i=1 TO LEN(cVar)
IF SUBS(cVar,i,1)=","
cRet+="."
ELSE
cRet+=RIGHT(STR(AT(SUBS(cVar,i,1),cLetras),1,0),1)
ENDIF
NEXT
RETU VAL(cRet)
Abraços,
Enviado: 29 Mar 2007 22:00
por Maligno
Eolo escreveu:Você colocou a pergunta meio "escondida", quase não deu pra perceber...
Pois só agora que você falou que fui reparar. Nunca vi ninguém postando pergunta na própria assinatura. Não é uma boa tática.

))))
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 30 Mar 2007 00:14
por Maligno
Se é pra dar um exemplo de solução pro caso, tenho algo mais fácil:
Código: Selecionar todos
#define STR_LIST "CHUMBEIROS"
#define NUM_LIST "0123456789"
//********************
function Cod2Num(cStr) // supondo que cStr não contém a vírgula
return Val(STRanslate(cStr,STR_LIST,NUM_LIST))/100
//********************
function Num2Cod(nVal)
return STRanslate(LTrim(Str(nVal*100,15,2)),NUM_LIST,STR_LIST)
A função STRanslate() está num objeto disponível na minha página.
[]'s
Maligno
http://www.buzinello.com/prg
Enviado: 09 Dez 2007 11:23
por Gilberto M Silva
Função que gera preço de custo a partir do Código de custo
cVar:="CJU,SX"
nVlr:=CTOV(cVar)
PROC CTOV(cVar)
LOCAL cRet:=""
cLetras:="CAJUEIROSX"
FOR i=1 TO LEN(cVar)
IF SUBS(cVar,i,1)=","
cRet+="."
ELSE
cRet+=RIGHT(STR(AT(SUBS(cVar,i,1),cLetras),1,0),1)
ENDIF
NEXT
RETU VAL(cRet)
Para fazer o contrário o usuário digita 0 Preço de Custo e o sistema gerar o código de custo?? o que tenho que mudar nesta função()?? :)Pos
Velho pra caramba
Enviado: 10 Dez 2007 17:16
por Netavin
... Malígno, você tá muito novo ainda rapaz!! Essa é do tempo em que o Mal Deodoro ainda era cabo.
[]´s
Netavin
Enviado: 10 Dez 2007 18:32
por Augusto
Eu já conheço como "PERNAMBUCO"... vai saber...
Mas no mesmo processo do Maligno...
Eolo escreveu:Gilberto,
Você colocou a pergunta meio "escondida", quase não deu pra perceber... Bom, não sei se já tem alguma solução no forum, mas vou abrir um novo tópico a respeito, "Cálculo de Intervalo de Tempo".
Maligno escreveu:Pois só agora que você falou que fui reparar. Nunca vi ninguém postando pergunta na própria assinatura. Não é uma boa tática.
Caraca !!!! Não entendi nada... parece papo de maluco... Dá prá alguem me explicar ??
Enviado: 10 Dez 2007 18:40
por Pablo César
Resulta que o colega tinha feito a sua pergunta onde normnalmente é definida a assinatura dos usuários daqui do fórum (no perfil dele). Depois ele corrigiu. Augusto, você ja viu o nosso chat em
https://pctoledo.org/forum/chat.php ?
Enviado: 10 Dez 2007 18:59
por Gilberto M Silva
cVar:="CJU,SX"
nVlr:=CTOV(cVar)
PROC CTOV(cVar)
LOCAL cRet:=""
cLetras:="CAJUEIROSX"
FOR i=1 TO LEN(cVar)
IF SUBS(cVar,i,1)=","
cRet+="."
ELSE
cRet+=RIGHT(STR(AT(SUBS(cVar,i,1),cLetras),1,0),1)
ENDIF
NEXT
RETU VAL(cRet)
E Aé, Para fazer o contrário, o usuário digita 0 Preço de Custo e o sistema gerar o código de custo! o que tenho que mudar nesta função()??
Enviado: 10 Dez 2007 19:03
por Gilberto M Silva
É o seguinte, O cliente tem 3 terminais de frente de loja e não quer que os clientes dele veja o preço de custo do produto, o vendedor precisa saber o custo médio do produto para poder dá um desconto maior para os clientes Vip, então ele quer que fique na tela o codigo de custo, que só o vendedor saberá o valor do custo.
Enviado: 10 Dez 2007 19:05
por Gilberto M Silva
Eu sei que é do tempo de se defecar dicoca, mais o dito cujo quer assim!!!
Enviado: 10 Dez 2007 19:10
por Gilberto M Silva
O Toledo postou este exemplo onde digita-se o código e gera o preço de custo estou querendo o contrário digita-se o preço de custo e gera o codigo de custo. Gostaria de saber o que tenho que mudar nesta função.
Enviado: 11 Dez 2007 13:16
por Gilberto M Silva
//********************
function Cod2Num(cStr) // supondo que cStr não contém a vírgula
return Val(STRanslate(cStr,STR_LIST,NUM_LIST))/100
//********************
function Num2Cod(nVal)
return STRanslate(LTrim(Str(nVal*100,15,2)),NUM_LIST,STR_LIST)
A função STRanslate() está num objeto disponível na minha página.
Ô Maligno em que objeto encontra-se disponível esta função??? obg. :-O