COMPOBJ()

From Recital Documentation Wiki
Jump to: navigation, search

Purpose

Function to compare two objects


Syntax

COMPOBJ(<object-ref1>,<object-ref2>)


See Also

ACLASS(), ADDPROPERTY(), AMEMBERS(), CLASS, CLASS - Methods, CLASS - Parameters, CLASS - Properties, CLASS - Scoping, CREATEOBJECT(), DEFINE CLASS, DISPLAY CLASSES, DODEFAULT(), FOREACH, LIST CLASSES, LOADOBJECT(), METHOD, NEWOBJECT(), OBJECT(), PRINT_HTML(), PRINT_JSON(), PRINT_R(), PRINT_XML(), REMOVEPROPERTY(), REQUIRE_ONCE(), SAVEOBJECT(), SQL SELECT, WITH


Description

The COMPOBJ() function is used to compare the property name and property values of two objects. The <object-ref1> is a reference to the first object to be compared and the <object-ref2> is a reference to the second object. If the property names and values of the two objects are identical, COMPOBJ() will return .T. (true), if not it will return .F. (false).

The built-in equals class method can also be used to compare two objects.


Example

class myclass1
  property firstname
  property lastname
endclass
 
class myclass2
  property firstname
  property lastname
endclass
 
class myclass3
  property firstname
  property lastname
  property midinitial
endclass
 
o1 = new myclass1()
o2 = new myclass2()
o3 = new myclass3()
 
o1.firstname = "John"
o1.lastname = "Johnson"
 
o2.firstname = "Jack"
o2.lastname = "Johnson"
 
o3.firstname = "John"
o3.lastname = "Johnson"
 
? compobj(o1,o2)
// Returns .F. as firstname property has different values
 
o2.firstname = "John"
? compobj(o1,o2)
// Returns .T. as properties and values identical
 
? compobj(o1,o3)
// Returns .F. as although firstname and lastname property is identical, // o3 has a midinitial property and o1 does not


Products

Recital Server, Recital