Pular o get

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Mensagem por Hasse »

Olá amigos.

Pelo que entendí o nossa amigo está com problema de formatação do
resultado na tela.
Existem várias maneiras de exibir o valor de uma váriável numérica
na tela, tanto com SAY quanto com GET.

1) com máscara fixa:
a := 55.678
b := STR(MyFunc(a),10,05)
@ x,y SAY b
===>> saída: [ 32.44300] && só para exemplo.


2) com máscara fixa:
a := 55.678
@ x,y SAY STR(MyFunc(a),10,05)
===>> saída: [ 32.44300] && só para exemplo.


3) com máscara fixa e com zeros à esquerda:
a := 55.678
b := STRZERO(MyFunc(a),10,05)
@ x,y SAY b
===>> saída: [0032.44300]


4) com máscara fixa e com zeros à esquerda:
a := 55.678
@ x,y SAY STRZERO(MyFunc(a),10,05)
===>> saída: [0032.44300]


5) com máscara variável:
a := 55.678
b := "99999.99999"
@ x,y SAY TRANSFORM(MyFunc(a),b)
===>> saída: [ 32.44300]


6) com máscara varável usando GET (ver NOTA abaixo)
a := 55.678
b := "99999.99999"
@ x,y GET a PICT b VALID MyFunc(a) WHEN .f.
===>> saída: [ 32.44300]

NOTA: A cláusula WHEN falsa evita o acesso do cursor aquele campo, mas
o valor é impresso na tela. Como não testei esta forma, é possível que
a Função não seja acessada quando a cláusula WHEN seja falsa, como é o
presente caso. É neccessário testar para ver no que dá.

Um grande abraço.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
And
Usuário Nível 3
Usuário Nível 3
Mensagens: 163
Registrado em: 25 Set 2005 18:31
Localização: São Paulo/SP

Mensagem por And »

Para resolver:

**************************************
* TESTANDO SALDO DE GET
**************************************
LOCAL VN_TOTAL, VN_PAGO
PRIVATE VN_TROCO, VN_SALDO

CLS

VN_TOTAL := 0000000
VN_PAGO := 0000000
VN_TROCO := 0000000
VN_SALDO := 0000000

@ 10,10 SAY "TOTAL ...:" GET VN_TOTAL PICT "9999.99"
@ 12,10 SAY "PAGO ....:" GET VN_PAGO PICT "9999.99"
@ 14,10 SAY "TROCO ...:" GET VN_TROCO PICT "9999.99" WHEN(FUNCAO(VN_TOTAL,VN_PAGO))
@ 16,10 SAY "SALDO ...:" GET VN_SALDO PICT "9999.99" WHEN(SALDO(VN_TOTAL,VN_PAGO))
READ




FUNCTION FUNCAO(VN_TOTAL,VN_PAGO)

VN_TROCO := (VN_TOTAL-VN_PAGO)

RETURN(.F.)



FUNCTION SALDO(VN_TOTAL,VN_PAGO)

VN_SALDO := (VN_TOTAL-VN_PAGO)

RETURN(.T.)


Obs: Em caso de duvidas poste aqui.


:xau
Anderson
Clipper 52e/Clipper 53b/Blinker 7/Vlib/Fglib/DBFNTX
_______________________________________________
Migrando para [x]Harbour 0.99.60 (SimpLex) + MiniGUI 1.2 Exp. (Build 22)
_______________________________________________
Assine o manifesto dos artistas pela preservação da amazônia.
support sistemas
Usuário Nível 2
Usuário Nível 2
Mensagens: 73
Registrado em: 22 Set 2005 23:43
Localização: Londrina

Mensagem por support sistemas »

Descupe, mais ainda nao entendi direito, se for o que estou pensando
de nao aceitar o saldo e so verificar se saldo e valido e trabalhar com o when
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Pular o get

Mensagem por Josmar dos Santos »

Ola Support Sistemas.
E identico que vc falow. Veja bem, quando a função e declarada na rotina do saldo_rec, ele executa a subtração e jogo o valor no mesmo, so não quero que o cursor acione o saldo, ou seja, jogue somente o valor da função e ja cadastra o valor no saldo_rec. Falo isso porque não quero o usuário tenha acesso nesse saldo_rec para não mudar o valor, porque uso essa variavel como determinante do setfilter...entendeu ?...Mas as informações que os colegas passaro -me , ja são excelentes. Da para trabalhar legal, mas e claro se vier mais, melhor. O conhecimento e a unica coisa que ninguem podera tirar de nos, portando se vc tiver mais alguma coisa a nos declarar, sera muito bem vinda !
grato Josmar
Avatar do usuário
filizola
Usuário Nível 3
Usuário Nível 3
Mensagens: 421
Registrado em: 19 Ago 2003 20:10
Localização: Belo Horizonte/MG

Mensagem por filizola »

OLHEM O POST QUE EU HAVIA COLOCADO ANTEIORMENTE !!!!!!

@ lin,col get valor_rec pict "@ez 99,999.99" valid(IFU03011(valor_rec,@saldo_rec))

function ifu03011(valor_rec_f, saldo_rec_f)

saldo_rec_f=saldo_rec_f-valor_rec_f
@ lin,col say saldo_rec_f pict "@ez 99,999.99"
return(.t.)
"Um passo a frente, e já não estará mais no mesmo lugar..."
Josmar dos Santos
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 11 Jan 2006 18:36
Localização: Botucatu-SP

Pular o get

Mensagem por Josmar dos Santos »

Ola galera...testei todas as rotinas e praticamente todas funcionou, mas a que mais deu certo ao meu sistema foi do "and"....mas quero lembrar que todas as rotinas serao guardadas aqui comigo, porque todas sao super validas.....gostaria de agradecer a todos pela força e pela atenção e pra mim esse assunto esta encerrado, a menos, e claro que alguem queira proceguir com ele...valew mais uma vez galera......
Um abraço a todos...
josmar
support sistemas
Usuário Nível 2
Usuário Nível 2
Mensagens: 73
Registrado em: 22 Set 2005 23:43
Localização: Londrina

Mensagem por support sistemas »

Josmar descupe a demora no retorno


e isso mesmo que eu uso no valid eu chamo a funcao no get anterior e no get do saldo eu trato o when ex: se valor for =0 ele para senao foi


entendeu

uso isso direto
qual coisa mande email roberto_support@hotmail.com
Responder