11 de julio de 2009

¿Es una variable o propiedad un array?

Entrada original: Is variable or property an array?
http://www.berezniker.com/content/pages/visual-foxpro/-varable-or-property-array
Autor: Sergey Berezniker
Traductor: Luis María Guayán

Cuando validamos un parámetro en una función o procedimiento, a veces es necesario determinar si el parámetro pasado es una matriz (array). Hasta VFP 9.0 no había una manera evidente de hacerlo.

En VFP 9.0 la función TYPE() acepta un segundo parámetro adicional: 1, para determinar si se la expresión pasada es una matriz, una colección o ninguno de los dos. En versiones anteriores de VFP podemos usar la función TYPE() en combinación con la función ALEN().

Este es el código de ejemplo:

&& VFP 9.0
IF TYPE("AlgunaVariableOrPropiedad",1) = "A"
  && Es un array
ENDIF
 
&& VFP 8.0 y anteriores
IF TYPE("ALEN(AlgunaVariableOrPropiedad)")) = "N"
  && Es un array
ENDIF

Comprobar que TYPE("AlgunaVariableOrPropiedad[1]") = "N" no funciona para propiedades intrínsecas de VFP. Retornando "N" para estas.

loForm = CreateObject ( "Form") 
? TYPE("loForm.Top[1]") && Retorna N

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.