Página 1 de 6

Alinhar GET numérico à DIREITA

Enviado: 29 Mar 2007 07:56
por Eolo
Pessoal,

Como fazer para, nos GETs de campos NUMÉRICOS, a digitação ir sendo alinhada à direita (e não à esquerda), respeitando o picture c/ decimais, como no exemplo abaixo?

Eolo

Código: Selecionar todos

Esquerda      DIREITA
(padrão)

___.___,__    ___.___,__
1__.___,__    ___.__1,__
12_.___,__    ___._12,__
123.___,__    ___.123,__
123.4__,__    __1.234,__
__1.234,__    __1.234,5_
__1.234,5_    __1.234,56
__1.234,56    __1.234,56

Enviado: 29 Mar 2007 08:21
por janio
Amigo Eolo,

Taí uma que tbem gostaria de saber há tempos... o pobre do usuário fica doidim na hora da digitação.... já tive diversas reclamações nesse sentido.

Um get com picture '@e 99,999.99', na digitação do valor 192, por exemplo, aparece assim:

Código: Selecionar todos

19.2__,__
Em resumo: Horrível!

Jânio

Enviado: 29 Mar 2007 08:37
por Eolo
Janio,
Eu já vi um programa Clipper funcionando assim, só que o "colega" que o desenvolveu se recusou a passar a dica. Eu já tentei fuçar no GETSYS, mas não descobri como fazer.
Eolo

Enviado: 29 Mar 2007 10:16
por Pablo César
Eolo,

Legal einnn. O colega, que recusou a dar a dica seria daqui do FORUM ?.
Eu não gostaria de excluir a ninguém, mas seria bom que ele participasse do FORUM e visse que TODOS nós temos muito a ganhar, compartilhando os recursos, idéias, debates entorno do CLIPPER.Convide a ele a participar.

Eu confesso que eu tenho interesse também neste recurso. Não é impossível de se fazer. Acho que o caminho está na alteração do GETSYS.PRG

Mas ao contrário do colega EOLO, eu gostarua de fazer a alinhação começando da casa decimal (como nos bancos), a medida que vai digitando vai movendo-se à esquerda ocupando as casa decimais conforme a quantidade digitada. Mas não ter que usar a vírgula nem o ponto decimal.

Acho que poderiamos intentar desenvolver e disponibilizá-lo a todo mundo. O quê vocês acham ?

Um clip-abraço :)Pos

Enviado: 29 Mar 2007 10:34
por Pablo César
Eu tive pensando, que não seria uma má idéia alinhar como o EOLO diz. Nesse caso, poderia ser feito com dois tipos de alinhamentos, como se fossem 2 GETS. A parte interia do número, movendo-se de direita para esquerda e na parte decimal mover-se de esquerda para direita. Acho que seria a melhor opção. De somente mudar quando digitar <vírgula> ou <ponto> para determinar que é decimal. Mas como fazer para sair do decimal para a parte interia do campo ?.

Vamos lá... idéias surgem assim...

Ja deram uma olhada no DIGINVC do PCTOLEDO, que está no item 012-
Digitação invertida de DOWNLOAD / FUNÇÕES COM FONTES:

https://pctoledo.org/download/cop ... t&deonde=2

Me parece que só faz mas para campos tipo caracter.

GETSYS - alinhamento

Enviado: 29 Mar 2007 10:56
por Daniel
esta aqui o getsys que faz isto:

Enviado: 29 Mar 2007 11:00
por Eolo
Pablo,

a) não, o "colega" não é aqui do forum.

b) já dei uma olhada em várias soluções, mas todas tratam de caracteres... E GET de string já tá blz, carregando da esquerda pra direita, o que é natural. Não tem que mexer.

Nos números, a idéia é essa mesmo, "dois" GETs, um pro inteiro e outro pra fração, "focados" pela inserção do ponto decimal. Aliás, já é isso que o GETSYS faz, só falta é fazer o inteiro carregar da direita pra esquerda, pra combinar melhor com o picture.

Eolo

Enviado: 29 Mar 2007 11:13
por Eolo
Daniel,

Valeu! Agora vou localizar e testar só a parte dos números, não vejo necessidade de mexer em acentuação e maiúsculas/minúsculas.

No caso de e-mails (que me parece o único campo alvo), acho mais simples botar no VALID para o campo só aceitar determinados caracteres e, na saída, salvar com o LOWER().

Abraço.

Eolo

Enviado: 29 Mar 2007 11:32
por Pablo César
Valeu Daniel. Eu ja testei e funciona beleza !. Tanto para numeros, como para textos. funciona muito bem.

Acho que a idéia é construir um GETSYS genérico que possa tratar:

- emails
- endereço de sites
- senhas (mostra um quadradinho na medida que digitado)
- Datas (trata a questão do novo milenio, adiciona/subtari por dia com as telca + e -
- E agora o numérico com alinhamento invertido.

Acho muito legal tudo isto. Vejam que há dias atrás foi postado um GETSYS e que tudo poderia ser CONCILIADO para formar um GETSYS genérico. Vejam também em:

https://pctoledo.org/forum/viewto ... 5&start=15

Valeu, colegas você são de mais ! Um grande clip-abraço ! :)Pos :* -:] :{ :)) :D

Enviado: 09 Abr 2007 21:32
por janio
Daniel escreveu:esta aqui o getsys que faz isto:


Olá Daniel,

Esse getsys.prg funciona também com xharbour??? Se não, como fazer essa adaptação para que funcione???

Preciso muito disso...

Jânio

Enviado: 15 Jun 2007 08:15
por Daniel
janio escreveu:
Olá Daniel,

Esse getsys.prg funciona também com xharbour??? Se não, como fazer essa adaptação para que funcione???

Preciso muito disso...

Jânio
Ola Jânio

Ela funciona em xHarbour sem ter que mexer em nada.

Enviado: 19 Jun 2007 11:09
por alaminojunior
Minha gente, a GetCalc que vem com o Clipper não faz isso ?
Desculpem se não entendi direito.

Enviado: 19 Jun 2007 13:27
por Pablo César
Caro Alaminio,

Eu acho que você estaria confundindo este exemplo GETCALC.PRG que é feito em FiveWin, porque no meu Clipper não existe nada parecido. Estive pesquisando na WEB e ví este aplicativo: www.reportdesigner.info/downloads/GetCalc.zip seria este ao qual você se refere ?

Pois eu não tenho o FiveWin e não vejo como adaptar para código Clipper.

O bom que o exemplo que o colega Daniel mostrou maior flexibilidade para fazer outras implementações que poderiam melhorar mais ainda o GETSYS.

Enviado: 19 Jun 2007 14:05
por MARCELOG
Jânio disse:

"Olá Daniel,

Esse getsys.prg funciona também com xharbour??? Se não, como fazer essa adaptação para que funcione???

Preciso muito disso...

Jânio"

Basta usar o Style ES_RIGHT

MarceloG

Enviado: 20 Jun 2007 10:53
por alaminojunior
Este getcalc que mencionei, vem junto com o livro do Rick Spence.
Já utilizei com clipper 5.2 e 5.3, roda blz. (Se a intenção é fazer os dados entrarem da direita para a esquerda, pelo menos foi isso que entendi ! )
No momento em que estou postando, não tenho como enviar um exemplo, porém se os colegas quiserem, e-mail-me.