2013年11月4日 星期一

foxpro-aarray string 2 array str2array java str.spirit


e.g.
 _HEADERS="HKID,TypeOfForm,Surname,GivenName,NameInChinese,Sex,MaritalStatus,PpNum,SpouseName,"
_HEADERS=_HEADERS+"SpouseHKID,SpousePpNum,ResAddr,AreaCodeResAddr,PosAddr,Capacity,PtPrinEmp,"
_HEADERS=_HEADERS+"StartDateOfEmp,EndDateOfEmp,PerOfSalary,AmtOfSalary,PerOfLeavePay,AmtOfLeavePay,"
_HEADERS=_HEADERS+"PerOfDirectorFee,AmtOfDirectorFee,PerOfCommFee,AmtOfCommFee,"
_HEADERS=_HEADERS+"PerOfBpEtc,AmtOfBpEtc,"
_HEADERS=_HEADERS+"PerOfPayRetire,AmtOfPayRetire,PerOfSalTaxPaid,AmtOfSalTaxPaid,"
_HEADERS=_HEADERS+"PerOfEduBen,AmtOfEduBen,"
_HEADERS=_HEADERS+"PerOfGainShareOption,AmtOfGainShareOption,"
_HEADERS=_HEADERS+"NatureOtherRAP1,PerOfOtherRAP1,AmtOfOtherRAP1,"
_HEADERS=_HEADERS+"NatureOtherRAP2,PerOfOtherRAP2,AmtOfOtherRAP2,"
_HEADERS=_HEADERS+"NatureOtherRAP3,PerOfOtherRAP3,AmtOfOtherRAP3,"
_HEADERS=_HEADERS+"PerOfPension,AmtOfPension,TotalIncome,"
_HEADERS=_HEADERS+"PlaceOfResInd,AddrOfPlace1,NatureOfPlace1,PerOfPlace1,"
_HEADERS=_HEADERS+"RentPaidEr1,RentPaidEe1,RentRefund1,RentPaidErByEe1,"
_HEADERS=_HEADERS+"AddrOfPlace2,NatureOfPlace2,PerOfPlace2,"
_HEADERS=_HEADERS+"RentPaidEr2,RentPaidEe2,RentRefund2,RentPaidErByEe2,"
_HEADERS=_HEADERS+"OverseaIncInd,AmtPaidOverseaCo,NameOfOverseaCo,AddrOfOverseaCo,Remarks"

for rr = 1 to occur(",",_headers)
? aarray(_headers,rr)
endfor








aarray.prg
lpara p_source, p_column,p_divider
store iif(empty(p_source),'',p_source) to p_source
store iif(empty(p_column),'',p_column) to p_column
*? aarray(sysmess('POToleranceQty'),-2,'.')
* e.g. ? aarray(sysmess('VendorInvoiceDate'),3,'.')
*store iif(empty(p_divider),'',p_divider) to p_divider   && cannot add it becuase for space p_divider
*set step on
if parameter()=0 and setass()
_screen.fontsize=9
_screen.fontname='·s²Ó©úÅé'
clear
? fullpath('aarray.prg')
? fullpath('aarray.fxp')
text

e.g. aarray('A,APPLE,BANANA,CAR',2)=APPLE
e.g. aarray(program(),1,'.') i.e. formName
e.g.
store 'turnover=turover1, one=once' to aaa
for _rr=1 to occur(',',aaa)+1
? aarray(aaa,_rr)
store aarray(aaa,_rr) to _bb
? aarray(_bb,1,'=')
? aarray(_bb,2,'=')
endfor

e.g.

sele pay_sxx0917
scan while wage_cfm==_d
_1=_1+datetimer+','
endscan
for rr=1 to occur(',',_1)
?  aarray(_1,rr)
endfor  && 20120917

ENDTEXT
return
endif
store iif(empty(p_column),1,p_column) to p_column
store .f. to v_right
if p_column<0
store abs(p_column) to p_column
store .t. to v_right
endif
local _r110813,__r110813,_b110813,rr_1022
store p_source to _r110813
store '' to __r110813

if  parameter()=2
store ',' to p_divider
endif
store _r110813 to _a
if not type('_a')=='C'
store '' to _a
endif
if not type('p_divider')=='C'
store ',' to p_divider
endif


if v_right
store p_divider+_a to _a
store subs(_a,at(p_divider,_a,p_column)+1) to __r110813

else
store p_divider+_a +p_divider to _a
store subs(_a,at(p_divider,_a,p_column)+1, at(p_divider,_a,p_column+1)-at(p_divider,_a,p_column)-1) to __r110813
endif
store allt(__r110813) to __r110813
return __r110813

沒有留言:

張貼留言