* tests/ac_test2.prg
* tests/adirtest.prg
* tests/ainstest.prg
* tests/altdtest.prg
* tests/and_or.prg
* tests/array16.prg
* tests/arrayidx.prg
* tests/arrays.prg
* tests/arreval.prg
* tests/arrindex.prg
* tests/atest.prg
* tests/box.prg
* tests/boxtst2.prg
* tests/byref.prg
* tests/calling.prg
* tests/clasinit.prg
* tests/clasname.prg
* tests/classch.prg
* tests/classes.prg
* tests/clsdata.prg
* tests/cmphello.prg
* tests/codebl.prg
* tests/codebloc.prg
* tests/comments.prg
* tests/curdirt.prg
* tests/db_brows.prg
* tests/dbevalts.prg
* tests/docase.prg
* tests/dosshell.prg
* tests/dupvars.prg
* tests/dynobj.prg
* tests/dynsym.prg
* tests/exittest.prg
* tests/extend1.prg
* tests/exthrb.prg
* tests/fib.prg
* tests/fornext.prg
* tests/fortest.prg
* tests/funcarr.prg
* tests/gfx.prg
* tests/gtchars.prg
* tests/gtcolors.prg
* tests/gtkeys.prg
* tests/hello.prg
* tests/ifelse.prg
* tests/inherit.prg
* tests/inhprob.prg
* tests/inifiles.prg
* tests/initexit.prg
* tests/inline.prg
* tests/iotest.prg
* tests/iotest2.prg
* tests/keywords.prg
* tests/langmsg.prg
* tests/linecont.prg
* tests/lnlenli1.prg
* tests/lnlenli2.prg
* tests/longdev.prg
* tests/longstr.prg
* tests/longstr2.prg
* tests/mathtest.prg
* tests/memfile.prg
* tests/memory.prg
* tests/readhrb.prg
* tests/rto_get.prg
* tests/rto_tb.prg
* tests/scroll.prg
* tests/seconds.prg
* tests/set_test.prg
* tests/speedold.prg
* tests/stripem.prg
* tests/t1.prg
* tests/test_all.prg
* tests/testbrw.prg
* tests/testhtml.prg
* tests/testid.prg
* tests/testpre.prg
* tests/testwarn.prg
* tests/ticktime.prg
* tests/tstchbx.prg
* tests/tstmacro.prg
* tests/tstprag.prg
* tests/vec1.prg
* tests/videotst.prg
* tests/vidtest.prg
* cleaning up tests (roughly complete)
43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
// Testing Harbour long string handling with device output.
|
|
/* Harbour Project source code
|
|
http://harbour-project.org/
|
|
Donated to the public domain on 2001-03-08 by David G. Holm <dholm@jsd-llc.com>
|
|
*/
|
|
|
|
PROCEDURE Main()
|
|
|
|
LOCAL cShort := "1234567890"
|
|
LOCAL i, j, cLong, cBuffer, nHandle
|
|
|
|
// Create an 80 KB string (Clipper is limited to 64 KB).
|
|
cLong := cShort
|
|
FOR i := 1 TO 13
|
|
cLong += cLong
|
|
NEXT
|
|
|
|
// Write the long string to file long_str.prn
|
|
SET PRINTER TO long_str
|
|
SET DEVICE TO PRINTER
|
|
DevOut( cLong )
|
|
SET PRINTER OFF
|
|
SET DEVICE TO SCREEN
|
|
|
|
// Confirm the string length and that a copy is exactly identical.
|
|
? "The length of the long string is", iif( Len( cLong ) == 80 * 1024, "correct", "wrong" )
|
|
cBuffer := cLong
|
|
? "The length of a copy of the long string is", iif( Len( cLong ) == 80 * 1024, "correct", "wrong" )
|
|
? "The copy of the long string is", iif( cLong == cBuffer, "equal", "not equal" ), "to the long string"
|
|
|
|
// Read the string back in and compare it to the original.
|
|
nHandle := FOpen( "long_str.prn" )
|
|
cBuffer := FReadStr( nHandle, 90000 )
|
|
? "Original:", Len( cLong )
|
|
? "From file:", Len( cBuffer )
|
|
? "The strings are", iif( cLong == cBuffer, "equal", "not equal" )
|
|
|
|
RETURN
|