PROPERTY_TO_STRING Function
Syntax
Arguments
- source
The name of a dot variable.
- limit
Numeric
Description
Dump pointer contents (can be variable frame) to a string - (impose optional limit on length of leaf data).
Discussion
The PROPERTY_TO_STRING() function converts a "dot" variable to a string. Dot_Variable is the dot variable's root name. The dot variable can be of arbitrary complexity. Once a dot variable has been converted to a string, it is easy to save the string, in effect, saving the current values of all of the dot variable's sub-elements. The PROPERTY_FROM_STRING()function allows you to restore a dot variable and all of its sub-elements from a string that was previously created using PROPERTY_TO_STRING(). For example, assume that you have this "dot" variable:
put description here
dim p as P p.lastname = "smith" p.firstname = "john" str = property_to_string(p)
If you examine the contents of the str variable, you see the following string:
<lastname = "smith"> <firstname = "john">
The above example is fairly trivial. Consider the case of a more complex dot variable:
dim f as P dim f.family[3] as P dim f.family[1].kids[3] as P dim f.family[2].kids[3] as P f.Family[1].father = "John" f.Family[1].mother = "Joan" f.Family[1].kids[1].NAME = "Sammy" f.Family[1].kids[1].age = 4 f.Family[1].kids[2].NAME = "Sonia" f.Family[1].kids[2].age = 3 f.Family[1].kids[3].NAME = "Samantha" f.Family[1].kids[3].age = 2 f.Family[2].father = "Andrew" f.Family[2].mother = "Andrea" f.Family[2].kids[2].NAME = "Cloe" f.Family[2].kids[2].age = 14 f.Family[2].kids[2].NAME = "Colin" f.Family[2].kids[2].age = 13 str = property_to_string(f)
In this case, if you examine the 'str' variable, you will see the following string:
<family<[1]<father = "John"> <mother = "Joan"> <kids<[1]<name = "Sammy"> <age = 4> > <[2]<name = "Sonia"> <age = 3> > <[3]<name = "Samantha"> <age = 2> > > > <[2]<father = "Andrew"> <mother = "Andrea"> <kids<[1]> <[2]<name = "Colin"> <age = 13> > <[3]> > > <[3]> >
Example
This example convert the contents of a record to a string, then writes them out in a duplicate record.
dim t as P dim t2 as P dim str as C t = table.open("customer") t.fetch_goto(targetRecord) str = property_to_string(t) t2 = table.open("customer") t2.enter_begin() property_from_string(t2,str) t2.enter_end(.t.) t.close() t2.close()
Convert the elements of a dot variable to a string, then save the string to a file so that the values of the dot variables can be preserved.
dim p as P p.lastname = "smith" p.firstname = "john" str = property_to_string(p) 'save the string to a file save_TO_FILE(str,"c:\mydata\dot_variables.txt")
See Also