Article ID: 186912
Article Last Modified on 3/1/2005
LPARAMETERS tcstring,tltrimleft,tltrimright
#DEFINE CR CHR(13)
#DEFINE LF CHR(10)
LOCAL lcstring
lcstring=tcstring
IF tltrimleft
DO WHILE LEFT(lcstring,1)==CR OR LEFT(lcstring,1)==LF
lcstring=LTRIM(SUBSTR(lcstring,2))
ENDDO
ENDIF
IF tltrimright
DO WHILE RIGHT(lcstring,1)==CR OR RIGHT(lcstring,1)==LF
lcstring=TRIM(LEFT(lcstring,LEN(lcstring)-1))
ENDDO
ENDIF
RETURN lcstring
CLOSE ALL
SET CLASSLIB TO HOME()+"FFC\_UTILITY.VCX"
outilobject=CREATEOBJECT('array_form')
outilobject.SHOW
READ EVENTS
DEFINE CLASS array_form AS FORM
TOP = 0
LEFT = 0
HEIGHT = 180
WIDTH = 220
DOCREATE = .T.
CAPTION = "_Utilities TRIM CRLF"
NAME = "ARRAY_FORM"
AUTOCENTER=.T.
ADD OBJECT list1 AS LISTBOX WITH ;
HEIGHT = 125, ;
LEFT=05, ;
TOP = 10, ;
WIDTH = 100, ;
ROWSOURCETYPE=5, ;
ROWSOURCE="arraya"
ADD OBJECT list2 AS LISTBOX WITH ;
HEIGHT = 125, ;
LEFT=115, ;
TOP = 10, ;
WIDTH = 100, ;
ROWSOURCETYPE=5, ;
ROWSOURCE="arrayb"
ADD OBJECT command2 AS COMMANDBUTTON WITH ;
LEFT=10, ;
HEIGHT=25, ;
CAPTION="\<Close", ;
TOP=150, ;
WIDTH=200, ;
NAME = "Command1"
ADD OBJECT _arraylib1 AS _arraylib
ADD OBJECT _stringlib1 as _stringlib
PROCEDURE LOAD
PUBLIC arraya, arrayb
DECLARE arraya[4]
arraya[1]="Apple "+CHR(13)+CHR(10)
arraya[2]="Banana "+CHR(13)+CHR(10)
arraya[3]="Orange "+CHR(13)+CHR(10)
arraya[4]="Pear "+CHR(13)+CHR(10)
DECLARE arrayb[4]
arrayb[1]="Blueberry"
arrayb[2]="Cherry"
arrayb[3]="Grapefruit"
arrayb[4]="Strawberry"
ENDPROC
PROCEDURE list1.CLICK
LOCAL thisval
thisval=THISFORM.list1.VALUE
stringval=arraya[thisval]
FOR i=1 TO ALEN(arraya,1)
THISFORM.list1.REMOVEITEM(1)
ENDFOR
IF CHR(13)$STRINGVAL
stringval=THISFORM._stringlib1.trimcrlf(stringval,.t.,.t.)
ENDIF
THISFORM._arraylib1.insaitem(@arrayb,stringval,thisval-1)
THISFORM._arraylib1.delaitem(@arraya,thisval)
FOR i=1 TO ALEN(arraya,1)
THISFORM.list1.ADDITEM(arraya[i])
NEXT
THISFORM.list2.NUMBEROFELEMENTS=ALEN(arrayb,1)
THISFORM.REFRESH
ENDPROC
PROCEDURE list2.CLICK
LOCAL thisval
thisval=THISFORM.list2.VALUE
FOR i=1 TO ALEN(arrayb,1)
THISFORM.list2.REMOVEITEM(1)
ENDFOR
stringval=arrayb(thisval)
THISFORM._arraylib1.insaitem(@arraya,stringval)
THISFORM._arraylib1.delaitem(@arrayb,thisval)
FOR i=1 TO ALEN(arrayb,1)
THISFORM.list2.ADDITEM(arrayb[i])
NEXT
THISFORM.list1.NUMBEROFELEMENTS=ALEN(arraya,1)
THISFORM.REFRESH
ENDPROC
PROCEDURE command1.CLICK
CLEAR EVENTS
ENDPROC
ENDDEFINE
Keywords: kbbug kbfix kbvs600sp3fix KB186912