En esta sección, vamos a aprender a definir los tipos de variables, entender su alcance y su ciclo de vida y cubrir los aspectos básicos de su programación.
En vídeos anteriores, utilizamos variables de vez en cuando (tales como vNumRecords por ejemplo). Ahora echemos un vistazo más de cerca exactamente a lo que son, cómo funcionan y según su tipo, su alcance de uso.. Si comparamos el funcionamiento de 4D con cómo trabaja una empresa, podemos inferir lo siguiente:
Hay varios departamentos en la empresa que realizan cada una tarea en particular, a menudo de forma independiente de otros departamentos.
Cada departamento está diseñado para llevar a cabo un cierto número de tareas en un orden específico.
Una tarea puede interrumpirse porque depende del resultado de otro proceso.
Este nuevo proceso probablemente utiliza información procedente de un proceso previo, además de su propia información específica.
Si queremos traducir esto con un ejemplo práctico:
La empresa cuenta con una planta de producción, un departamento de ventas y un departamento de recursos humanos.
El departamento de nómina centraliza las horas trabajadas por los otros departamentos y les paga sus salarios, calcula el número de días de vacaciones, etc.
El pago de los salarios implica conocer la tasa de horas extra, así como la remuneración diferente y las tasas de impuestos. Esta información es proporcionada por el departamento jurídico que mantiene actualizada la documentación..
Y ahora vamos a hacer la comparación con 4D:
4D pueden gestionar varios procesos de manera simultánea (impresión, visualización del contenido de varias tablas, paletas de herramientas, importaciones, servidor web, respuesta a los servicios web, etc.)
El método que se ejecuta en cada proceso puede incluir diferentes fases.
Puede llamar a otros métodos en el mismo proceso (colegas del mismo departamento), o solicitar información de otro proceso (colegas de un departamento diferente)
Para cada caso, tenemos variables adaptadas disponibles:
Para tener información disponible (en modo lectura/escritura) para todos los procesos, utilizamos variables interproceso. Para que 4D considere una variable como interproceso, debe estar precedida por los símbolos <> (por ejemplo: <>CurrentDate, <>Rate-TimeTable, etc.)
Mientras un proceso se está ejecutando, un método puede necesitar información específicamente para este proceso. En este caso, se trata de una variable local, que 4D reconoce por su prefijo el símbolo$ (por ejemplo: $Counter, $StampZone, etc.
Todas las demás variables (sin prefijos) son variables proceso, utilizadas por varios métodos en el mismo proceso. (por ejemplo: vNumRecords, etc.)
El último punto sobre la necesidad de información del departamento jurídico permite ilustrar la idea de comunicación entre los procesos.
Con 4D, usted puede leer o escribir variables de un proceso a otro (e incluso desde una máquina cliente al servidor) utilizando GET PROCESS VARIABLE y SET PROCESS VARIABLE.
Para usar otro ejemplo de la vida cotidiana, podemos compararlo con un colegio donde:
La variable local es el cuaderno del alumno: sólo él puede verlo o leer y escribir en él.
La variable proceso es la pizarra: puede ser vista y utilizada por todos los estudiantes de la misma clase y cada estudiante puede leer y escribir en ella o borrarla.
La variable interproceso es la cartelera de anuncios a la entrada del colegio donde se publican los resultados del examen: está disponible para todos los alumnos del colegio, así como también para los maestros y el director.
La comunicación interproceso es cuando un profesor lee o escribe en la pizarra de la clase (variable proceso) de otro profesor o en la cartelera de anuncios del colegio (variable interproceso).
Ahora que hemos cubierto el alcance de las variables, podemos ver cómo funcionan.
Hay dos tipos de variables en 4D:
Las variables simples (con un solo valor)
Los arrays (con múltiples valores).
Puede definir variables simples usando los mismos tipos que para los campos (Texto, Entero largo, Fecha, Hora, BLOB,...) + el tipo Puntero. Los arrays aceptan los mismos tipos excepto BLOB y Time.
La variable aún existe, su contenido es reinicializado
Veamos esto con un ejemplo:
Para darle nombre a sus variables, tome el habito de seguir el mismo procedimiento general para mantener las cosas simples.
Puede utilizar una nomenclatura "estricta"
O puede optar por los nombres de variables fáciles de leer y que hablen por si mismos.
Para comenzar, siempre es buena idea utilizar nombres que sean claros y fáciles de leer. Siempre es posible renombrar sus variables posteriormente utilizando la función de búsqueda global de 4D.
Como en todo lenguaje, las variables son indispensables en 4D. Úselas cuando quiera.
Recuerde que algunas variables no se pueden ver en un formulario: