Files
harbour-core/harbour/tests/foreach.prg
Viktor Szakats 52d3f27442 2012-10-03 17:29 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/postinst.hb
  * utils/hbmk2/hbmk2.prg
    + using HB_CWD() instead of DIRCHANGE()

  - tests/speedold.prg
  * contrib/gtwvg/3state.prg
  * contrib/gtwvg/activex.prg
  * contrib/gtwvg/bitmap.prg
  * contrib/gtwvg/checkbox.prg
  * contrib/gtwvg/class.prg
  * contrib/gtwvg/combobox.prg
  * contrib/gtwvg/crt.prg
  * contrib/gtwvg/dataref.prg
  * contrib/gtwvg/dialog.prg
  * contrib/gtwvg/drawarea.prg
  * contrib/gtwvg/genrc.prg
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/htmlview.prg
  * contrib/gtwvg/listbox.prg
  * contrib/gtwvg/menubar.prg
  * contrib/gtwvg/mle.prg
  * contrib/gtwvg/paint.prg
  * contrib/gtwvg/parthdlr.prg
  * contrib/gtwvg/pushbut.prg
  * contrib/gtwvg/radiobut.prg
  * contrib/gtwvg/scrollbr.prg
  * contrib/gtwvg/sle.prg
  * contrib/gtwvg/statbar.prg
  * contrib/gtwvg/static.prg
  * contrib/gtwvg/syswnd.prg
  * contrib/gtwvg/tabpage.prg
  * contrib/gtwvg/tests/activex.prg
  * contrib/gtwvg/tests/cuigdlgs.prg
  * contrib/gtwvg/tests/demowvg.prg
  * contrib/gtwvg/tests/demowvg1.prg
  * contrib/gtwvg/tests/demoxbp.prg
  * contrib/gtwvg/tests/dyndlgs.prg
  * contrib/gtwvg/tests/modal.prg
  * contrib/gtwvg/tests/tbrowser.prg
  * contrib/gtwvg/tests/utils.prg
  * contrib/gtwvg/tests/wvtcls.prg
  * contrib/gtwvg/tests/xbp.prg
  * contrib/gtwvg/toolbar.prg
  * contrib/gtwvg/treeview.prg
  * contrib/gtwvg/wnd.prg
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvtwin.ch
  * contrib/hbct/getinfo.prg
  * contrib/hbhttpd/readme.txt
  * contrib/hbhttpd/widgets.prg
  * contrib/hbmzip/tests/myunzip.prg
  * contrib/hbmzip/tests/myzip.prg
  * contrib/hbnetio/tests/netiot02.prg
  * contrib/hbnf/hex2dec.prg
  * contrib/hbsqlit3/tests/backup.prg
  * contrib/hbwin/tests/pdfcreat.prg
  * contrib/hbwin/tests/testole.prg
  * contrib/rddsql/tests/arrayrdd.prg
  * contrib/xhb/cstruct.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/trpc.prg
  * contrib/xhb/ttable.ch
  * contrib/xhb/txml.prg
  * contrib/xhb/xcstr.prg
  * contrib/xhb/xdbmodst.prg
  * ChangeLog
  * doc/en/command.txt
  * doc/en/hvm.txt
  * doc/en/menu.txt
  * doc/en/tbrowse.txt
  * extras/gtwvw/gtwvw.c
  * extras/gtwvw/hbgtwvw.h
  * extras/gtwvw/tests/cbtest1.prg
  * extras/gtwvw/tests/cbtest6.prg
  * extras/gtwvw/tests/drawimg.prg
  * extras/gtwvw/tests/ebtest7.prg
  * extras/gtwvw/tests/inpfocus.prg
  * extras/gtwvw/tests/prog0.prg
  * extras/gtwvw/tests/prog1.prg
  * extras/gtwvw/tests/prog2.prg
  * extras/gtwvw/tests/wvwmouse.prg
  * extras/gtwvw/tests/wvwtest9.prg
  * extras/gtwvw/wvwcheck.c
  * extras/gtwvw/wvwdraw.c
  * extras/gtwvw/wvwfuncs.c
  * extras/gtwvw/wvwmenu.c
  * extras/gtwvw/wvwpush.c
  * extras/gtwvw/wvwstbar.c
  * extras/gtwvw/wvwtbar.c
  * extras/hbvpdf/hbvpdf.prg
  * extras/hbvpdf/hbvpdft.prg
  * extras/hbxlsxml/tests/example.prg
  * extras/hbxlsxml/tests/example2.prg
  * extras/hbxlsxml/tests/example3.prg
  * extras/hbxlsxml/xlsxml_s.prg
  * extras/hbxlsxml/xlsxml_y.prg
  * extras/hbxlsxml/xlsxml.prg
  * extras/httpsrv/cookie.prg
  * extras/httpsrv/session.prg
  * extras/httpsrv/uhttpd.prg
  * src/compiler/hbmain.c
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtobj.prg
  * src/debug/debugger.prg
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hbsix/sxcompat.prg
  * src/rtl/tpersist.prg
  * tests/and_or.prg
  * tests/clsccast.prg
  * tests/clsicast.prg
  * tests/clsscast.prg
  * tests/clsscope.prg
  * tests/codebl.prg
  * tests/cpinfo.prg
  * tests/foreach.prg
  * tests/inherit.prg
  * tests/memvar.prg
  * tests/mt/mttest01.prg
  * tests/mt/mttest02.prg
  * tests/mt/mttest03.prg
  * tests/mt/mttest04.prg
  * tests/mt/mttest05.prg
  * tests/mt/mttest06.prg
  * tests/mt/mttest07.prg
  * tests/mt/mttest09.prg
  * tests/mt/mttest10.prg
  * tests/rddtest/rddmktst.prg
  * tests/rddtest/rddtst.prg
  * tests/rto_get.prg
  * tests/rto_tb.prg
  * tests/speedtst.prg
  * tests/stripem.prg
  * tests/testpre.prg
  * tests/testwarn.prg
  * tests/transtst.prg
  * utils/hbtest/hbtest.prg
  * utils/hbtest/rt_hvma.prg
    * various formal cleanups
    ! fixed ==/!= operator usage in hbxlsxml
