Histórico da Página
...
La función Type() tiene la funcionalidad de retornar el tipo de dato de una determinada variable, con la ventaja de tener éxito aunque la variable no exista, diferente de la función ValType().
Se recomienda el uso de Type() cuando no se puede saber si una variable estática o pública existe y este conocimiento es necesario. Generalmente se utiliza cuando se pretende grabar el estado de una variable antes de modificarla, para que pueda restaurarse posteriormente, como sucede con las variables N, aCols y aHeader.
Ejemplo:
// TypeExample.prw
#INCLUDE "TOTVS.CH"
Function TypeExample()
Local nLastN := Nil
If Type("N") != "U"
nLastN := N
EndIf
// Haz alguna cosa con la variable N.
If Type("N") != "U"
N := nLastN
EndIf
Return
...
Existen algunos cuidados necesarios para la creación y utilización de variables del tipo array, como por ejemplo:
- En la creación siempre debe inicializarse como un Array.
- Ejemplo:
...
- Cargar en líneas en lugar de colocarlos en una sola línea de comando y colocar una posición por línea.
- Ejemplo:
...
- Para ayudar en el mantenimiento y utilización de este Array, es importante documentar siempre cada posición.
- Ejemplo:
...
- Antes de referenciar los datos de un Array, es necesario verificar si realmente tiene datos cargados, para que no haya error.
- Ejemplo:
...
A todas las funciones que reciben información por medio de los parámetros, es necesario colocar una Preconfiguración de cada uno de estos, respetando la regla de negocio y en caso de que no haya cómo hacerlo, simplemente inicializarla. De esta manera, siempre que estos parámetros se utilicen en líneas de códigos como condición, comparación y etc., quedarán protegidas de errores.
Ejemplo:
// DefaultExample.prw
Function DefaultExample()
OldFunction()
Return
Static Function OldFunction( nNewPar )
Local nRet := 0
Default nNewPar := 10
// Utilizo el nNewPar sin problema.
nRet := 10 * nNewPar
Return nRet
De esta manera, si la función "OldFunction" se llama sin el parámetro cNewPar informado, no ocurrirá error.