Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||
|
4D v20 R7
Comandos del Compilador
|
_O_C_BLOB | _O_C_REAL | _O_C_TEXT |
_O_C_BOOLEAN | _O_C_LONGINT | _O_C_DATE |
_O_C_POINTER | _O_C_PICTURE | _O_C_TIME |
_O_C_OBJECT | _O_C_VARIANT | IDLE |
Nota de compatibilidad: los comandos obsoletos _o_C_GRAPH, _o_C_INTEGER y _o_C_STRING ya no deben utilizarse.
Estos comandos, excepto IDLE, declaran a las variables y les asignan un tipo de datos específico. La declaración de variables resuelve ambigüedades relacionadas con el tipo de dato de las variables. Cuando una variable no es declarada con uno de estos comandos, el compilador intenta determinar el tipo de dato de la variable. Es difícil para el compilador determinar los tipos de datos de una variable utilizada en un formulario. Por lo tanto, es particularmente importante utilizar estos comandos para declarar las variables utilizadas en formularios.
Nota: para ahorrar tiempo, puede utilizar la opción de generación y actualización de métodos de digitación (llamada “Métodos compilador”) que se encuentra en la ventana del compilador. Esta opción crea automáticamente métodos de declaración que evalúan y asignan un tipo para todas las variables utilizadas en la base.
Los Arrays son variables que deben respetar las mismas reglas que las variables estándar con respecto a la compilación. Los comandos de declaración de los arrays se agrupan en el tema “Arrays”.
Estos principios se detallan en las siguientes secciones:
Las siguientes son algunas declaraciones de variables estándar para el compilador:
C_BLOB(vxMyBlob) // La variable proceso vxMBlob está declarada como una variable de tipo BLOB
C_BOOLEAN(<>OnWindows) // La variable interproceso <>OnWindows está declarada como una variable de tipo Booleano
C_DATE($vdCurDate) // La variable local $vdCurDate está declarada como una variable de tipo Fecha
C_LONGINT(vg1;vg2;vg3) // Las 3 variables de proceso vg1, vg2 y vg3 están declaradas como variables de tipo entero largo
En el siguiente ejemplo, el método proyecto UnMetodoEntreOtros declara 3 parámetros:
// Método proyecto UnMetodoEntreOtros
// UnMetodoEntreOtros ( Real ; Date { ; Long } )
// UnMetodoEntreOtros ( Amount ; Date{ ; Ratio } )
C_REAL($1) // 1er parámetro es de tipo Real
C_DATE($2) // 2do parámetro es de tipo Entero
C_LONGINT($3) // 3er parámetro es de tipo Entero largo
// ...
En el siguiente ejemplo, el método proyecto Mayusculas acepta un parámetro de tipo texto y devuelve un texto:
// Método proyecto Mayusculas
// Mayusculas ( Texto) -> Texto
// Mayusculas ( Cadena fuente ) -> Cadena en mayúsculas
C_TEXT($0;$1)
$0:=Uppercase(Substring($1;1;1))+Lowercase(Substring($1;2))
En el siguiente ejemplo, el método de proyecto ENVIAR PAQUETES acepta un parámetro tipo Hora seguido por una variable de parámetros de tipo Texto:
` Método de proyecto ENVIAR PAQUETES
` ENVIAR PAQUETES ( Hora; Texto { ; Texot2... ; TextoN } )
` ENVIAR PAQUETES ( docRef ; Data { ; Data2... ; DataN } )
C_TIME($1)
C_TEXT(${2})
C_LONGINT($vlPacket)
For($vlPacket;2;Count parameters)
SEND PACKET($1;${$vlPacket})
End for
En el siguiente ejemplo, el método de proyecto COMPILER_Param_Predeclare28 predeclara la sintaxis de otros métodos proyecto para el compilador:
// Método proyecto COMPILER_Param_Predeclare28
C_REAL(UnMetodoEntreOtros;$1) // UnMetodoEntreOtros( Real ; Integer { ; Long } )
C_DATE(UnMetodoEntreOtros;$2) // ...
C_LONGINT(UnMetodoEntreOtros;$3) // ...
C_TEXT(Capitalize;$0;$1) // Capitalize ( Text) -> Text
C_TIME(SEND PACKETS;$1) // SEND PACKETS ( Time ; Text { ; Text2... ; TextN } )
C_TEXT(SEND PACKETS;${2}) // ...
_o_C_GRAPH
_o_C_INTEGER
_o_C_STRING
C_BLOB
C_BOOLEEN
C_DATE
C_LONGINT
C_PICTURE
C_POINTER
C_REAL
C_TEXT
C_TIME
IDLE
Producto: 4D
Tema: Compilador
Modificado: 4D v15 R5
Manual de lenguaje 4D ( 4D v20 R7)