STATIC FUNCTION Print( cChar1, cChar2, cChar3, cChar4 )
LOCAL nMaxiArray
LOCAL aPrint := {}
LOCAL I
LOCAL aArray1 := {}
LOCAL aArray2 := {}
LOCAL aArray3 := {}
LOCAL aArray4 := {}
LOCAL oRepo
I := 1
FOR I := 1 TO LEN( cCHAR1)
AADD(aArray1, { SUBSTR(cCHAR1,I,1), ASC(SUBSTR(cCHAR1,I,1)) })
NEXT
nMaxiArray := I
I := 1
FOR I := 1 TO LEN( cCHAR2)
AADD(aArray2, { SUBSTR(cCHAR2,I,1), ASC(SUBSTR(cCHAR2,I,1)) })
NEXT
nMaxiArray := max( nMaxiArray, I )
I := 1
FOR I := 1 TO LEN( cCHAR3)
AADD(aArray3, { SUBSTR(cCHAR3,I,1), ASC(SUBSTR(cCHAR3,I,1)) })
NEXT
nMaxiArray := max( nMaxiArray, I )
I := 1
FOR I := 1 TO LEN( cCHAR4)
AADD(aArray4, { SUBSTR(cCHAR4,I,1), ASC(SUBSTR(cCHAR4,I,1)) })
NEXT
nMaxiArray := max( nMaxiArray, I )
FOR I := 1 TO nMaxiArray
IF I <= len( aArray1 )
aAdd( aPrint, { aArray1[ I, 1 ], str( aArray1[ I, 2 ], 3 ) } )
ELSE
aAdd( aPrint, { space( 1 ), space( 4 ) } )
ENDIF
IF I <= len( aArray2 )
aAdd( aTail( aPrint ), aArray2[ I, 1 ] )
aAdd( aTail( aPrint ), str( aArray2[ I, 2 ], 3 ) )
ELSE
aAdd( aTail( aPrint ), space( 1 ) )
aAdd( aTail( aPrint ), space( 4 ) )
ENDIF
IF I <= len( aArray3 )
aAdd( aTail( aPrint ), aArray3[ I, 1 ] )
aAdd( aTail( aPrint ), str( aArray3[ I, 2 ], 3 ) )
ELSE
aAdd( aTail( aPrint ), space( 1 ) )
aAdd( aTail( aPrint ), space( 4 ) )
ENDIF
IF I <= len( aArray4 )
aAdd( aTail( aPrint ), aArray4[ I, 1 ] )
aAdd( aTail( aPrint ), str( aArray4[ I, 2 ], 3 ) )
ELSE
aAdd( aTail( aPrint ), space( 1 ) )
aAdd( aTail( aPrint ), space( 4 ) )
ENDIF
NEXT
I := 1
REPORT oRepo TITLE "*** ASC TABLE BY UWE ***","" PREVIEW
COLUMN TITLE "CHR" DATA aPrint[ I, 1 ] SIZE 5
COLUMN TITLE "ASC" DATA aPrint[ I, 2 ] SIZE 5
COLUMN TITLE "CHR" DATA aPrint[ I, 3 ] SIZE 5
COLUMN TITLE "ASC" DATA aPrint[ I, 4 ] SIZE 5
COLUMN TITLE "CHR" DATA aPrint[ I, 5 ] SIZE 5
COLUMN TITLE "ASC" DATA aPrint[ I, 6 ] SIZE 5
COLUMN TITLE "CHR" DATA aPrint[ I, 7 ] SIZE 5
COLUMN TITLE "ASC" DATA aPrint[ I, 8 ] SIZE 5
END REPORT
IF oRepo:lCreated
oRepo:bSkip := {|| I ++ }
ENDIF
ACTIVATE REPORT oRepo WHILE I <= len( aPrint )
RETURN NIL