2012-10-03 15:37:14 +00:00

145 lines
3.9 KiB
Plaintext

/*
* $Id$
*/
PROCEDURE Main()
LOCAL A := { "one ", "two ", "three" }
LOCAL AA := { "AA-one ", "AA-two ", "AA-three", "AA-four " }
LOCAL c := "abcdefghij"
LOCAL enum := "b"
LOCAL bb, cc
LOCAL i
/*
test( @a, b )
test( a, @b )
test( @a, @b )
*/
? "========================================================"
? "before loop: ENUM=", ENUM
? "before loop: a[1]=", a[ 1 ], "a[2]=", a[ 2 ], "a[3]=", a[ 3 ]
FOR EACH enum IN A
? "start: ENUM=", ENUM
IF ENUM = "two"
ENUM := Upper( ENUM )
ENDIF
? "end: ENUM=", ENUM, "| index:", ENUM:__enumIndex, "| value:", ENUM:__enumValue, "| base: ", ValType( ENUM:__enumBase )
NEXT
? "after loop ENUM=", ENUM
? "after loop: a[1]=", a[ 1 ], "a[2]=", a[ 2 ], "a[3]=", a[ 3 ]
? "-----------------"
?
Inkey( 0 )
? "========================================================"
? "Testing passing by reference"
? "before loop: ENUM=", ENUM
? "after loop: a[1]=", a[ 1 ], "a[2]=", a[ 2 ], "a[3]=", a[ 3 ]
FOR EACH ENUM IN A
IF Upper( ENUM ) = "TWO"
ENUM := Upper( ENUM )
? "before passing by @ | ENUM=", ENUM, "| index:", ENUM:__enumIndex, "| value:", ENUM:__enumValue, "| base: ", ValType( ENUM:__enumBase )
testBYREF( @ENUM )
? " after passing by @ | ENUM=", ENUM, "| index:", ENUM:__enumIndex, "| value:", ENUM:__enumValue, "| base: ", ValType( ENUM:__enumBase )
ENDIF
NEXT
? "after loop ENUM=", ENUM
? "after loop: a[1]=", a[ 1 ], "a[2]=", a[ 2 ], "a[3]=", a[ 3 ]
Inkey( 0 )
? "========================================================"
? "Testing BREAK"
? "before loop: ENUM=", ENUM
? "after loop: a[1]=", a[ 1 ], "a[2]=", a[ 2 ], "a[3]=", a[ 3 ]
BEGIN SEQUENCE
FOR EACH enum IN A DESCEND
? "loop: ENUM=", ENUM, "| index:", ENUM:__enumIndex, "| value:", ENUM:__enumValue, "| base: ", ValType( ENUM:__enumBase )
TESTbreak( ENUM )
NEXT
RECOVER USING i
? "after loop ENUM=", ENUM
? "after loop: a[1]=", a[ 1 ], "a[2]=", a[ 2 ], "a[3]=", a[ 3 ]
? "recover variable i=", i
END SEQUENCE
Inkey( 0 )
? "========================================================"
? "before loop: ENUM=", ENUM
? "before loop: c=", c
BEGIN SEQUENCE
FOR EACH enum IN c
? "start: ENUM=", ENUM
IF enum = "d"
enum := Upper( enum )
ENDIF
Testbreak( enum )
? "end: ENUM=", ENUM, "| index:", ENUM:__enumIndex, "| value:", ENUM:__enumValue, "| base: ", ValType( ENUM:__enumBase )
NEXT
RECOVER USING i
? "after loop ENUM=", ENUM
? "after loop: c=", c
? "recover variable i=", i
END SEQUENCE
? "========================================================"
FOR EACH enum, bb, cc IN A, AA, c
? enum, enum:__enumIndex, enum:__enumValue
? bb, bb:__enumIndex, bb:__enumValue
? cc, cc:__enumIndex, cc:__enumValue
NEXT
Inkey( 0 )
? "========================================================"
FOR EACH enum, bb, cc IN A, AA, c DESCEND
? enum, enum:__enumIndex, enum:__enumValue
? bb, bb:__enumIndex, bb:__enumValue
? cc, cc:__enumIndex, cc:__enumValue
NEXT
FOR EACH enum IN a
BEGIN SEQUENCE
IF enum = "2"
BREAK
ENDIF
END SEQUENCE
NEXT
FOR EACH enum IN a
BEGIN SEQUENCE
IF enum = "2"
? "Breaking... enum=", enum
BREAK enum
ENDIF
RECOVER USING enum
? "after recovery: enum=", enum
END SEQUENCE
NEXT
RETURN
PROCEDURE TESTbreak( v )
IF v = "2" .OR. v = "d"
? "issuing break"
Break( v )
ENDIF
RETURN
PROCEDURE TESTBYREF( enum )
? "start of testBYREF ENUM=", ENUM
FOR EACH ENUM IN { 1, 2, 3 }
? " -testBYREF=", ENUM
NEXT
? "end of loop: ENUM=", ENUM
ENUM := "22222"
? "end of testBYREF ENUM=", ENUM
RETURN