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
Código: Selecionar todos
FUNCTION GetControlSafeRow( i )
RETURN hb_DefaultValue( ControlByIndex( I ):CTRL018, 0 )
FUNCTION GetControlSafeCol( i )
RETURN hb_DefaultValue( ControlByIndex( I ):CTRL019, 0 )
Código: Selecionar todos
FUNCTION GetControlSafeRow( oControl )
RETURN hb_DefaultValue( oControl:CTL018, 0 )
FUNCTION GetControlSafeCol( oControl )
RETURN hb_DefaultValue( oControl:CTL019, 0 )
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
