| 4D v18Comandos del Compilador | ||||||||||||||
|  | 
    4D v18
 Comandos del Compilador 
         | |||||||||||||
| C_BLOB | C_REAL | C_TEXT | 
| C_BOOLEAN | C_LONGINT | C_DATE | 
| C_POINTER | C_PICTURE | C_TIME | 
| C_OBJECT | 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 largoEn 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 forEn 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_BOOLEAN
									
									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 v18)
	
	
	
 Añadir un comentario
Añadir un comentario