define class session_q as session cErrMsg= "" datasession= 2 ndatasessionid= 0 ok= .f. ************************** procedure init ************************** set talk window set date dmy set multilocks on set deleted on set safety off set confirm on set hours to 24 set reprocess to auto * to make it easy for subclasses to restore datasession this.nDataSessionId= this.DataSessionId endproc enddefine && class session_qYou then subclass this for specific modules, open your tables in the init method and away you go.
define class PhoneClass as session_q of qsession.prg cPhone= "" oPhone= .null. connum= 0 custnum= 0 dimension a_type[11,2] nLenPh= 0 procedure init ******************************* dodefault() * data required... use Names in 0 use Cons in 0 use Phone in 0 * so we can move the pointer around independently of Phone itself use Phone in 0 again order RevPhone alias PhoneX this.nLenPh= len(Phone.Phone) cPhone= space(len(Phone.Phone)) endproc procedure addRec(oRec) ******************************* insert into Phone from name oRec procedure delete_custnum ******************************* lparameters nCustNum do while seek(m.nCustNum, 'Phone', 'CustNum') delete in Phone enddo endproc enddefine>I have a function that is called that does ONE of two possible things based on how it is called:
>*: Usage: =SysInfo(tcgroup, tcsubgroup, tcitem, tcsubitem, tcvalue, tlcreate) >*: Parameters: tcgroup c65 - group value i.e. Agency Name/Site Name >*: tcsubgroup c65 - subgroup value i.e. Workstation Name >*: tcitem c65 - item value i.e. User Settings >*: tcsubitem c65 - subitem value i.e. Deleted >*: tcvalue M - detail value i.e. ON or OFF, etc. >*: tlcreate L - logical create groups/subgroups/etc or not >>