Menú Principal
Inicio
Nueva Solicitud
Solicitudes Anteriores
Respuetas Rápidas
Mis Datos

Ingresar
 E-mail:
 Contraseña:
¿Olvido su Contraseña?

Respuestas Rápidas
Buscar por las palabras:


Contáctenos
M&M Soluciones, C.A.
Av. Mérida c/c C. Junín, Edif. Lazio Ofic. 5
Anaco, Edo. Anzoátegui
Venezuela

Por Teléfono:
58 282 425 5725
58 282 424 9780


LiveZilla Live Help

Mensajería Instantánea:
Messenger:
soporte@mymsoluciones.com
Skype:
soporte M&M
Soporte Remoto
Haga clic para Descargar el Programa

Respuestas Rápidas
Tipos de Datos

Artículo Nº: 000092
Calificación: 5.0 / 5.0 (5 votos)
Visitas: 515

  
  
DpXbase soporta los mismos tipos de datos de las Tablas de Formato DBF de Dbase, Clipper o Foxpro, adicionalmente soporta tipos de datos exclusivos de Clipper tales como: Bloques de Código, Arreglos, Objetos y Nulos . Para una fácil compresión o lectura de programas escritos en DpXbase utilizamos la notación Húngara que consiste en una técnica para declarar las variables con un prefijo que indica el tipo de dato que lo representa, ejemplo:

LOCAL nNumerico:=100
LOCAL cCaracter:=”Caracteres”
LOCAL dFecha:=DATE()
LOCAL lLogico:=.T.
LOCAL bBloq  :={||NIL}
LOCAL aArray :={1,2,3,4,5}
LOCAL oObjeto:=OpenTable(“SELECT * FROM DPINV”)
 

Numéricos

Soporta 19 enteros y siete decimales, se refiere a valores de tipo numéricos. Igualmente soporta valores enteros (sin decimales).


Carácter o Memo

Acepta caracteres o cadenas de datos y soporta hasta  4 Gigas por cada variables.


Date o Fecha

Soporta datos según el formato “dd/mm/aaaa” y se refiere a fechas que pueden soportar operaciones matemáticas y su uso está vinculado con las funciones DAY(),MONTH(),CMES(),DOW(),DTOC(),CTOD(), DTOS(), entre otras.


Lógicos

Se obtiene por la comparaciones de valores mediante operadores lógicos y relacionales, siempre su valor es verdadero .T. o Falso .F.


Nulos

Se refiere al valor por defecto que posee una variable cuando se declara sin valor, “LOCAL nValor”, de esta manera nValor es NIL. Si preguntamos por su valor: MsgAlert(ValType(nValor)), mostrará NIL.


Arreglos

También llamados vectores son listas de valores de una sola dimensión, DpXbase al igual que clipper no soporta arreglos multimensionales en forma literal sin embargo un arreglo puede esta compuestos de listas contentivas de arreglos logrando la manipulación de arreglos multidimensionales. Lo lista de los arreglos se declaran con {}, otra ventaja de los arreglos es que su contenido puede estar compuesto por datos de cualquier tipo. Ejemplo:

aLista:={1,2,3,4,5,6}
aLista:={“Uno”,2,date(),nil,.T.}

Para declarar arreglos multidimensionales, debe utilizar la siguiente forma:

aLista:={}

AADD(aLista,{1,2,3,4,5,6}) // Puede Notar que estamos adicionando una lista de números

Para mostrar el primer elemento, se debe utilizar la siguiente sintaxis:

MsgAlert(STR(aLista[1,1])) // Mostrará 1

También puede utilizarse aLista[1][1]

DpXbase provee un conjunto de funciones diseñadas exclusivamente para el manejo de arreglos: AADD(), ASORT(), AEVAL(), ASIZE(), ARREDUCE(), ADEL(), AINS(), ASCAN(), ACLONE() Etc.

Varias visualizar el contenido de un arreglo,

ViewArray(aLista)


Bloques de Código

