COMPOBJ()

From Lianjapedia
Revision as of 09:32, 20 August 2014 by Yvonne.milne (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Purpose

Function to compare two objects

Syntax

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

See Also

ACLASS(), ADDPROPERTY(), AMEMBERS(), CREATEOBJECT(), DEFINE CLASS, DIFFOBJ(), DISPLAY CLASSES, DODEFAULT(), FOREACH, LIST CLASSES, LOADOBJECT(), 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).

Example

define class myclass1 as custom
  property firstname
  property lastname
enddefine
 
define class myclass2 as custom
  property firstname
  property lastname
enddefine
 
define class myclass3 as custom
  property firstname
  property lastname
  property midinitial
enddefine
 
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 properties are identical, 
// o3 has a midinitial property and o1 does not