| 4D v18OB SET | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 OB SET 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OB SET ( objeto ; propiedad ; valor {; propiedad2 ; valor2 ; ... ; propiedadN ; valorN} ) | ||||||||
| Parámetro | Tipo | Descripción | ||||||
| objeto | Campo Objeto, Objeto |   | Objeto estructurado | |||||
| propiedad | Texto |   | Nombre de la propiedad a configurar | |||||
| valor | Expresión |   | Nuevo valor de la propiedad | |||||
El comando OB SET crea o modifica uno o más pares de propiedad/valor en el objeto de lenguaje designado por el parámetro objeto.
objeto debe haber sido definido usando el comando C_OBJECT o designar un campo objeto 4D.
 En el parámetro propiedad, pase la etiqueta de la propiedad a crear o modificar. Si la propiedad ya existe en objeto, su valor se actualiza. Si no existe, se crea.
Tenga en cuenta, que el parámetro propiedad es sensible a las mayúsculas y minúsculas.
Creación de un objeto y adición de una propiedad de tipo texto:
 C_OBJECT($Object)
 OB SET($Object ;"FirstName";"John";"LastName";"Smith")
  // $Object = {"FirstName":"John","LastName":"Smith"}Creación de un objeto y adición de una propiedad de tipo booleano:
 C_OBJECT($Object)
 OB SET($Object ;"LastName";"smith";"age";42;"client";True)
  // $Object = {"LastName":"smith","age":42,"client":true}Modificación de una propiedad:
  // $Object = {"FirstName":"John","LastName":"Smith"}
 OB SET($Object ;"FirstName";"Paul")
  // $Object = {"FirstName":"Paul","LastName":"Smith"}Adición de una propiedad:
  // $Object = {"FirstName":"John","LastName":"Smith"}
 OB SET($Object ;"department";"Accounting")
  // $Object = {"FirstName":"Paul","LastName":"Smith","department":"Accounting"}Renombrando una propiedad:
 C_OBJECT($Object)
 OB SET($Object ;"LastName";"James";"age";35)
  // $Object = {"LastName":"James","age":35}
 OB SET($Object ;"FirstName";OB Get($Object ;"LastName"))
  // $Object = {"FirstName":""James","nom":"James","age":35}
 OB REMOVE($Object ;"LastName")
  // $Object = {"FirstName":""James","age":35}Usando un puntero:
  // $Object = {"FirstName":"Paul","LastName":"Smith"}
 C_TEXT($LastName)
 OB SET($Object ;"LastName";->$LastName)
  // $Object = {"FirstName":"Paul","LastName":"->$LastName"}
 $JsonString:=JSON Stringify($Object)
  // $JsonString="{"FirstName":"Paul","LastName":""}
 $LastName:="Wesson"
 $JsonString:=JSON Stringify($Object)
  // $JsonString="{"FirstName":"Paul","LastName":"Wesson"}Usando un objeto:
 C_OBJECT($ref_smith)
 OB SET($ref_smith ;"name";"Smith")
 C_OBJECT($ref_emp)
 OB SET($ref_emp ;"employee";$ref_smith)
 $Json_string :=JSON Stringify($ref_emp)
  // $ref_emp = {"employee":{"name":"Smith"}} (object)
  // $Json_string = "{"employee":{"name":"Smith"}}" (string)También puede cambiar un valor sobre la marcha:
 OB SET($ref_smith ;"name";"Smyth")
  // $ref_smith = {"employee":{"name":"Smyth"}}
 $string:=JSON Stringify($ref_emp)
  // $string = "{"employee":{"name":"Smyth"}}"Si ha definido el campo [Rect]Desc como un campo objeto, puede escribir:
 CREATE RECORD([Rect])
 [Rect]Name:="Blue square"
 OB SET([Rect]Desc;"x";"50";"y";"50";"color";"blue")
 SAVE RECORD([Rect])Usted quiere exportar datos en JSON que contienen una fecha 4D que desea convertir en una cadena sin información de zona horaria. Note que la conversión ocurre cuando la fecha se guarda en el objeto, debe llamar al comando SET DATABASE PARAMETER antes de llamar a OB SET:
 C_OBJECT($o)
 $vDateSetting:=Get database parameter(Dates inside objects) //guardar la configuración actual
 SET DATABASE PARAMETER(Dates inside objects;String type without time zone)
 OB SET($o ;"myDate";Current date) // conversión JSON
 $json:=JSON Stringify($o)
 SET DATABASE PARAMETER(Dates inside objects;$vDateSetting)En un método formulario, puede escribir:
 If(FORM Event=On Validate)
    OB SET([MyDocuments]My4DWP;"myatt_Last edition by";Current user)
    OB SET([MyDocuments]My4DWP;"myatt_Category";"Memo")
 End ifTambién puede leer los atributos personalizados de los documentos:
 vAttrib:=OB Get([MyDocuments]My4DWP;"myatt_Last edition by")Usted desea definir una colección como un valor propiedad. Puede escribir:
 C_OBJECT($person)
 C_COLLECTION($myCol)
 
 $person:=OB New
 $myCol:=New collection("Mike";25;"Denis";12;"Henry";4;True)
 OB SET($person;"Name";"Jones";"Children";$myCol)Usted desea almacenar una imagen en un campo objeto. Puede escribir:
 C_PICTURE($vPict)
 READ PICTURE FILE("photo.jpg";$vPict)
 If(OK=1)
    OB SET([Emp]Children;"photo";$vPict)
 End if
	Producto: 4D
	Tema: Objetos (Lenguaje)
	Número 
        1220
        
        
        
	
	Creado por: 4D v14
	Modificado: 4D v15
	Modificado: 4D v15 R4
	Modificado: 4D v16 R4
	Modificado: 4D v16 R6
	
	
	
	
	
	
	
	
	Manual de lenguaje 4D ( 4D v18)
	
	
	
	
	
 Añadir un comentario
Añadir un comentario