Files
harbour-core/tests/for.prg
vszakats 9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (all files)
    * stripped svn header
    * minor cleanups
    ; use following command to find out the history of files:
       git log
       git log --follow
       git blame
       git annotate
2013-03-16 02:11:42 +01:00

65 lines
1.0 KiB
Plaintext

// Testing Harbour For Next loops for Clipper compatibility
// ; Donated to the public domain by
// Viktor Szakats (harbour syenar.net)
// TODO: add test for "step 0"
STATIC s_nFrom
STATIC s_nTo
STATIC s_nStep
PROCEDURE Main()
LOCAL array
LOCAL tmp, n
? "Testing Harbour For Next loops."
array := { ;
{ 1, 10, 1 }, ;
{ 10, 1, -1 }, ;
{ 1, 10, -1 }, ;
{ 10, 1, 1 }, ;
{ 1, 10, 4 }, ;
{ 10, 1, -4 }, ;
{ 1, 10, -4 }, ;
{ 10, 1, 4 } }
FOR tmp := 1 TO Len( array )
s_nFrom := array[ tmp ][ 1 ]
s_nTo := array[ tmp ][ 2 ]
s_nStep := array[ tmp ][ 3 ]
? ;
" From:", s_nFrom, ;
" To:", s_nTo, ;
" Step:", s_nStep
FOR n := Eval( {|| ValFrom() } ) TO Eval( {|| ValTo() } ) STEP Eval( {|| ValStep() } )
? "Exec", n
NEXT
NEXT
RETURN
STATIC FUNCTION ValFrom()
? "From"
RETURN s_nFrom
STATIC FUNCTION ValTo()
? "To"
RETURN s_nTo
STATIC FUNCTION ValStep()
? "Step"
RETURN s_nStep