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

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

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

Mensagem por Softwhouse »

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

Código: Selecionar todos


#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.)

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

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

Mensagem por asimoes »

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)
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

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

Mensagem por Softwhouse »

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
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

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

Mensagem por asimoes »

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)
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

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

Mensagem por Softwhouse »

Olá o valor são números e pontos.
Fernando
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

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

Mensagem por Softwhouse »

Alguém saberia como relatar esse bug ao desenvolvedor da Minigui ?
Fernando
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

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

Mensagem por asimoes »

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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

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

Mensagem por asimoes »

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)
Responder