Página 1 de 1

Pic para aceitar -0.90

Enviado: 06 Set 2025 13:03
por paiva
get tqtd pict '@KE 999999.9999'

nao aceita eu digitar -0.90 ele passa para 0.90

se faço -1.90 ele aceita

-. atpe ainao muda ao digitar o 9 ele some com o sinal

só aceita sinal negativo se for 1 intero ou +

na hwgui aceita -0.9 normalmente com a mesa pic


o que fazer ?

Pic para aceitar -0.90

Enviado: 06 Set 2025 20:36
por JoséQuintas
Digitou zero, o valor é zero.
Queria que o valor fosse zero negativo ?

Pic para aceitar -0.90

Enviado: 06 Set 2025 21:50
por alxsts
Olá!
JoséQuintas escreveu:Digitou zero, o valor é zero
Isto está correto para o valor zero sem frações.

No caso apresentado, é como andar para a esquerda na reta numerada, por exemplo: 1,5 1,4 1,3 1,2 1,1 1 0,9... 0,1 zero -0,9 -0,8 -0,7 ...

O Harbour deveria aceitar. Talvez esteja com problema mesmo, principalmente porque a hwgui aceita, como foi informado.

Tente tirar o K da picture. Não é a solução mas talvez funcione provisoriamente...

Pic para aceitar -0.90

Enviado: 07 Set 2025 16:33
por paiva
Xharbour 1.2.3

a MUITO tempo atrás quando usava o XHB Pago

tive que colocar um campo logo após a qtd ai se colocavam - eu forçava ficar negativo multiplicando por -1

+ desta vez vou avisar para quando precisar recuar o cursor e colocar o -
ai ele aceita ficar -0,9

+ ou é FALHA ou é algum CH H etc que esta afetando

no MESMO PRG após o hwgui.ch na tela gráfica funciona OK

no xharbour1.2.3 + wvw com ou sem K E ETC não funciona

Pic para aceitar -0.90

Enviado: 08 Set 2025 09:42
por JoséQuintas
Troca a getsys.
Não compare gui com console, nada a ver, são rotinas totalmente diferentes pra digitação.

Pic para aceitar -0.90

Enviado: 08 Set 2025 11:23
por Kapiaba
Picture Codes

Say Picture Functions
B Display numbers left-justified ¦ X Display DB after negative numbers
C Display CR after positive numbers ¦ Z Display zeros as blanks
D Display date in SET DATE format ¦ ( Enclose negative numbers in parens
E Display date in British format ¦ ! Convert alpha characters to upper
R Insert non-template characters ¦
Say Picture Template Symbols
A Display digits for any data type ¦ ! Convert alpha character to upper
N " ¦ $ Display dollar sign instead of
X " ¦ leading space in a numeric
9 " ¦ * Display asterisk instead of
# " ¦ leading space in a numeric
L Display logicals as "T" or "F" ¦ . Specify a decimal point position
Y Display logicals as "Y" or "N" ¦ , Specify a comma position
Get Picture Functions
A C Allow only alpha characters
B N Display numbers left-justified
C N Display CR after positive numbers
D D,N Display dates in SET DATE format
E D,N Display dates with day and month inverted
independent of the current DATE SETting,
numerics with comma and period reverse
K All Delete default text if first key is not a cursor key
R C Insert non-template characters in the display but do not
save in the Get variable
S<n> C Allows horizontal scrolling within a Get. <n> is an integer
that specifies the width of the region
X N Display DB after negative numbers
Z N Display zero as blanks
( N Display negative numbers in parentheses with leading spaces
) N Display negative numbers in parentheses without leading spaces
! C Convert alphabetic character to upper case
Get Picture Template Symbols
A Allow only alphabetic characters
N Allow only alphabetic and numeric characters
X Allow any character
9 Allow digits for any data type including sign for numerics
# Allow digits, signs and spaces for any data type
L Allow only T, F, Y or N
Y Allow only Y or N
! Convert alphabetic character to upper case
$ Display a dollar sign in place of a leading space in a numeric
* Display an asterisk in place of a leading space in a numeric
. Display a decimal point
, Display a comma


B Exibe números justificados à esquerda
C Exibe CR após números positivos
D Exibe datas no formato SET DATE
E Exibe datas e números no formato britânico
R Caracteres não-modelo são inseridos
X exibe DB após números negativos
Z Exibe zeros como espaços em branco
(Inclui números negativos entre parênteses
! Converte caracteres alfabéticos em maiúsculas
-------------------------------------------------- -------------------

A, N, X, 9, # Exibe dígitos para qualquer tipo de dados
L Exibe lógicas como "T" ou "F"
Y Exibe lógicas como "Y" ou "N"
! Converte caracteres alfabéticos em maiúsculas
$ Exibe um cifrão no lugar de um espaço inicial em um número
* Exibe um asterisco no lugar de um espaço inicial em um número
. Especifica a posição do ponto decimal
, Especifica uma posição de vírgula
-------------------------------------------------- ----------------

NOTA: Funções GET / regras de formatação:

@A Permite apenas caracteres alfabéticos.
Números @B serão justificados à esquerda
@C Todos os números positivos serão seguidos por CR.
@D Todas as datas estarão no formato SET DATE.
@E As datas serão em formato britânico: números em formato europeu.
@K Permite que um valor sugerido seja visto dentro do GET
área, mas a limpa se qualquer tecla diferente do cursor for pressionada quando
o cursor está na primeira posição na área GET.
@R Serão inseridos caracteres não-modelo.
@S <nSize> Permite a rolagem horizontal de um campo ou variável que
tem <nSize> caracteres de largura.
@X Todos os números negativos serão seguidos por DB
@Z Exibe valores zero como espaços em branco.
@! Força letras maiúsculas
@ (Exibe números negativos entre parênteses com espaços à esquerda.
@) Exibe números negativos entre parênteses sem espaços à esquerda.

OBTER modelos / regras de formatação:

A Somente caracteres alfabéticos são permitidos.
N Somente caracteres alfabéticos e numéricos permitidos
X Qualquer caractere permitido.
L Apenas T ou F permitidos para dados lógicos.
Y Somente Y ou N permitidos para dados lógicos.
9 Somente dígitos, incluindo sinais, serão permitidos.
# Apenas dígitos, sinais. e os espaços serão permitidos.
! Os caracteres alfabéticos são convertidos em maiúsculas.
$ Dollar será exibido no lugar do líder
espaços para tipos de dados numéricos.
* Asterisco ,, será exibido no lugar de espaços iniciais
para tipos de dados numéricos.
. Posição do ponto decimal.
, Posição da vírgula.

Pic para aceitar -0.90

Enviado: 12 Set 2025 11:02
por rochinha
Amiguinhos,

paiva
use

get tqtd pict '@E ######.9999

Pic para aceitar -0.90

Enviado: 15 Set 2025 08:46
por paiva
Rochinha BOM dia

não funcionou tambem.

já falei para a cliente que tem que recuar o cursor e colocar denovo o sinal negativo rs

Pic para aceitar -0.90

Enviado: 15 Set 2025 13:07
por clodoaldomonteiro
Boa tarde.

Fiz um teste aqui e funciona normal com meu GETSYS.
Pergunto se vc não alguma alteração no seu, e caso tenha feito, tem q analisar qual alteração causou o problema.

Pic para aceitar -0.90

Enviado: 15 Set 2025 14:30
por alxsts
Olá!

clodoaldomonteiro escreveu:Fiz um teste aqui e funciona normal com meu GETSYS
Você testou com Harbour? O Paiva usa xHarbour. Minha dúvida é exatamente esta. Se funciona no Harbour e o problema é no xHarbour. Talvez os dois funcionem normalmente e o colega tenha feito alguma alteração que está causando o problema. No momento não posso testar e nem tenho xHarbour.

Pic para aceitar -0.90

Enviado: 22 Set 2025 07:19
por bencz
Bom dia

Tente:

Código: Selecionar todos

FUNCTION MAIN()
   LOCAL tqtd := 0

   CLS
   @ 10, 10 SAY "Digite um valor (ex: -0.90):"
   @ 12, 10 GET tqtd PICTURE "@K 999999.9999"  ;
      VALID ( tqtd := IF( Left( Str( tqtd, 12, 4 ), 1 ) == "-", tqtd, tqtd ), .T. )

   READ

   CLS
   ? "Valor digitado:", tqtd
   WAIT "Pressione qualquer tecla..."
RETURN NIL