//************************************************************************
// Author.......: Aaron Bartell
// Creation Date: 06-01-2003
// Description..: This program will give example to the UsrSpcFn API's to
// dynamically build arrays of information. Think of it as
// being able to load many different "objects" into the
// same expandable array. By objects I mean data structures
//************************************************************************
H dftactgrp(*No) bnddir('MYBND')
/copy QSource,UsrSpcCp
D lib S 10a Inz('AARONLIB')
D space S 10a Inz('TESTUSRSPC')
D i S 10i 0
D emailCount S 10i 0
D addressCount S 10i 0
// User Space Entry names
D EMAIL_ C Const('EMAIL')
D ADDRESS_ C Const('ADDRESS')
D email DS Qualified
D address 25a
D name 25a
D address DS Qualified
D name 10a
D adr1 10a
D adr2 10a
D city 10a
D state 10a
D zipCode 5 0
/free
UsrSpc_new(lib: space);
email.address = 'aaronbartell@mowyourlawn.com';
email.name = 'Aaron Bartell';
UsrSpc_addEntry(lib: space: EMAIL_: %Size(email): email);
email.address = 'happy@you.com';
email.name = 'Happy You';
UsrSpc_addEntry(lib: space: EMAIL_: %Size(email): email);
email.address = 'Lloyd@Lumber.com';
email.name = 'Lloyd Lumber';
UsrSpc_addEntry(lib: space: EMAIL_: %Size(email): email);
address.name = 'Jim Carey';
address.adr1 = '113 Bye';
address.city = 'Mankato';
address.state = 'MN';
address.zipCode = 56001;
UsrSpc_addEntry(lib: space: ADDRESS_: %Size(address): address);
address = ' ';
emailCount = UsrSpc_getNamedEntryCount(lib: space: EMAIL_);
for i = 1 To emailCount By 1;
email = UsrSpc_getNamedEntry(lib: space: EMAIL_: i);
endfor;
addressCount = UsrSpc_getNamedEntryCount(lib: space: ADDRESS_);
for i = 1 To addressCount By 1;
address = UsrSpc_getNamedEntry(lib: space: ADDRESS_: i);
endfor;
UsrSpc_delete(lib: space);
*inlr = *on;
/end-free