Como su nombre lo indica son datos que contienen código de ejecución “que ejecutan como si fuese parte del EXE”, la gran diferencia entre un programa ejecutable “Binario” y un bloque de código están en que el programa ejecutable se encuentra almacenado en un fichero de extensión EXE y el bloque de código está almacenado en una variable. El Bloque de código es un potencial altamente aplicado en todo DpXbase y en las reglas de negocio encargadas de generar las transacciones comerciales.

Declaración:

bBloque:={||MsgAlert(“Hola DpXbase”)})

Para ejecutarlo: 

Eval(bBloque)  // Muestra en un dialogo “Hola DpXbase”

Los bloques de código se comportan en forma similar a una función de un programa, es decir, pueden recibir parámetros y devolver valores, ejemplo:

FUNCTION SUMAR(nValor1,nValor2)
LOCAL nResp:=nValor1+nValor2
RETURN nResp

Para Ejecutar la suma es necesario llamar a la función sumar de la siguiente manera: SUMAR(10,20) y devuelve 30

La traducción literal de la función SUMAR() hacia bloque de código es:

BSumar:={|nValor1,nValor2|nValor1+nValor2}

Para ejecutar la Suma, es necesario utilizar la función EVAL() de la siguiente manera:

EVAL(bSumar,10,20) // Devuelve 30

Los bloques de código están en todas partes del sistema, principalmente donde están las ejecuciones, tales como: Clic en un control (Botón, Menú, etc.). Conocer ampliamente y dominar el concepto de bloque de código le ayudará a conocer DpXbase y construir soluciones aprovechando el potencial de los bloques de código.

Cada vez que el usuario presiona CLICK en un control está haciendo uso de un bloque de código que contiene la ejecución del control, ejemplo:

#DEFINE “DPXBASE.CH”

PROCE TESTBLQ()
LOCAL oDlg,oBtn

  DEFINE DIALOG oDLG TITLE “Bloque de Código”

  @ 1,1 BUTTON oBtn PROMPT “Cerrar”
  oBtn:bAction:={||oDlg:End()

  ACTIVATE DIALOG oDLG

RETURN NIL

En este ejemplo puede observar que la acción de botón “Cerrar” está definida mediante un bloque de código, cuando el usuario presione “Clic” será ejecutado el bloque de código “oBtn:bAction “ que está compuesto por la llama al método “End()” cerrar del dialogo identificado con la variable “oDlg”.


Objetos

El modelo (OOP) Objetos utilizado por DpXbase está basado bajo el concepto clásico de “Programación Orientado a Objetos (OOP)”. Podemos definir que un objeto es un elemento que está compuesto por datos y que realizar actividades, como por ejemplo una calculadora: Posee teclas que realizan tareas: (indicar un numero, sumar, restar, etc.)  y contiene datos “números del 0 al 9” para realizar operaciones matemáticas. Podemos notar que DpXbase posee una calculadora totalmente diseñada bajo el concepto de programación “Objeto”.

Los datos de tipo objeto se obtiene mediante la llamada a una clase Objeto preexistente en DpXbase, para hacer llamada a un objeto utilizamos la siguiente sintaxis:

oObjeto:=TDpEdit():New()

oObjeto:=DPEDIT():New("Titulo","formsformulario.edt","oObjeto",.F.)
oObjeto:Activate()

Si evaluamos el tipo de dato de oObjeto con ValType(oObjeto) devuelve “O”

Las funciones del objeto o mejor dicho lo que hace se denomina “Metodo()” y los datos que contiene se llama “Data”.

Todos los controles Windows (GET,TEXT,COMBO,DIALOG) son manipulados mediante objetos que se definen a través de comandos predefinidos en el fichero de encabezado “DPXBASE.CH”


En el fichero “DPXFUNCTION.CHM” ubicado en la carpeta HELP de sistema de gestión empresarial o nómina, contiene la documentación y ejemplo de cada una de las funciones estándar xbase utilizadas en DpXbase. Por razones de comodidad y estandarización DpXbase utiliza las mismas funciones estándar xbase de Clipper 5.2 con la diferencia que están diseñadas para 32 bits.


<< Regresar

Evaluación
¿Le sirvió la Información contenida en éste Artículo?

  Adaptado por M&M Soluciones, C.A.