Clipper On Line • Ver Tópico - Formatar a picture no início da digitação

Formatar a picture no início da digitação

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Formatar a picture no início da digitação

Mensagempor Softwhouse » 22 Jan 2021 17:44

Alguém poderia dar uma luz nessa rotina? Não formata o GetBox corretamente.


#include "minigui.ch"

Procedure Main

Local cMascara:= Space(20)
Local cNome:= Space(40)

        Define Window Form_1 ;
                 AT 0,0 ;
                 Width  600 ;
                 Height 400 ;
            NoSize ;
                 Main    

                Define Label Label_Mascara
                          Col 010
                          Row 137
                          AutoSize .T.
                          Value 'Mascara:'
                End Label

                Define GetBox Gbox_Mascara
                          Col 090
                          Row 134
                          Width 128
                          Value cMascara
                          Picture '####################'
                          OnChange {||MudaPicture(Form_1.Gbox_Mascara.Value,cMascara)}   
                End GetBox
       
           Define Label Label_Nome
                          Col 010
                Row 170
                     AutoSize .T.
                Value 'Nome:'
                End Label
       
           Define GetBox Gbox_Nome
                     Col 090
                Row 167
                          Width 250
                Value cNome
                End GetBox       

End Window       
         
Form_1.Center
Form_1.Activate   
   
Return

Function MudaPicture()
Local cTxt
cTxt:= GetProperty('Form_1', 'Gbox_Mascara', 'Value')
If SubStr(cTxt,1,1) == '1'     
   SetProperty('Form_1','Gbox_Mascara','Picture', '9.999.999.999')
   DoMethod('Form_1','Gbox_Mascara','SetFocus')
EndIf
Return(.T.)

Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 254
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 9 vezes

Formatar a picture no início da digitação

Mensagempor asimoes » 23 Jan 2021 17:03

A sua chamada a função:

MudaPicture(Form_1.Gbox_Mascara.Value,cMascara)

Os parâmetros da função MudaPicture ?????
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 5008
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 335 vezes
Mens.Curtidas: 232 vezes

Formatar a picture no início da digitação

Mensagempor Softwhouse » 24 Jan 2021 19:09

Olá ASimoes,

Fiz o exemplo na corrida, na verdade os parâmetros não são necessários. Ocorre que na Picture fica assim: 1..11.111.111

Se eu definir a Picture como '99.999.999.999' funciona.
Fernando
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 254
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 9 vezes

Formatar a picture no início da digitação

Mensagempor asimoes » 24 Jan 2021 21:16

O valor é string ? tentou com @R ? se for string tem que preencher com espaços a frente do número para usar @R
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 5008
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 335 vezes
Mens.Curtidas: 232 vezes

Formatar a picture no início da digitação

Mensagempor Softwhouse » 25 Jan 2021 09:53

Olá o valor são números e pontos.
Fernando
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 254
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 9 vezes

Formatar a picture no início da digitação

Mensagempor Softwhouse » 05 Fev 2021 19:29

Alguém saberia como relatar esse bug ao desenvolvedor da Minigui ?
Fernando
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 254
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 9 vezes

Formatar a picture no início da digitação

Mensagempor asimoes » 05 Fev 2021 20:56

Isso ai vc vai ter que tratar antes de colocar no campo, pode ser até usando a função Transform
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 5008
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 335 vezes
Mens.Curtidas: 232 vezes

Formatar a picture no início da digitação

Mensagempor asimoes » 05 Fev 2021 21:03

Olhando a documentação:

SetProperty('Form_1','Gbox_Mascara','Picture', '9.999.999.999')

Picture aceira @R, se você diz que o valor já vem com os pontos então não vejo sentido o uso de picture, a não ser que você remova os ponto e deixe a função formatar com a picture
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 5008
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 335 vezes
Mens.Curtidas: 232 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro