Vantagem do hb_DefaultValue()

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Vantagem do hb_DefaultValue()

Mensagem por JoséQuintas »

Olhem esse fonte

Código: Selecionar todos

Function GetControlSafeRow (i)

RETURN IF (ValType(ControlByIndex( I ):CTRL018) == "N", ControlByIndex( I ):CTRL018, 0)   // for SplitBox

Function GetControlSafeCol (i)

RETURN IF (ValType(ControlByIndex( I ):CTRL019) == "N", ControlByIndex( I ):CTRL019, 0)   // for SplitBox
E que tal isto:

Código: Selecionar todos

FUNCTION GetControlSafeRow( i )

   RETURN hb_DefaultValue( ControlByIndex( I ):CTRL018, 0 )

FUNCTION GetControlSafeCol( i )

   RETURN hb_DefaultValue( ControlByIndex( I ):CTRL019, 0 )
Futuramente pode ser o controle ao invés de Index

Código: Selecionar todos

FUNCTION GetControlSafeRow( oControl )
   RETURN hb_DefaultValue( oControl:CTL018, 0 )

FUNCTION GetControlSafeCol( oControl )
   RETURN hb_DefaultValue( oControl:CTL019, 0 )
Então....
Olhando assim a alteração é simples.
Mas pensem nisso ocorrendo 16.000 vezes.
Só fazendo por etapa, pra alteração ser mais segura.
Chega uma hora que os números vão se embaralhando na cabeça.

Voltando ao hb_DefaultValue()
Ele ajuda a tornar o fonte mais legível.
Se o tipo for diferente do default, assume o default.

E a gente aproveita o fonte economizado pra deixar o fonte ainda mais claro, renomeando variável por exemplo

Código: Selecionar todos


FUNCTION GetControlSafeRow ( nIndex )

   RETURN hb_DefaultValue( ControlByIndex( nIndex ):CTRL018, 0 )   // for SplitBox

FUNCTION GetControlSafeCol ( nIndex )

   RETURN hb_DefaultValue( ControlByIndex( nIndex ):CTRL019, 0 )   // for SplitBox
Nessas horas que você se convence que vale a pena não duplicar nomes, igual o uso de WITH OBJECT.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder