2012-07-21 18:31 UTC+0200 Viktor Szakats (vszakats syenar.net)

+ tests/stripeol.hb
    + added script to strip spaces at EOL

  * contrib/gtalleg/tests/test.prg
  * contrib/gtwvg/tests/demoxbp.prg
  * contrib/gtwvg/tests/wvgactivex.prg
  * contrib/gtwvg/tests/wvgxbp.prg
  * contrib/gtwvg/wvgclass.prg
  * contrib/hbamf/tests/tstendin.prg
  * contrib/hbbz2/tests/test.prg
  * contrib/hbcairo/tests/fancytxt.prg
  * contrib/hbcairo/tests/table.prg
  * contrib/hbct/ctrand.prg
  * contrib/hbct/doc/en/addascii.txt
  * contrib/hbct/doc/en/atadjust.txt
  * contrib/hbct/doc/en/count.txt
  * contrib/hbct/doc/en/ct.txt
  * contrib/hbct/doc/en/ctc.txt
  * contrib/hbct/doc/en/ctmath.txt
  * contrib/hbct/doc/en/ctmath2.txt
  * contrib/hbct/doc/en/ctpad.txt
  * contrib/hbct/doc/en/ctstr.txt
  * contrib/hbct/doc/en/datetime.txt
  * contrib/hbct/doc/en/dattime2.txt
  * contrib/hbct/doc/en/exponent.txt
  * contrib/hbct/doc/en/finan.txt
  * contrib/hbct/doc/en/ftoc.txt
  * contrib/hbct/doc/en/justify.txt
  * contrib/hbct/doc/en/keyset.txt
  * contrib/hbct/doc/en/misc1.txt
  * contrib/hbct/doc/en/num1.txt
  * contrib/hbct/doc/en/numat.txt
  * contrib/hbct/doc/en/numconv.txt
  * contrib/hbct/doc/en/pos1.txt
  * contrib/hbct/doc/en/pos2.txt
  * contrib/hbct/doc/en/posdiff.txt
  * contrib/hbct/doc/en/print.txt
  * contrib/hbct/doc/en/range.txt
  * contrib/hbct/doc/en/relation.txt
  * contrib/hbct/doc/en/remove.txt
  * contrib/hbct/doc/en/replace.txt
  * contrib/hbct/doc/en/screen1.txt
  * contrib/hbct/doc/en/strdiff.txt
  * contrib/hbct/doc/en/strswap.txt
  * contrib/hbct/doc/en/token1.txt
  * contrib/hbct/doc/en/token2.txt
  * contrib/hbct/doc/en/trig.txt
  * contrib/hbct/doc/en/video.txt
  * contrib/hbct/doc/en/wordtoch.txt
  * contrib/hbct/getinfo.prg
  * contrib/hbfimage/tests/fitest.prg
  * contrib/hbgd/gdimage.prg
  * contrib/hbgd/tests/counter.prg
  * contrib/hbgd/tests/gdtest.prg
  * contrib/hbgd/tests/gdtestcl.prg
  * contrib/hbgd/tests/test_out.prg
  * contrib/hbide/idetags.prg
  * contrib/hblzf/tests/test2.prg
  * contrib/hbmisc/doc/en/ht_conv.txt
  * contrib/hbmisc/fcomma.prg
  * contrib/hbmisc/fileread.prg
  * contrib/hbmisc/hbedit.prg
  * contrib/hbnf/anomatch.prg
  * contrib/hbnf/calendar.prg
  * contrib/hbnf/clrsel.prg
  * contrib/hbnf/dispmsg.prg
  * contrib/hbnf/doc/en/aading.txt
  * contrib/hbnf/doc/en/aavg.txt
  * contrib/hbnf/doc/en/acctadj.txt
  * contrib/hbnf/doc/en/acctmnth.txt
  * contrib/hbnf/doc/en/acctqtr.txt
  * contrib/hbnf/doc/en/acctweek.txt
  * contrib/hbnf/doc/en/acctyear.txt
  * contrib/hbnf/doc/en/adessort.txt
  * contrib/hbnf/doc/en/aemaxlen.txt
  * contrib/hbnf/doc/en/aeminlen.txt
  * contrib/hbnf/doc/en/amedian.txt
  * contrib/hbnf/doc/en/anomatch.txt
  * contrib/hbnf/doc/en/any2any.txt
  * contrib/hbnf/doc/en/aredit.txt
  * contrib/hbnf/doc/en/asum.txt
  * contrib/hbnf/doc/en/at2.txt
  * contrib/hbnf/doc/en/bitclr.txt
  * contrib/hbnf/doc/en/bitset.txt
  * contrib/hbnf/doc/en/blink.txt
  * contrib/hbnf/doc/en/byt2bit.txt
  * contrib/hbnf/doc/en/byt2hex.txt
  * contrib/hbnf/doc/en/byteand.txt
  * contrib/hbnf/doc/en/byteneg.txt
  * contrib/hbnf/doc/en/bytenot.txt
  * contrib/hbnf/doc/en/bytexor.txt
  * contrib/hbnf/doc/en/calendar.txt
  * contrib/hbnf/doc/en/chdir.txt
  * contrib/hbnf/doc/en/cntryset.txt
  * contrib/hbnf/doc/en/color2n.txt
  * contrib/hbnf/doc/en/d2e.txt
  * contrib/hbnf/doc/en/datecnfg.txt
  * contrib/hbnf/doc/en/dayofyr.txt
  * contrib/hbnf/doc/en/daytobow.txt
  * contrib/hbnf/doc/en/dfile.txt
  * contrib/hbnf/doc/en/diskfunc.txt
  * contrib/hbnf/doc/en/dispc.txt
  * contrib/hbnf/doc/en/dispmsg.txt
  * contrib/hbnf/doc/en/dosver.txt
  * contrib/hbnf/doc/en/e2d.txt
  * contrib/hbnf/doc/en/easter.txt
  * contrib/hbnf/doc/en/elapsed.txt
  * contrib/hbnf/doc/en/findith.txt
  * contrib/hbnf/doc/en/floptst.txt
  * contrib/hbnf/doc/en/ftattr.txt
  * contrib/hbnf/doc/en/ftidle.txt
  * contrib/hbnf/doc/en/ftisprn.txt
  * contrib/hbnf/doc/en/ftround.txt
  * contrib/hbnf/doc/en/fttext.txt
  * contrib/hbnf/doc/en/gcd.txt
  * contrib/hbnf/doc/en/getenvrn.txt
  * contrib/hbnf/doc/en/hex2dec.txt
  * contrib/hbnf/doc/en/iamidle.txt
  * contrib/hbnf/doc/en/isbit.txt
  * contrib/hbnf/doc/en/isbiton.txt
  * contrib/hbnf/doc/en/isshare.txt
  * contrib/hbnf/doc/en/kspeed.txt
  * contrib/hbnf/doc/en/linked.txt
  * contrib/hbnf/doc/en/madd.txt
  * contrib/hbnf/doc/en/menutonf.txt
  * contrib/hbnf/doc/en/metaph.txt
  * contrib/hbnf/doc/en/miltime.txt
  * contrib/hbnf/doc/en/month.txt
  * contrib/hbnf/doc/en/netpv.txt
  * contrib/hbnf/doc/en/nooccur.txt
  * contrib/hbnf/doc/en/ntow.txt
  * contrib/hbnf/doc/en/nwlstat.txt
  * contrib/hbnf/doc/en/nwsem.txt
  * contrib/hbnf/doc/en/nwuid.txt
  * contrib/hbnf/doc/en/ontick.txt
  * contrib/hbnf/doc/en/origin.txt
  * contrib/hbnf/doc/en/page.txt
  * contrib/hbnf/doc/en/pchr.txt
  * contrib/hbnf/doc/en/peek.txt
  * contrib/hbnf/doc/en/pending.txt
  * contrib/hbnf/doc/en/poke.txt
  * contrib/hbnf/doc/en/popadder.txt
  * contrib/hbnf/doc/en/proper.txt
  * contrib/hbnf/doc/en/prtesc.txt
  * contrib/hbnf/doc/en/putkey.txt
  * contrib/hbnf/doc/en/qtr.txt
  * contrib/hbnf/doc/en/rand1.txt
  * contrib/hbnf/doc/en/savearr.txt
  * contrib/hbnf/doc/en/scregion.txt
  * contrib/hbnf/doc/en/setdate.txt
  * contrib/hbnf/doc/en/setkeys.txt
  * contrib/hbnf/doc/en/setlastk.txt
  * contrib/hbnf/doc/en/settime.txt
  * contrib/hbnf/doc/en/sinkey.txt
  * contrib/hbnf/doc/en/sleep.txt
  * contrib/hbnf/doc/en/sqzn.txt
  * contrib/hbnf/doc/en/sysmem.txt
  * contrib/hbnf/doc/en/tbwhile.txt
  * contrib/hbnf/doc/en/tempfile.txt
  * contrib/hbnf/doc/en/vertmenu.txt
  * contrib/hbnf/doc/en/vidcur.txt
  * contrib/hbnf/doc/en/vidmode.txt
  * contrib/hbnf/doc/en/wda.txt
  * contrib/hbnf/doc/en/week.txt
  * contrib/hbnf/doc/en/workdays.txt
  * contrib/hbnf/doc/en/woy.txt
  * contrib/hbnf/doc/en/xbox.txt
  * contrib/hbnf/doc/en/year.txt
  * contrib/hbnf/ftround.prg
  * contrib/hbnf/metaph.prg
  * contrib/hbnf/nwsem.prg
  * contrib/hbnf/nwuid.prg
  * contrib/hbnf/pending.prg
  * contrib/hbnf/popadder.prg
  * contrib/hbnf/scregion.prg
  * contrib/hbnf/tbwhile.prg
  * contrib/hbnf/workdays.prg
  * contrib/hbodbc/browodbc.prg
  * contrib/hbqt/tests/browqt.prg
  * contrib/hbqt/tests/dbfbrowserclass.prg
  * contrib/hbqt/tests/testbrow.prg
  * contrib/hbsqlit3/tests/blob.prg
  * contrib/hbsqlit3/tests/sl3_test.prg
  * contrib/hbxbp/tests/demoxbp.prg
  * contrib/hbxbp/tests/dialogqt.prg
  * contrib/hbxbp/xbpdataref.prg
  * contrib/hbxbp/xbpmenubar.prg
  * contrib/hbxbp/xbpprintdialog.prg
  * contrib/hbxbp/xbpprinter.prg
  * contrib/hbxbp/xbprtf.prg
  * contrib/hbxbp/xbpscrollbar.prg
  * contrib/xhb/cstruct.prg
  * contrib/xhb/hblog.prg
  * contrib/xhb/hterrsys.prg
  * contrib/xhb/htjlist.prg
  * contrib/xhb/sprintf.prg
  * contrib/xhb/stream.prg
  * contrib/xhb/tcgi.prg
  * contrib/xhb/tedit.prg
  * contrib/xhb/tfile.prg
  * contrib/xhb/thtm.prg
  * contrib/xhb/trpc.prg
  * contrib/xhb/trpccli.prg
  * contrib/xhb/ttable.prg
  * contrib/xhb/txml.prg
  * contrib/xhb/xcstr.prg
  * contrib/xhb/xhberr.prg
  * contrib/xhb/xhbmt.prg
  * doc/cmpopt.txt
  * doc/en/dbstrux.txt
  * examples/hbapollo/array.prg
  * examples/hbvpdf/hbvpdf.prg
  * examples/hbvpdf/hbvpdft.prg
  * examples/hbxlsxml/xlsxml_s.prg
  * examples/hbxlsxml/xlsxml_y.prg
  * examples/httpsrv/cgifunc.prg
  * examples/httpsrv/cookie.prg
  * examples/httpsrv/modules/cookie.prg
  * examples/httpsrv/modules/info.prg
  * examples/httpsrv/modules/showcounter.prg
  * examples/httpsrv/modules/tableservletdb.prg
  * examples/httpsrv/modules/testajax.prg
  * examples/httpsrv/session.prg
  * examples/httpsrv/uhttpd.prg
  * include/hbclass.ch
  * include/hbtrace.ch
  * src/debug/dbgtinp.prg
  * src/debug/debugger.prg
  * src/debug/tbrwtext.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/valtoexp.prg
    * formatting, fixed indentation, cleanups, deleting system specific information,
      optimizing out platform dependent code, using hb_ntos()
This commit is contained in:
Viktor Szakats
2012-07-21 16:48:00 +00:00
parent 86a79b52cc
commit f6c08520e4
231 changed files with 2297 additions and 2019 deletions

View File

@@ -16,6 +16,242 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-07-21 18:31 UTC+0200 Viktor Szakats (vszakats syenar.net)
+ tests/stripeol.hb
+ added script to strip spaces at EOL
* contrib/gtalleg/tests/test.prg
* contrib/gtwvg/tests/demoxbp.prg
* contrib/gtwvg/tests/wvgactivex.prg
* contrib/gtwvg/tests/wvgxbp.prg
* contrib/gtwvg/wvgclass.prg
* contrib/hbamf/tests/tstendin.prg
* contrib/hbbz2/tests/test.prg
* contrib/hbcairo/tests/fancytxt.prg
* contrib/hbcairo/tests/table.prg
* contrib/hbct/ctrand.prg
* contrib/hbct/doc/en/addascii.txt
* contrib/hbct/doc/en/atadjust.txt
* contrib/hbct/doc/en/count.txt
* contrib/hbct/doc/en/ct.txt
* contrib/hbct/doc/en/ctc.txt
* contrib/hbct/doc/en/ctmath.txt
* contrib/hbct/doc/en/ctmath2.txt
* contrib/hbct/doc/en/ctpad.txt
* contrib/hbct/doc/en/ctstr.txt
* contrib/hbct/doc/en/datetime.txt
* contrib/hbct/doc/en/dattime2.txt
* contrib/hbct/doc/en/exponent.txt
* contrib/hbct/doc/en/finan.txt
* contrib/hbct/doc/en/ftoc.txt
* contrib/hbct/doc/en/justify.txt
* contrib/hbct/doc/en/keyset.txt
* contrib/hbct/doc/en/misc1.txt
* contrib/hbct/doc/en/num1.txt
* contrib/hbct/doc/en/numat.txt
* contrib/hbct/doc/en/numconv.txt
* contrib/hbct/doc/en/pos1.txt
* contrib/hbct/doc/en/pos2.txt
* contrib/hbct/doc/en/posdiff.txt
* contrib/hbct/doc/en/print.txt
* contrib/hbct/doc/en/range.txt
* contrib/hbct/doc/en/relation.txt
* contrib/hbct/doc/en/remove.txt
* contrib/hbct/doc/en/replace.txt
* contrib/hbct/doc/en/screen1.txt
* contrib/hbct/doc/en/strdiff.txt
* contrib/hbct/doc/en/strswap.txt
* contrib/hbct/doc/en/token1.txt
* contrib/hbct/doc/en/token2.txt
* contrib/hbct/doc/en/trig.txt
* contrib/hbct/doc/en/video.txt
* contrib/hbct/doc/en/wordtoch.txt
* contrib/hbct/getinfo.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbgd/gdimage.prg
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/test_out.prg
* contrib/hbide/idetags.prg
* contrib/hblzf/tests/test2.prg
* contrib/hbmisc/doc/en/ht_conv.txt
* contrib/hbmisc/fcomma.prg
* contrib/hbmisc/fileread.prg
* contrib/hbmisc/hbedit.prg
* contrib/hbnf/anomatch.prg
* contrib/hbnf/calendar.prg
* contrib/hbnf/clrsel.prg
* contrib/hbnf/dispmsg.prg
* contrib/hbnf/doc/en/aading.txt
* contrib/hbnf/doc/en/aavg.txt
* contrib/hbnf/doc/en/acctadj.txt
* contrib/hbnf/doc/en/acctmnth.txt
* contrib/hbnf/doc/en/acctqtr.txt
* contrib/hbnf/doc/en/acctweek.txt
* contrib/hbnf/doc/en/acctyear.txt
* contrib/hbnf/doc/en/adessort.txt
* contrib/hbnf/doc/en/aemaxlen.txt
* contrib/hbnf/doc/en/aeminlen.txt
* contrib/hbnf/doc/en/amedian.txt
* contrib/hbnf/doc/en/anomatch.txt
* contrib/hbnf/doc/en/any2any.txt
* contrib/hbnf/doc/en/aredit.txt
* contrib/hbnf/doc/en/asum.txt
* contrib/hbnf/doc/en/at2.txt
* contrib/hbnf/doc/en/bitclr.txt
* contrib/hbnf/doc/en/bitset.txt
* contrib/hbnf/doc/en/blink.txt
* contrib/hbnf/doc/en/byt2bit.txt
* contrib/hbnf/doc/en/byt2hex.txt
* contrib/hbnf/doc/en/byteand.txt
* contrib/hbnf/doc/en/byteneg.txt
* contrib/hbnf/doc/en/bytenot.txt
* contrib/hbnf/doc/en/bytexor.txt
* contrib/hbnf/doc/en/calendar.txt
* contrib/hbnf/doc/en/chdir.txt
* contrib/hbnf/doc/en/cntryset.txt
* contrib/hbnf/doc/en/color2n.txt
* contrib/hbnf/doc/en/d2e.txt
* contrib/hbnf/doc/en/datecnfg.txt
* contrib/hbnf/doc/en/dayofyr.txt
* contrib/hbnf/doc/en/daytobow.txt
* contrib/hbnf/doc/en/dfile.txt
* contrib/hbnf/doc/en/diskfunc.txt
* contrib/hbnf/doc/en/dispc.txt
* contrib/hbnf/doc/en/dispmsg.txt
* contrib/hbnf/doc/en/dosver.txt
* contrib/hbnf/doc/en/e2d.txt
* contrib/hbnf/doc/en/easter.txt
* contrib/hbnf/doc/en/elapsed.txt
* contrib/hbnf/doc/en/findith.txt
* contrib/hbnf/doc/en/floptst.txt
* contrib/hbnf/doc/en/ftattr.txt
* contrib/hbnf/doc/en/ftidle.txt
* contrib/hbnf/doc/en/ftisprn.txt
* contrib/hbnf/doc/en/ftround.txt
* contrib/hbnf/doc/en/fttext.txt
* contrib/hbnf/doc/en/gcd.txt
* contrib/hbnf/doc/en/getenvrn.txt
* contrib/hbnf/doc/en/hex2dec.txt
* contrib/hbnf/doc/en/iamidle.txt
* contrib/hbnf/doc/en/isbit.txt
* contrib/hbnf/doc/en/isbiton.txt
* contrib/hbnf/doc/en/isshare.txt
* contrib/hbnf/doc/en/kspeed.txt
* contrib/hbnf/doc/en/linked.txt
* contrib/hbnf/doc/en/madd.txt
* contrib/hbnf/doc/en/menutonf.txt
* contrib/hbnf/doc/en/metaph.txt
* contrib/hbnf/doc/en/miltime.txt
* contrib/hbnf/doc/en/month.txt
* contrib/hbnf/doc/en/netpv.txt
* contrib/hbnf/doc/en/nooccur.txt
* contrib/hbnf/doc/en/ntow.txt
* contrib/hbnf/doc/en/nwlstat.txt
* contrib/hbnf/doc/en/nwsem.txt
* contrib/hbnf/doc/en/nwuid.txt
* contrib/hbnf/doc/en/ontick.txt
* contrib/hbnf/doc/en/origin.txt
* contrib/hbnf/doc/en/page.txt
* contrib/hbnf/doc/en/pchr.txt
* contrib/hbnf/doc/en/peek.txt
* contrib/hbnf/doc/en/pending.txt
* contrib/hbnf/doc/en/poke.txt
* contrib/hbnf/doc/en/popadder.txt
* contrib/hbnf/doc/en/proper.txt
* contrib/hbnf/doc/en/prtesc.txt
* contrib/hbnf/doc/en/putkey.txt
* contrib/hbnf/doc/en/qtr.txt
* contrib/hbnf/doc/en/rand1.txt
* contrib/hbnf/doc/en/savearr.txt
* contrib/hbnf/doc/en/scregion.txt
* contrib/hbnf/doc/en/setdate.txt
* contrib/hbnf/doc/en/setkeys.txt
* contrib/hbnf/doc/en/setlastk.txt
* contrib/hbnf/doc/en/settime.txt
* contrib/hbnf/doc/en/sinkey.txt
* contrib/hbnf/doc/en/sleep.txt
* contrib/hbnf/doc/en/sqzn.txt
* contrib/hbnf/doc/en/sysmem.txt
* contrib/hbnf/doc/en/tbwhile.txt
* contrib/hbnf/doc/en/tempfile.txt
* contrib/hbnf/doc/en/vertmenu.txt
* contrib/hbnf/doc/en/vidcur.txt
* contrib/hbnf/doc/en/vidmode.txt
* contrib/hbnf/doc/en/wda.txt
* contrib/hbnf/doc/en/week.txt
* contrib/hbnf/doc/en/workdays.txt
* contrib/hbnf/doc/en/woy.txt
* contrib/hbnf/doc/en/xbox.txt
* contrib/hbnf/doc/en/year.txt
* contrib/hbnf/ftround.prg
* contrib/hbnf/metaph.prg
* contrib/hbnf/nwsem.prg
* contrib/hbnf/nwuid.prg
* contrib/hbnf/pending.prg
* contrib/hbnf/popadder.prg
* contrib/hbnf/scregion.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/workdays.prg
* contrib/hbodbc/browodbc.prg
* contrib/hbqt/tests/browqt.prg
* contrib/hbqt/tests/dbfbrowserclass.prg
* contrib/hbqt/tests/testbrow.prg
* contrib/hbsqlit3/tests/blob.prg
* contrib/hbsqlit3/tests/sl3_test.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/tests/dialogqt.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/xhb/cstruct.prg
* contrib/xhb/hblog.prg
* contrib/xhb/hterrsys.prg
* contrib/xhb/htjlist.prg
* contrib/xhb/sprintf.prg
* contrib/xhb/stream.prg
* contrib/xhb/tcgi.prg
* contrib/xhb/tedit.prg
* contrib/xhb/tfile.prg
* contrib/xhb/thtm.prg
* contrib/xhb/trpc.prg
* contrib/xhb/trpccli.prg
* contrib/xhb/ttable.prg
* contrib/xhb/txml.prg
* contrib/xhb/xcstr.prg
* contrib/xhb/xhberr.prg
* contrib/xhb/xhbmt.prg
* doc/cmpopt.txt
* doc/en/dbstrux.txt
* examples/hbapollo/array.prg
* examples/hbvpdf/hbvpdf.prg
* examples/hbvpdf/hbvpdft.prg
* examples/hbxlsxml/xlsxml_s.prg
* examples/hbxlsxml/xlsxml_y.prg
* examples/httpsrv/cgifunc.prg
* examples/httpsrv/cookie.prg
* examples/httpsrv/modules/cookie.prg
* examples/httpsrv/modules/info.prg
* examples/httpsrv/modules/showcounter.prg
* examples/httpsrv/modules/tableservletdb.prg
* examples/httpsrv/modules/testajax.prg
* examples/httpsrv/session.prg
* examples/httpsrv/uhttpd.prg
* include/hbclass.ch
* include/hbtrace.ch
* src/debug/dbgtinp.prg
* src/debug/debugger.prg
* src/debug/tbrwtext.prg
* src/rdd/usrrdd/rdds/hscdx.prg
* src/rtl/hbi18n2.prg
* src/rtl/valtoexp.prg
* formatting, fixed indentation, cleanups, deleting system specific information,
optimizing out platform dependent code, using hb_ntos()
2012-07-21 14:17 UTC+0200 Viktor Szakats (vszakats syenar.net)
* examples/hbxlsxml/tests/example.prg
* examples/hbxlsxml/tests/example2.prg

View File

@@ -8,6 +8,6 @@ ANNOUNCE HB_GTSYS
PROCEDURE Main()
CLS
ALERT( "Hello world!" )
Alert( "Hello world!" )
RETURN

View File

@@ -217,7 +217,7 @@ FUNCTION Main()
oXbp:autoTab := .T.
oXbp:bufferLength := 20
// Data code block containing assignment to LOCAL variable
oXbp:dataLink := {|x| IIf( x == NIL, cVarA, cVarA := x ) }
oXbp:dataLink := {|x| iif( x == NIL, cVarA, cVarA := x ) }
oXbp:create( oStatic2, , { 10,170 }, { 150,20 } )
oXbp:setData()
// Assign the value of the edit buffer to a LOCAL variable when the input focus is lost
@@ -227,7 +227,7 @@ FUNCTION Main()
oXbp := WvgSLE():new( , , { 10,200 }, { 150,20 } )
oXbp:tabStop := .T.
oXbp:bufferLength := 15
oXbp:dataLink := {|x| IIf( x == NIL, cVarB, cVarB := x ) }
oXbp:dataLink := {|x| iif( x == NIL, cVarB, cVarB := x ) }
oXbp:create( oStatic2 )
oXbp:setData()
oXbp:killInputFocus := { |x,y,oSLE| x:=x,y:=y, oSLE:getData(), oPanel:caption := "cVarB =" + cVarB }
@@ -239,7 +239,7 @@ FUNCTION Main()
oMLE := WvgMLE():new()
oMLE:wordWrap := .F.
oMLE:border := .t.
oMLE:dataLink := {|x| IIf( x==NIL, cText, cText := x ) }
oMLE:dataLink := {|x| iif( x==NIL, cText, cText := x ) }
oMLE:create( oStatic2, , { 180,10 }, { 310,250 } )
// Copy text from LOCAL variable into edit buffer via :dataLink
oMLE:setData()

View File

@@ -118,7 +118,7 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oXbp:autoTab := .T.
oXbp:bufferLength := 20
// Data code block containing assignment to LOCAL variable
oXbp:dataLink := {|x| IIf( x == NIL, cVarA, cVarA := x ) }
oXbp:dataLink := {|x| iif( x == NIL, cVarA, cVarA := x ) }
oXbp:create( , , { 10,170 }, { 150,20 } )
oXbp:setData()
// Assign the value of the edit buffer to a LOCAL variable when the input focus is lost
@@ -128,7 +128,7 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oXbp := WvgSLE():new( oStatic2, , { 10,200 }, { 150,20 } )
oXbp:tabStop := .T.
oXbp:bufferLength := 15
oXbp:dataLink := {|x| IIf( x == NIL, cVarB, cVarB := x ) }
oXbp:dataLink := {|x| iif( x == NIL, cVarB, cVarB := x ) }
oXbp:create( )
oXbp:setData()
oXbp:killInputFocus := { |x,y,oSLE| x:=x,y:=y, oSLE:getData(), oPanel:caption := "cVarB =" + cVarB }
@@ -140,7 +140,7 @@ FUNCTION ExecuteActiveX( nActiveX, xParam )
oMLE := WvgMLE():new( oStatic2 )
oMLE:wordWrap := .F.
oMLE:border := .t.
oMLE:dataLink := {|x| IIf( x==NIL, cText, cText := x ) }
oMLE:dataLink := {|x| iif( x==NIL, cText, cText := x ) }
oMLE:create( oStatic2, , { 180,10 }, { 310,250 } )
// Copy text from LOCAL variable into edit buffer via :dataLink
oMLE:setData()

View File

@@ -216,7 +216,7 @@ FUNCTION demoxbp()
oXbp:autoTab := .T.
oXbp:bufferLength := 20
// Data code block containing assignment to LOCAL variable
oXbp:dataLink := {|x| IIf( x == NIL, cVarA, cVarA := x ) }
oXbp:dataLink := {|x| iif( x == NIL, cVarA, cVarA := x ) }
oXbp:create( oStatic2, , { 10,170 }, { 150,20 } )
oXbp:setData()
// Assign the value of the edit buffer to a LOCAL variable when the input focus is lost
@@ -226,7 +226,7 @@ FUNCTION demoxbp()
oXbp := WvgSLE():new( , , { 10,200 }, { 150,20 } )
oXbp:tabStop := .T.
oXbp:bufferLength := 15
oXbp:dataLink := {|x| IIf( x == NIL, cVarB, cVarB := x ) }
oXbp:dataLink := {|x| iif( x == NIL, cVarB, cVarB := x ) }
oXbp:create( oStatic2 )
oXbp:setData()
oXbp:killInputFocus := { |x,y,oSLE| x:=x,y:=y, oSLE:getData(), oPanel:caption := "cVarB =" + cVarB }
@@ -238,7 +238,7 @@ FUNCTION demoxbp()
oMLE := WvgMLE():new()
oMLE:wordWrap := .F.
oMLE:border := .t.
oMLE:dataLink := {|x| IIf( x==NIL, cText, cText := x ) }
oMLE:dataLink := {|x| iif( x==NIL, cText, cText := x ) }
oMLE:create( oStatic2, , { 180,10 }, { 310,250 } )
// Copy text from LOCAL variable into edit buffer via :dataLink
oMLE:setData()

View File

@@ -3333,7 +3333,7 @@ METHOD wvtMenu:Create( cCaption )
Throw( ErrorNew( "wvtMenu", 1000, "wvtMenu:Init()", "Create Menu Error", { cCaption, cCaption },"wvt.prg" ) )
#ENDIF
ENDIF
::Caption:= IIF( cCaption == NIL, "", cCaption )
::Caption:= iif( cCaption == NIL, "", cCaption )
RETURN Self
@@ -3361,7 +3361,7 @@ METHOD wvtMenu:AddItem( cCaption, bAction )
IF !EMPTY( ::hMenu ) .AND. ( !EMPTY( cCaption ) .OR. !EMPTY( bAction ) )
IF HB_ISOBJECT( bAction )
cCaption:= IIF(!EMPTY(cCaption),cCaption,bAction:Caption)
cCaption:= iif(!EMPTY(cCaption),cCaption,bAction:Caption)
aItem:= {MF_POPUP,bAction:hMenu,cCaption,bAction} /* bAction is a wvtMenu object reference */
ELSEIF HB_ISBLOCK(bAction)
aItem:= {MF_STRING,::MenuItemId++,cCaption,bAction} /* bAction is a code block to execute */

View File

@@ -40,6 +40,6 @@ PROCEDURE A( a, cChkOK )
LOCAL x := AMF3_ENCODE( a )
LOCAL cChk := hb_StrToHex( I2Bin( hb_CRC( x ) ) )
QOut( PadL( hb_ValToExp( a ), 18 ), hb_StrToHex( x, " " ), "CHECKSUM", cChk, IIF( !Empty( cChkOK ) .AND. !( cChk == cChkOK ), "!TEST FAILED!, should be " + cChkOK, " " ) )
QOut( PadL( hb_ValToExp( a ), 18 ), hb_StrToHex( x, " " ), "CHECKSUM", cChk, iif( !Empty( cChkOK ) .AND. !( cChk == cChkOK ), "!TEST FAILED!, should be " + cChkOK, " " ) )
RETURN

View File

@@ -5,8 +5,11 @@
#include "simpleio.ch"
PROCEDURE Main()
LOCAL cI, cJ, nErr
cI := "Hello"
cJ := HB_BZ2_COMPRESS( cI,, @nErr )
? nErr, LEN( cJ ), HB_STRTOHEX( cJ )
cJ := HB_BZ2_COMPRESS( cI, , @nErr )
? nErr, Len( cJ ), hb_StrToHex( cJ )
RETURN

View File

@@ -12,7 +12,7 @@ PROC main()
draw( hSurface )
cairo_surface_destroy( hSurface )
hSurface := cairo_image_surface_create( "fancytxt.pdf", 567, 794 )
hSurface := cairo_image_surface_create( "fancytxt.pdf", 567, 794 )
draw( hSurface )
cairo_surface_write_to_png( hSurface, "fancytxt.png" )
cairo_surface_destroy( hSurface )
@@ -24,8 +24,8 @@ PROC draw( hSurface )
hCairo := cairo_create( hSurface )
cairo_set_tolerance( hCairo, 0.01 )
// Draw base line
// Draw base line
cairo_move_to( hCairo, 50, 650 )
cairo_rel_line_to( hCairo, 250, 50 )
cairo_rel_curve_to( hCairo, 100, 20, 200, -50, 200, -150 )
@@ -98,19 +98,19 @@ STATIC PROC transform_point( nX, nY, hPath, aLengths )
IF nType == CAIRO_PATH_MOVE_TO .OR. nType == CAIRO_PATH_LINE_TO
aLast := aPoints[ 1 ]
ELSEIF nType == CAIRO_PATH_CURVE_TO
aLast := aPoints[ 3 ]
aLast := aPoints[ 3 ]
ENDIF
ENDDO
IF nType == CAIRO_PATH_MOVE_TO
IF nType == CAIRO_PATH_MOVE_TO
ELSEIF nType == CAIRO_PATH_LINE_TO
nRatio := nNX / aLengths[ nI ]
nRatio := nNX / aLengths[ nI ]
nX := aLast[ 1 ] * (1 - nRatio) + aPoints[ 1, 1 ] * nRatio
nY := aLast[ 2 ] * (1 - nRatio) + aPoints[ 1, 2 ] * nRatio
nDX := -(aLast[ 1 ] - aPoints[ 1, 1 ])
nDY := -(aLast[ 2 ] - aPoints[ 1, 2 ])
nRatio := nNY / aLengths[ nI ]
nX += -nDY * nRatio
nY += nDX * nRatio
@@ -129,7 +129,7 @@ STATIC PROC transform_point( nX, nY, hPath, aLengths )
nY += nDX * nRatio
ENDIF
cairo_path_iterator_destroy( hIterator )
RETURN
RETURN
STATIC FUNC path_lengths( hPath )
@@ -143,7 +143,7 @@ STATIC FUNC path_lengths( hPath )
IF nType == CAIRO_PATH_MOVE_TO
aLast := aPoints[ 1 ]
ELSEIF nType == CAIRO_PATH_LINE_TO
nLen := distance( aLast[ 1 ], aLast[ 2 ], aPoints[ 1, 1 ], aPoints[ 1, 2 ] )
nLen := distance( aLast[ 1 ], aLast[ 2 ], aPoints[ 1, 1 ], aPoints[ 1, 2 ] )
aLast := aPoints[ 1 ]
ELSEIF nType == CAIRO_PATH_CURVE_TO
nLen := curve_length( aLast[ 1 ], aLast[ 2 ], aPoints[ 1, 1 ], aPoints[ 1, 2 ], ;
@@ -155,7 +155,7 @@ STATIC FUNC path_lengths( hPath )
cairo_path_iterator_destroy( hIterator )
RETURN aRet
STATIC FUNC distance( nX1, nY1, nX2, nY2 )
RETURN sqrt( (nX1-nX2)^2 + (nY1-nY2)^2 )
@@ -173,7 +173,7 @@ STATIC FUNC curve_length( nX1, nY1, nX2, nY2, nX3, nY3, nX4, nY4 )
IF nType == CAIRO_PATH_MOVE_TO
aLast := aPoints
ELSEIF nType == CAIRO_PATH_LINE_TO
nLength += distance(aLast[ 1 ], aLast[ 2 ], aPoints[ 1 ], aPoints[ 2 ] )
nLength += distance( aLast[ 1 ], aLast[ 2 ], aPoints[ 1 ], aPoints[ 2 ] )
aLast := aPoints
ENDIF
ENDDO

View File

@@ -56,7 +56,7 @@ STATIC PROC draw_table( hCairo, nX, nY, aCol )
aWidth[ nI ] := MAX( aWidth[ nI ], cairo_text_extents( hCairo, aCol[ nI, 1 ] )[ 5 ] ) + 20
NEXT
nW := 0
AEVAL( aWidth, {|X| nW += X} )
AEVAL( aWidth, {| X | nW += X } )
cairo_move_to( hCairo, nX, nY )
cairo_rel_line_to( hCairo, nW, 0 )
@@ -120,4 +120,3 @@ STATIC PROC show_text_center( hCairo, cText )
cairo_rel_move_to( hCairo, -0.5 * cairo_text_extents( hCairo, cText )[ 5 ], 0 )
cairo_show_text( hCairo, cText )
RETURN

View File

@@ -51,7 +51,7 @@
*/
FUNCTION Random( lMode )
RETURN IIF( HB_ISLOGICAL( lMode ) .AND. lMode, ;
RETURN iif( HB_ISLOGICAL( lMode ) .AND. lMode, ;
HB_RandomInt( -32768, 32767 ), HB_RandomInt( 0, 65535 ) )
FUNCTION Rand( nStart )

View File

@@ -39,7 +39,7 @@
* $EXAMPLES$
* // Add 32 to the ASCII value of the character at the last position
* // in the string
*
*
* ? addascii ("SmitH", 32) --> "Smith"
* $TESTS$
* addascii ("0000", 1, 1) == "1000"

View File

@@ -30,9 +30,9 @@
* $DESCRIPTION$
* <TODO: add a description, some examples and tests here>
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* COUNTLEFT (<cString>, [<cSearch|nSearch>]) -> nCount
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* COUNTRIGHT (<cString>, [<cSearch|nSearch>]) -> nCount
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -22,9 +22,9 @@
* idea to call it once again explicitly somewhere at the beginning of
* your program to check the initialization.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -34,7 +34,7 @@
* $FILES$
* Source is ct.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -58,9 +58,9 @@
* to call it explicitly somewhere at the end of your program to make
* sure that the deinitialization takes place.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -70,6 +70,6 @@
* $FILES$
* Source is ct.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -29,9 +29,9 @@
* The last is the default behaviour and switches any argument error
* throwing off.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -41,7 +41,7 @@
* $FILES$
* Source is ct.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -62,9 +62,9 @@
* The CTCINIT() function initializes the C source part of the CT3
* library. Do not call this function directly.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -95,9 +95,9 @@
* The CTCEXIT() function uninitializes the C part of the CT3 library.
* Do not call this function directly.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$

View File

@@ -19,9 +19,9 @@
* Be aware that calls to this functions do _NOT_ affect the
* calculation precision of the math functions at the moment.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -31,7 +31,7 @@
* $FILES$
* Source is ctmath.c, library is ct3.
* $SEEALSO$
*
*
* $END$
*/
@@ -45,16 +45,16 @@
* $SYNTAX$
* GETPREC () -> nDigits
* $ARGUMENTS$
*
*
* $RETURNS$
* nDigits digit count between 1 and 16
* $DESCRIPTION$
* Be aware that calls to this functions do _NOT_ affect the
* calculation precision of the math functions at the moment.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -64,6 +64,6 @@
* $FILES$
* Source is ctmath.c, library is ct3.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -107,7 +107,7 @@
* $FILES$
* Source is math.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -142,7 +142,7 @@
* $FILES$
* Source is math.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -181,6 +181,6 @@
* $FILES$
* Source is math.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* PADLEFT (<cString>,<nLength>, [<cChar|nChar>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* PADRIGHT (<cString>,<nLength>, [<cChar|nChar>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -21,7 +21,7 @@
* Within the CT3 functions, the following functions do not
* change the length of a string passed as parameter while
* transforming this string:
*
*
* ADDASCII() BLANK() CHARADD()
* CHARAND() CHARMIRR() CHARNOT()
* CHAROR() CHARRELREP() CHARREPL()
@@ -31,18 +31,18 @@
* REPLALL() REPLLEFT() REPLRIGHT()
* TOKENLOWER() TOKENUPPER() WORDREPL()
* WORDSWAP()
*
*
* Thus, these functions allow to pass the string by reference [@] to
* the function so that it may not be necessary to return the transformed
* string. By calling CSETREF (.T.), the above mentioned functions return
* the value .F. instead of the transformed string if the string is
* passed by reference to the function.
* The switch is turned off (.F.) by default.
*
*
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -81,18 +81,18 @@
* current state of the switch
* $DESCRIPTION$
* CSETATMUPA determines how the following CT3 string functions
*
*
* ATNUM() AFTERATNUM() BEFORATNUM()
* ATREPL() NUMAT() ATADJUST()
* WORDTOCHAR() WORDREPL()
*
*
* perform their work. See the respective function documentation for a
* further description how the switch influences these functions.
*
*
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -134,27 +134,27 @@
* $DESCRIPTION$
* In the following CT3 functions, strings are compared on a character
* base:
*
*
* ATADJUST() ATNUM() AFTERATNUM()
* BEFOREATNUM() ATREPL() NUMAT()
* STRDIFF()
*
*
* With the SETATLIKE function, one can determine when characters are
* considered to match within these functions. If CT_SETATLIKE_WILDCARD
* is set (e.g. "?"), then "?" matches every other character.
*
*
* <nMode> can be one of the following values that are defined
* in ct.ch
*
*
* Definition | Value
* ----------------------|------
* CT_SETATLIKE_EXACT | 0
* CT_SETATLIKE_WILDCARD | 1
*
*
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -166,6 +166,6 @@
* $FILES$
* Source is ctstr.c, header is ct.ch, library is ct3.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* BOM ([<dDate>]) -> dDateBeginOfMonth
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* EOM ([<dDate>]) -> dDateEndOfMonth
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -76,15 +76,15 @@
* $SYNTAX$
* BOQ ([<dDate>]) -> dDateBeginOfQuarter
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -108,15 +108,15 @@
* $SYNTAX$
* EOQ ([<dDate>]) -> dDateEndOfQuarter
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -140,15 +140,15 @@
* $SYNTAX$
* BOY ([<dDate>]) -> dDateBeginOfYear
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -172,15 +172,15 @@
* $SYNTAX$
* EOY ([<dDate>]) -> dDateEndOfYear
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* CTODOW (<cName>) -> nOrdinal
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* CTOMONTH (<cName>) -> nOrdinal
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -76,17 +76,17 @@
* $SYNTAX$
* DMY ([<dDate>][, <lMode>]) -> cDateString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* Returns the date as a string in DD Month YY format. If lmode
* is TRUE, a "." is inserted after the DD
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -110,17 +110,17 @@
* $SYNTAX$
* MDY ([<dDate>]) -> cDateString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* Returns the date as a string in Month DD, YY or Month DD, YYYY
* If dDate is NULL, the system date is used
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -144,15 +144,15 @@
* $SYNTAX$
* ADDMONTH ([<dDate>,] <nMonths>) -> dShiftedDate
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -162,7 +162,7 @@
* $FILES$
* Source is dattime2.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -176,17 +176,17 @@
* $SYNTAX$
* DMY ([<dDate>]) -> nDayOfYear
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* Determines the day of the year for a specific date
* if dDate is invalid, returns 0
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -196,7 +196,7 @@
* $FILES$
* Source is dattime2.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -210,15 +210,15 @@
* $SYNTAX$
* ISLEAP ([<dDate>]) -> lIsLeap
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -228,7 +228,7 @@
* $FILES$
* Source is dattime2.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -242,17 +242,17 @@
* $SYNTAX$
* DAYSTOMONTH (<nMonth>, <lLeapYear>) -> nDaysToMonth
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* lLeap is FALSE for a non-leap year but TRUE if it is. If so and nMonth
* is greater than 2, ndays is incremented
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -276,15 +276,15 @@
* $SYNTAX$
* DAYSINMONTH (<nMonth>, <lLeapYear>) -> nDaysInMonth
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -308,17 +308,17 @@
* $SYNTAX$
* QUARTER ([<dDate>]) -> nQuarter
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* Returns a number equal to the quarter in which ddate
* falls. If ddate is empty, the system date is employed.
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -328,7 +328,7 @@
* $FILES$
* Source is dattime2.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -342,18 +342,18 @@
* $SYNTAX$
* LASTDAYOM ([<dDate|nMonth>]) -> nDaysInMonth
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* <dDate|nMonth> can be a date or a month number. If empty uses the
* system date. If nMonth is a 2, lastdayom() will not know if it
* is a leap year or not. If dDate is invalid, returns 0
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -377,15 +377,15 @@
* $SYNTAX$
* NTOCDOW (<nDay>) -> cDay
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -409,15 +409,15 @@
* $SYNTAX$
* NTOCMONTH (<nMonth>) -> cMonth
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -441,9 +441,9 @@
* $SYNTAX$
* WEEK ([<dDate>][, <lSWN>]) -> nWeek
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* Returns the calendar week a number. If no date is specified,
* the system date is used. An empty date viz ctod(" / / ")
@@ -457,9 +457,9 @@
* will be calculated
* TODO: add further documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -469,6 +469,6 @@
* $FILES$
* Source is dattime2.prg, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -18,19 +18,19 @@
* $DESCRIPTION$
* This function supplements EXPONENT() to return the mantissa of the
* <nFloatingPointNumber> number.
*
*
* Note: The mantissa value can be 0 or in the range of 1 to 2.
*
*
* The following calculation reproduces the original value:
*
*
* MANTISSA(<nFloatingPointNumber>)* 2^EXPONENT(<nFloatingPointNumber>) =
* <nFloatingPointNumber>
*
*
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -61,23 +61,23 @@
* $DESCRIPTION$
* This function supplements MANTISSA() to return the exponent of the
* <nFloatingPointNumber> number.
*
*
* Values > 1 or values < -1 return a positive number 0 to 1023.
*
*
* Values < 1 or values > -1 return a negative number -1 to -1023.
*
*
* The EXPONENT( 0 ), return 0.
*
*
* The following calculation reproduces the original value:
*
*
* 2^EXPONENT(<nFloatingPointNumber>) * MANTISSA(<nFloatingPointNumber>) =
* <nFloatingPointNumber>
*
*
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -36,7 +36,7 @@
* $EXAMPLES$
* // Payment of 1000 per year for 10 years at a interest rate
* // of 5 per cent per year
*
*
* ? fv (1000, 0.05, 10) --> 12577.893
* $TESTS$
* fv (1000, 0.00, 10) == 10000.0
@@ -87,7 +87,7 @@
* // at a interest rate of 0.5% per month (6% per year), so instead
* // of 6000 Dollars (the amount you will pay back) the bank will pay
* // you
*
*
* ? pv (100, 0.005, 60) --> 5172.56
* $TESTS$
* pv (100, 0.0, 60) == 6000.0
@@ -136,7 +136,7 @@
* // You get a loan of 5172.56 at a interest rate of 0.5% per
* // month (6% per year).
* // For 5 years, you have to pay back every month
*
*
* ? payment (5172.56, 0.005, 60) --> 100.00
* $TESTS$
* payment (5172.56, 0.0, 60) == 86.21
@@ -180,7 +180,7 @@
* debt in period <nPeriod> = ((debt in period <nPeriod>-1)-<nPayment>)*(1+<nInterest>/100)
* -> has to be 0, so
* <nPeriods> = -log(1-<nLoan>*(<nInterest>/100)/<nPayment>)/log(1+<nInterest>/100))
*
*
* Note, however that in the case of nPayment <= <nLoan>*(<nInterest>/100),
* one would need infinite time to pay the loan back. The functions does
* then return -1.
@@ -188,9 +188,9 @@
* // You get a loan of 5172.56 at a interest rate of 0.5% per
* // month (6% per year).
* // You can afford to pay 100 back every month, so you need
*
*
* ? periods (5172.56, 100, 0.005) --> 60.0
*
*
* // months to cancel the loan.
* $TESTS$
* periods (5172.56, 100, 0.005) == 60.0
@@ -227,18 +227,18 @@
* RATE() calculates the rate of interest per period for the given
* loan, payment per periods and number of periods. This is done with
* the same equation used in the PAYMENT() or PERIODS() function:
*
*
* <nPayment> = <nLoan>*(<nInterest>/100)/(1-(1+<nInterest>/100)^(-<nPeriods>))
*
*
* However, this equation can not be solved for <nInterest> in a "closed"
* manner, i.e. <nInterest> = ..., so that the result can only be estimated.
* $EXAMPLES$
* // You get a loan of 5172.56, pay 100 back every month for
* // 5 years (60 months). The effective interest rate per
* // period (=month) is
*
*
* ? rate (5172.56, 100, 60) --> 0.005
*
*
* $TESTS$
* rate (5172.56, 100, 60.0) == 0.005
* rate (6000.0, 100, 60.0) == 0.0

View File

@@ -8,32 +8,32 @@
* $CATEGORY$
* CT3 number and bit manipulation functions
* $ONELINER$
*
*
* $SYNTAX$
* FTOC( <nFloatingPointNumber> ) --> cFloatingPointNumber
*
*
* $ARGUMENTS$
* <nFloatingPointNumber> Designate any Harbour number.
*
*
* $RETURNS$
* FTOC() return a string with the size of DOUBLE.
* ATTENTION: different implementations or platforms of Harbour, they
* could produce different format in the string returned by FTOC().
*
*
* $DESCRIPTION$
* Harbour internal numbers in Floating Point are stored in data type
* DOUBLE. FTOC() returns these bits as an string. In this way,
* numbers con be saved more compactly.
*
*
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
@@ -49,33 +49,33 @@
* $CATEGORY$
* CT3 number and bit manipulation functions
* $ONELINER$
*
*
* $SYNTAX$
* CTOF( <cFloatingPointNumber> ) --> nFloatingPointNumber
*
*
* $ARGUMENTS$
* <cFloatingPointNumber> Designate a string that contains a Harbour
* number in flotaing point format.
* ATTENTION: different implementations or platforms of Harbour, they
* could produce different format in the string returned by FTOC().
*
*
* $RETURNS$
* CTOF() return the floating point number that corresponds to the
* string passed.
*
*
* $DESCRIPTION$
* Character strings created with FTOC() or XTOC() are convert into
* Harbour floating point number
*
*
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* JUSTLEFT (<[@]cString>, [<cChar>|<nChar>]) -> cJustifiedString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* JUSTRIGHT (<[@]cString>, [<cChar>|<nChar>]) -> cJustifiedString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -8,29 +8,29 @@
* $CATEGORY$
* CT3 switch and state functions
* $ONELINER$
*
*
* $SYNTAX$
* KSETINS ([<lNewSwitch>]) -> lOldSwitch
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* DOS
* $FILES$
* Source is keyset.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -40,29 +40,29 @@
* $CATEGORY$
* CT3 switch and state functions
* $ONELINER$
*
*
* $SYNTAX$
* KSETCAPS ([<lNewSwitch>]) -> lOldSwitch
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* DOS
* $FILES$
* Source is keyset.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -72,29 +72,29 @@
* $CATEGORY$
* CT3 switch and state functions
* $ONELINER$
*
*
* $SYNTAX$
* KSETNUM ([<lNewSwitch>]) -> lOldSwitch
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* DOS
* $FILES$
* Source is keyset.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -104,28 +104,28 @@
* $CATEGORY$
* CT3 switch and state functions
* $ONELINER$
*
*
* $SYNTAX$
* KSETSCROLL ([<lNewSwitch>]) -> lOldSwitch
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* DOS
* $FILES$
* Source is keyset.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -8,21 +8,21 @@
* $CATEGORY$
* CT3 miscellaneous functions
* $ONELINER$
*
*
* $SYNTAX$
* XTOC( <expValue> ) --> cValue
*
*
* $ARGUMENTS$
* <expValue> Designate an expression of some of the following data
* type: NUMBER, CHARACTER, DATE, LOGICAL.
*
*
* $RETURNS$
* XTOC() return a string with the representation of data type of
* expValue.
*
*
* $DESCRIPTION$
* Each data type always returns a string with a particular fixed length:
*
*
* -----------------------------------------------------------
* Data Type Result Length Similar function
* -----------------------------------------------------------
@@ -31,16 +31,16 @@
* Date 8 DTOS()
* String Unchanged
* -----------------------------------------------------------
*
*
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$

View File

@@ -98,9 +98,9 @@
* INFINITY() returns the largest floating point number available
* in the system. For platform independance, this is set to DBL_MAX.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -110,6 +110,6 @@
* $FILES$
* Source is num1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* NUMAT (<cStringToMatch>, <cString>, [<nIgnore>]) --> nCount
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -8,23 +8,23 @@
* $CATEGORY$
* CT3 number and bit manipulation functions
* $ONELINER$
*
*
* $SYNTAX$
* NTOC (<xNumber>[, <nBase>][,<nLength>][,<cPadChar>]) -> <cNumber>
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
@@ -40,23 +40,23 @@
* $CATEGORY$
* CT3 number and bit manipulation functions
* $ONELINER$
*
*
* $SYNTAX$
* CTON (<xNumber>[, <nBase>][,<lMode>]) -> <nNumber>
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
@@ -72,23 +72,23 @@
* $CATEGORY$
* CT3 number and bit manipulation functions
* $ONELINER$
*
*
* $SYNTAX$
* BITTOC (<nInteger>, <cBitPattern>[,<lMode>]) -> <cBitString>
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
@@ -104,23 +104,23 @@
* $CATEGORY$
* CT3 number and bit manipulation functions
* $ONELINER$
*
*
* $SYNTAX$
* CTOBIT (<cBitString>, <cBitPattern>) -> <nWord>
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* POSALPHA (<cString>, [<lMode>], [<nIgnore>]) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* POSLOWER (<cString>, [<lMode>], [<nIgnore>]) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -77,15 +77,15 @@
* POSRANGE (<cChar1>, <cChar2>, <cString>, [<lMode>],
* [<nIgnore>]) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -109,15 +109,15 @@
* $SYNTAX$
* POSUPPER (<cString>, [<lMode>], [<nIgnore>]) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* POSCHAR (<[@]cString>, <cCharacter|nCharacter>, [<nPosition>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* POSDEL (<cString>, [<nStartPosition>], <nLength>) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -76,15 +76,15 @@
* $SYNTAX$
* POSINS (<cString>, <cInsert>, [<nPosition>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -108,15 +108,15 @@
* $SYNTAX$
* POSREPL (<[@]cString>, <cReplacement>, [<nStartPosition>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* POSDIFF (<cString1>, <cString2>, [<nIgnore>]) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* POSEQUAL (<cString1>, <cString2>, [<nCompare>], [<nIgnore>]) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -8,29 +8,29 @@
* $CATEGORY$
* CT3 printer functions
* $ONELINER$
*
*
* $SYNTAX$
* PRINTSTAT ([<nPrinter>]) -> nState
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* DOS
* $FILES$
* Source is print.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -40,28 +40,28 @@
* $CATEGORY$
* CT3 printer functions
* $ONELINER$
*
*
* $SYNTAX$
* PRINTREADY ([<nPrinter>]) -> lPrinterReady
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* DOS
* $FILES$
* Library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -12,9 +12,9 @@
* $SYNTAX$
* RANGEREM (<cChar1|nChar1>, <cChar2|nChar2>, <cString>) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
@@ -50,9 +50,9 @@
* RANGEREPL (<cChar1|nChar1>, <cChar2|nChar2>,
* <[@]cString>, <cReplacementChar|nReplacementChar>) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$

View File

@@ -13,15 +13,15 @@
* CHARRELA (<cStringToMatch1>, <cString1>,
* <cStringToMatch2>, <cString2>) -> nPosition
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -47,15 +47,15 @@
* <cStringToMatch2>, <[@]cString2>,
* <cReplacement>) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* REMALL (<cString>, [<cSearch|nSearch>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* REMLEFT (<cString>, [<cSearch|nSearch>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -76,15 +76,15 @@
* $SYNTAX$
* REMRIGHT (<cString>, [<cSearch|nSearch>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* REPLALL (<cString>, <cReplace|nReplace>, [<cSearch|nSearch>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -44,15 +44,15 @@
* $SYNTAX$
* REPLLEFT (<cString>, <cReplace|nReplace>, [<cSearch|nSearch>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -76,15 +76,15 @@
* $SYNTAX$
* REPLRIGHT (<cString>, <cReplace|nReplace>, [<cSearch|nSearch>]) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -8,39 +8,39 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* SCREENATTR ( [<nRow>],[<nColumn>] ) -> <nAttr>
* $ARGUMENTS$
* <nRow> Designates the line from which to determine the attribute.
* The default is the cursor line.
*
*
* <nColumn> Designates the column from which to determine the
* attribute. The default is the cursor column.
*
*
* $RETURNS$
* SCREENATTR() returns the attribute at the designated position.
*
*
* $DESCRIPTION$
* SCREENATTR() returns the current screen attribute at <nRow> and
* <nColumn>. You can query targeted attributes this way and save them
* to use later, or process them later with INVERTATTR().
*
*
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -50,29 +50,29 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* SCREENMIX (<cCharString>, <cAttributeString>, [<nRow>], [<nCol>]) -> <cEmptyString>
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -82,7 +82,7 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* SAYSCREEN( <cString>, [<nRow>], [<nCol>] ) -> <cEmptyString>
* $ARGUMENTS$
@@ -95,13 +95,13 @@
* Outputs a string at specified coordinates without changing character
* attributes.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
@@ -117,19 +117,19 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
*
*
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -139,7 +139,7 @@
* $FILES$
* Source is color.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -149,7 +149,7 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* UNTEXTWIN(<nTopLine>, <nLeftColumn>, <nBottomLine>, <nRightColumn>,
* <cReplacementCharacter|nReplacementCharacter>,
@@ -180,19 +180,19 @@
* Replaces an area of characters from a region of the screen
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -202,7 +202,7 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* CHARWIN (<nTop>, <nLeft>, <nBottom>, <nRight>, [<cNewChar|nNewChar>],
* [<cOldChar|nOldChar>]) --> <cEmptyString>
@@ -223,19 +223,19 @@
* Exchanges particular characters in a screen area.
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -245,7 +245,7 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* COLORWIN([<nTopLine>], [<nLeftCol>], [<nBottomLine>], [<nRightCol>],
* [<cNewAttr|nNewAttr>], [<cOldAttr|nOldAttr>]) --> cNull
@@ -268,19 +268,19 @@
* Exchanges particular attributes in a screen area
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -290,7 +290,7 @@
* $CATEGORY$
* CT video functions (Harbour extension)
* $ONELINER$
*
*
* $SYNTAX$
* SCREENTEXT(<nTop>, <nLeft>, <nBottom>, <nRight>)
* $ARGUMENTS$
@@ -304,19 +304,19 @@
* Returns string with characters taken from given screen region.
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -326,7 +326,7 @@
* $CATEGORY$
* CT3 video functions
* $ONELINER$
*
*
* $SYNTAX$
* COLORREPL([<cNewAttr|nNewAttr>], [<cOldAttr|nOldAttr>]) --> cNull
* $ARGUMENTS$
@@ -340,18 +340,18 @@
* Exchanges particular screen attributes
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
*
*
* $PLATFORMS$
* All
* $FILES$
* Source is screen1.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -25,24 +25,24 @@
* This distance is a measure for the number of single character replace/insert/delete operations (so called
* "point mutations") required to transform <cString1> into <cString2> and its value will be the smallest sum of
* the penalty points of the required operations.
*
*
* Be aware that this function is both quite time - O(len(cString1)*len(cString2)) - and memory consuming -
* O((len(cString1)+1)*(len(cString2)+1)*sizeof(int)) - so keep the strings as short as possible.
* E.g., on common 32 bit systems (sizeof(int) == 4), calling strdiff() with two strings of 1024 bytes
* in length will consume 4 MB of memory. To not impose unneeded restrictions, the function will only check if
* (len(cString1)+1)*(len(cString2)+1)*sizeof(int) <= UINT_MAX, although allocing UINT_MAX bytes will not
* work on most systems. If this simple check fails, -1 is returned.
*
*
* Also, be aware that there can be an overflow when the penalty points are summed up: Assuming that the
* number of transformation operations is in the order of max(len(cString1),len(cString2)), the penalty point
* sum, that is internally stored in an "int" variable, is in the order of
* (max(len(cString1),len(cString2))*max(nReplacementPenalty,nDeletionPenalty,nInsertionPentaly).
* The STRDIFF() does not do an overflow check due to time performance reasons. Future versions of STRDIFF()
* could use a type different to "int" to store the penalty point sum to save memory or to avoid overflows.
*
*
* The function is aware of the settings done by SETATLIKE(), that means that the wildchar character
* is considered equal to ALL characters.
*
*
* $EXAMPLES$
* ? strdiff("ABC", "ADC") // 3, one character replaced
* ? strdiff("ABC", "AEC") // 3, dito

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* STRSWAP (<[@]cString1>, <[@]cString2>) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -30,6 +30,6 @@
* $FILES$
* Source is strswap.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -142,13 +142,13 @@
* $SYNTAX$
* NUMTOKEN (<cString>, [<cTokenizer>], [<nSkipWidth>]) -> nTokenCount
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
*
*
* $EXAMPLES$
*
*
* $TESTS$
* numtoken ("Hello, World!") == 2
* numtoken ("This is good. See you! How do you do?",".!?") == 3
@@ -315,7 +315,7 @@
* $EXAMPLES$
* see TOKEN() function
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$

View File

@@ -35,24 +35,24 @@
* This information is created in the process of tokenization of the
* string <cString> - equal to the one used in the TOKEN() function
* with the help of the <cTokenizer> and <nSkipWidth> parameters.
*
*
* This token environment can be very useful when large strings have
* to be tokenized since the tokenization has to take place only once
* whereas the TOKEN() function must always start the tokenizing process
* from scratch.
*
*
* Unlike CTIII, this function provides two mechanisms of storing the
* resulting token environment. If a variable is passed by reference
* as 4th parameter, the token environment is stored in this variable,
* otherwise the global token environment is used. Do not modify the
* token environment string directly !
*
*
* Additionally, a counter is stored in the token environment, so that
* the tokens can successivly be obtained. This counter is first set to 1.
* When the TOKENINIT() function is called without a string a tokenize,
* the counter of either the global environment or the environment given
* by reference in the 4th parameter is rewind to 1.
*
*
* Additionally, unlike CTIII, tokeninit() does not need the string
* <cString> to be passed by reference, since one must provide the
* string in calls to TOKENNEXT() again.
@@ -71,7 +71,7 @@
* // not given by reference !!!
* tokeninit (,,,@cTE1) // set counter in TE stored in cTE1 to 1
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -108,13 +108,13 @@
* in either the global token environment or the local one supplied by
* <cTokenEnvironment>. Note that, is supplied, this 3rd parameter has
* always to be passed by reference.
*
*
* If the 2nd parameter, <nToken> is given, TOKENNEXT() simply returns
* the <nToken>th token without manipulating the TE counter. Otherwise
* the token pointed to by the TE counter is returned and the counter
* is incremented by one. Like this, a simple loop with TOKENEND() can
* be used to retrieve all tokens of a string successivly.
*
*
* Note that <cString> does not have to be the same used in TOKENINIT(),
* so that one can do a "correlational tokenization", i.e. tokenize a string
* as if it was another! E.G. using TOKENINIT() with the string
@@ -129,7 +129,7 @@
* ? tokennext (cString, 3) // get the 3rd token, counter will remain the same
* tokenexit() // free the memory used for the global TE
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -168,7 +168,7 @@
* tokeninit ("a.b.c.d", ".", 1) // initialize global TE
* ? tokennum() // --> 4
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -211,7 +211,7 @@
* ? tokennext ("a.b.c.d") // get all tokens successivly
* enddo
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -236,7 +236,7 @@
* $SYNTAX$
* TOKENEXIT () -> lStaticEnvironmentReleased
* $ARGUMENTS$
*
*
* $RETURNS$
* <lStaticEnvironmentReleased> .T., if global token environment is successfully released
* $DESCRIPTION$
@@ -252,7 +252,7 @@
* ? tokennext (cString, 3) // get the 3rd token, counter will remain the same
* tokenexit() // free the memory used for the global TE
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -289,17 +289,17 @@
* The TOKENAT() function is used to retrieve the start and end position
* of the tokens in a token environment. Note however that the position of
* last character of a token is given by tokenat (.T.)-1 !!
*
*
* If the 2nd parameter, <nToken> is given, TOKENAT() returns the
* positions of the <nToken>th token. Otherwise
* the token pointed to by the TE counter, i.e. the token that will
* be retrieved by TOKENNEXT() _NEXT_ is used.
*
*
* If the parameter <@cTokenEnvironment> is supplied (must be by
* reference), the information from this token environment is used,
* otherwise the global TE is used.
* $EXAMPLES$
*
*
* $TESTS$
* tokeninit (cString) // initialize a TE
* do while (!tokenend())
@@ -333,7 +333,7 @@
* $SYNTAX$
* SAVETOKEN () -> cStaticTokenEnvironment
* $ARGUMENTS$
*
*
* $RETURNS$
* <cStaticTokenEnvironment> a binary string encoding the global TE
* $DESCRIPTION$
@@ -342,9 +342,9 @@
* Note however that the latter can now be solved with locally stored
* token environments.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -377,9 +377,9 @@
* of SAVETOKEN() or the value stored in the 4th parameter in a
* TOKENINIT() call.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$

View File

@@ -12,7 +12,7 @@
* $SYNTAX$
* PI () -> nPi
* $ARGUMENTS$
*
*
* $RETURNS$
* <nPi> the math constant Pi with maximum precision available
* $DESCRIPTION$
@@ -22,10 +22,10 @@
* $EXAMPLES$
* // the diameter of a circle-like swimming pool is 3.4 meters, how
* // long is the perimeter ?
*
*
* ? str(PI()*3.4,5,3)+" meters" --> 10.681 meters
* $TESTS$
*
*
* $STATUS$
* Ready
* $COMPLIANCE$

View File

@@ -12,15 +12,15 @@
* $SYNTAX$
* CHARPIX() --> nHeight
* $ARGUMENTS$
*
*
* $RETURNS$
* Returns the number of scan lines per character.
* $DESCRIPTION$
* Returns the number of scan lines per character.
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -30,7 +30,7 @@
* $FILES$
* Source is video.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/
@@ -56,11 +56,11 @@
* $RETURNS$
* Returns .T. on success.
* $DESCRIPTION$
*
*
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -84,15 +84,15 @@
* $SYNTAX$
* VIDEOTYPE() --> nMask
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: Finish documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -124,13 +124,13 @@
* <nCounter> Number of characters to load.
* <lCompute> When .T., the function computes font height automatically.
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: Finish documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$
@@ -140,6 +140,6 @@
* $FILES$
* Source is video.c, library is libct.
* $SEEALSO$
*
*
* $END$
*/

View File

@@ -13,15 +13,15 @@
* WORDTOCHAR (<cDoubleCharacterSearchString>, <cString>,
* <cSingleCharacterReplaceString>) -> cString
* $ARGUMENTS$
*
*
* $RETURNS$
*
*
* $DESCRIPTION$
* TODO: add documentation
* $EXAMPLES$
*
*
* $TESTS$
*
*
* $STATUS$
* Started
* $COMPLIANCE$

View File

@@ -77,7 +77,7 @@ FUNCTION GETFLDROW( nField )
ELSEIF nField >= 1 .AND. nField <= LEN( GetList )
oGet := GetList[ nField ]
ENDIF
RETURN IIF( oGet != NIL, oGet:Row, -1 )
RETURN iif( oGet != NIL, oGet:Row, -1 )
FUNCTION GETFLDCOL( nField )
LOCAL oGet
@@ -86,7 +86,7 @@ FUNCTION GETFLDCOL( nField )
ELSEIF nField >= 1 .AND. nField <= LEN( GetList )
oGet := GetList[ nField ]
ENDIF
RETURN IIF( oGet != NIL, oGet:Col, -1 )
RETURN iif( oGet != NIL, oGet:Col, -1 )
FUNCTION GETFLDVAR( nField )
LOCAL oGet
@@ -95,4 +95,4 @@ FUNCTION GETFLDVAR( nField )
ELSEIF nField >= 1 .AND. nField <= LEN( GetList )
oGet := GetList[ nField ]
ENDIF
RETURN IIF( oGet != NIL, oGet:Name, -1 )
RETURN iif( oGet != NIL, oGet:Name, -1 )

View File

@@ -19,6 +19,7 @@ PROCEDURE Main()
LOCAL im, clone, rotated, rotatedEx, rescale, im2, im3
LOCAL centerX, centerY, width, height
// LOCAL bmpinfoheader
LOCAL bmpinfo
// LOCAL bkcolor
@@ -29,7 +30,7 @@ PROCEDURE Main()
//? "Press Alt-D + Enter to activate debug"
//AltD( .T. )
//Inkey(0)
altd()
AltD()
// Check output directory
IF !hb_DirExists( IMAGES_OUT )
#ifdef HB_COMPAT_C53
@@ -106,12 +107,12 @@ PROCEDURE Main()
fi_Unload( im2 )
im2 := fi_Clone( im )
? "Adjust Brightness:", fi_AdjustBrightness( im2, -30 )
? "Adjust Brightness:", fi_AdjustBrightness( im2, - 30 )
? "Save JPG ? :", fi_Save( FIF_JPEG, im2, IMAGES_OUT + "adjbrigh.jpg", JPEG_DEFAULT )
fi_Unload( im2 )
im2 := fi_Clone( im )
? "Adjust Contrast ?:", fi_AdjustContrast( im2, -30 )
? "Adjust Contrast ?:", fi_AdjustContrast( im2, - 30 )
? "Save JPG ? :", fi_Save( FIF_JPEG, im2, IMAGES_OUT + "adjcontr.jpg", JPEG_DEFAULT )
fi_Unload( im2 )
@@ -171,23 +172,23 @@ PROCEDURE Main()
//bkcolor:rgbBlue := 205
//? fi_SetBackgroundColor( im, hb_String2Pointer( bkcolor:Value() ) )
Tracelog("linha 168")
Tracelog( "linha 168" )
//? fi_SetBackgroundColor( im, bkcolor:Value() )
Tracelog("linha 170")
Tracelog( "linha 170" )
//? bkcolor:SayMembers(" ", .t., .t.)
Tracelog("linha 162")
Tracelog( "linha 162" )
//? bkcolor:Pointer( fi_GetBackgroundColor( im ) )
//? fi_GetBackgroundColor( im, @bkcolor:Value() )
//bkcolor:Buffer( appo )
Tracelog("linha 176")
Tracelog( "linha 176" )
//? bkcolor:SayMembers(" ", .t., .t.)
Tracelog("linha 179")
Tracelog( "linha 179" )
//iccprofile:Pointer( fi_GetICCProfile( im ) )
Tracelog("linha 181")
Tracelog( "linha 181" )
//? "Header :", ValToPrg( iccprofile )
Tracelog("linha 183")
//? iccprofile:SayMembers(" ", .t., .t.)
Tracelog( "linha 183" )
//? iccprofile:SayMembers(" ", .T., .T. )
//bmpinfoheader:Reset()
//appo := NIL
@@ -200,12 +201,12 @@ PROCEDURE Main()
//
IF (nH := FOpen(IMAGES_IN + "sample1.jpg")) != F_ERROR
nLen := FSeek(nH, 0, FS_END)
FSeek(nH, 0, FS_SET)
cStr := space(nLen)
fRead(nH, @cStr, nLen)
FClose(nH)
IF ( nH := FOpen( IMAGES_IN + "sample1.jpg" ) ) != F_ERROR
nLen := FSeek( nH, 0, FS_END )
FSeek( nH, 0, FS_SET )
cStr := Space( nLen )
FRead( nH, @cStr, nLen )
FClose( nH )
? "Load JPEG from memory"
im := fi_LoadFromMem( FIF_JPEG, cStr, JPEG_DEFAULT )
@@ -226,36 +227,41 @@ PROCEDURE Main()
RETURN
PROCEDURE fi_Error( cFormat, cMessage )
? "ERROR!..."
? "Format : ", cFormat
? "Message : ", cMessage
RETURN
PROCEDURE TraceLog( c )
HB_SYMBOL_UNUSED( c )
RETURN
FUNCTION ValToPrg( xValue )
LOCAL cType := ValType( xValue )
DO CASE
CASE cType == "C"
xValue := StrTran( xValue, Chr(0), '"+Chr(0)+"' )
xValue := StrTran( xValue, Chr(9), '"+Chr(9)+"' )
xValue := StrTran( xValue, Chr(10), '"+Chr(10)+"' )
xValue := StrTran( xValue, Chr(13), '"+Chr(13)+"' )
xValue := StrTran( xValue, Chr(26), '"+Chr(26)+"' )
xValue := StrTran( xValue, Chr( 0 ), '" + Chr( 0 ) + "' )
xValue := StrTran( xValue, Chr( 9 ), '" + Chr( 9 ) + "' )
xValue := StrTran( xValue, Chr( 10 ), '" + Chr( 10 ) + "' )
xValue := StrTran( xValue, Chr( 13 ), '" + Chr( 13 ) + "' )
xValue := StrTran( xValue, Chr( 26 ), '" + Chr( 26 ) + "' )
RETURN '"' + xValue + '"'
CASE cType == "N" ; RETURN LTrim( Str( xValue ) )
CASE cType == "N" ; RETURN hb_ntos( xValue )
CASE cType == "D" ; RETURN 'HB_SToD("' + DToS( xValue ) + '")'
CASE cType == "L" ; RETURN iif( xValue, ".T.", ".F." )
CASE cType == "O" ; RETURN xValue:className() + " Object"
CASE cType == "U" ; RETURN "NIL"
CASE cType == "B" ; RETURN '{||...}'
CASE cType == "A" ; RETURN '{.[' + LTrim( Str( Len( xValue ) ) ) + '].}'
CASE cType == "A" ; RETURN '{.[' + hb_ntos( Len( xValue ) ) + '].}'
CASE cType == "M" ; RETURN 'M:"' + xValue + '"'
ENDCASE

View File

@@ -84,25 +84,25 @@ CREATE CLASS GDImage
METHOD CreateTrueColor( sx, sy ) INLINE ::pImage := gdImageCreateTrueColor( sx, sy ), Self
// Load From File
METHOD LoadFromPng( cFile ) INLINE ::pImage := gdImageCreateFromPng( cFile ) , IIF( ::pImage != NIL, Self, NIL )
METHOD LoadFromJpeg( cFile ) INLINE ::pImage := gdImageCreateFromJpeg( cFile ) , IIF( ::pImage != NIL, Self, NIL )
METHOD LoadFromWBmp( cFile ) INLINE ::pImage := gdImageCreateFromWBMP( cFile ) , IIF( ::pImage != NIL, Self, NIL )
METHOD LoadFromGd( cFile ) INLINE ::pImage := gdImageCreateFromGD( cFile ) , IIF( ::pImage != NIL, Self, NIL )
METHOD LoadFromGif( cFile ) INLINE ::pImage := gdImageCreateFromGif( cFile ) , IIF( ::pImage != NIL, Self, NIL )
METHOD LoadFromPng( cFile ) INLINE ::pImage := gdImageCreateFromPng( cFile ) , iif( ::pImage != NIL, Self, NIL )
METHOD LoadFromJpeg( cFile ) INLINE ::pImage := gdImageCreateFromJpeg( cFile ) , iif( ::pImage != NIL, Self, NIL )
METHOD LoadFromWBmp( cFile ) INLINE ::pImage := gdImageCreateFromWBMP( cFile ) , iif( ::pImage != NIL, Self, NIL )
METHOD LoadFromGd( cFile ) INLINE ::pImage := gdImageCreateFromGD( cFile ) , iif( ::pImage != NIL, Self, NIL )
METHOD LoadFromGif( cFile ) INLINE ::pImage := gdImageCreateFromGif( cFile ) , iif( ::pImage != NIL, Self, NIL )
// Load From a specific File handle
METHOD InputPng( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromPng( nHandle, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD InputJpeg( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromJpeg( nHandle, nSize ), IIF( ::pImage != NIL, Self, NIL )
METHOD InputWBmp( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromWBMP( nHandle, nSize ), IIF( ::pImage != NIL, Self, NIL )
METHOD InputGd( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromGD( nHandle, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD InputGif( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromGif( nHandle, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD InputPng( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromPng( nHandle, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD InputJpeg( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromJpeg( nHandle, nSize ), iif( ::pImage != NIL, Self, NIL )
METHOD InputWBmp( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromWBMP( nHandle, nSize ), iif( ::pImage != NIL, Self, NIL )
METHOD InputGd( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromGD( nHandle, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD InputGif( nHandle, nSize ) INLINE ::pImage := gdImageCreateFromGif( nHandle, nSize ) , iif( ::pImage != NIL, Self, NIL )
// Create from an image pointer in memory
METHOD CreateFromPng( pImage, nSize ) INLINE ::pImage := gdImageCreateFromPng( pImage, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD CreateFromJpeg( pImage, nSize ) INLINE ::pImage := gdImageCreateFromJpeg( pImage, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD CreateFromWBmp( pImage, nSize ) INLINE ::pImage := gdImageCreateFromWBMP( pImage, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD CreateFromGd( pImage, nSize ) INLINE ::pImage := gdImageCreateFromGD( pImage, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD CreateFromGif( pImage, nSize ) INLINE ::pImage := gdImageCreateFromGif( pImage, nSize ) , IIF( ::pImage != NIL, Self, NIL )
METHOD CreateFromPng( pImage, nSize ) INLINE ::pImage := gdImageCreateFromPng( pImage, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD CreateFromJpeg( pImage, nSize ) INLINE ::pImage := gdImageCreateFromJpeg( pImage, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD CreateFromWBmp( pImage, nSize ) INLINE ::pImage := gdImageCreateFromWBMP( pImage, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD CreateFromGd( pImage, nSize ) INLINE ::pImage := gdImageCreateFromGD( pImage, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD CreateFromGif( pImage, nSize ) INLINE ::pImage := gdImageCreateFromGif( pImage, nSize ) , iif( ::pImage != NIL, Self, NIL )
METHOD LoadFromFile( cFile )
@@ -116,11 +116,11 @@ CREATE CLASS GDImage
METHOD SaveToFile( cFile ) INLINE gdImageToFile( Self, cFile )
// Output To a specified File handle
METHOD OutputPng( nHandle, nLevel ) INLINE IIF( nHandle == NIL, nHandle := 1, ), gdImagePng( ::pImage, nHandle, nLevel )
METHOD OutputJpeg( nHandle, nLevel ) INLINE IIF( nHandle == NIL, nHandle := 1, ), gdImageJpeg( ::pImage, nHandle, nLevel )
METHOD OutputWBmp( nHandle, nFG ) INLINE IIF( nHandle == NIL, nHandle := 1, ), gdImageWBmp( ::pImage, nHandle, nFG )
METHOD OutputGd( nHandle ) INLINE IIF( nHandle == NIL, nHandle := 1, ), gdImageGd( ::pImage, nHandle )
METHOD OutputGif( nHandle ) INLINE IIF( nHandle == NIL, nHandle := 1, ), gdImageGif( ::pImage, nHandle )
METHOD OutputPng( nHandle, nLevel ) INLINE iif( nHandle == NIL, nHandle := 1, ), gdImagePng( ::pImage, nHandle, nLevel )
METHOD OutputJpeg( nHandle, nLevel ) INLINE iif( nHandle == NIL, nHandle := 1, ), gdImageJpeg( ::pImage, nHandle, nLevel )
METHOD OutputWBmp( nHandle, nFG ) INLINE iif( nHandle == NIL, nHandle := 1, ), gdImageWBmp( ::pImage, nHandle, nFG )
METHOD OutputGd( nHandle ) INLINE iif( nHandle == NIL, nHandle := 1, ), gdImageGd( ::pImage, nHandle )
METHOD OutputGif( nHandle ) INLINE iif( nHandle == NIL, nHandle := 1, ), gdImageGif( ::pImage, nHandle )
METHOD Output( nHandle ) INLINE gdImageToHandle( ::pImage, nHandle )
@@ -243,7 +243,7 @@ CREATE CLASS GDImage
gdImageFTSize( cString, cFontName, nPitch )
/* COLOR HANDLING FUNCTIONS */
METHOD SetColor( r, g, b ) INLINE IIF( PCount() == 2, ::pColor := r, ::pColor := gdImageColorAllocate( ::pImage, r, g, b ) )
METHOD SetColor( r, g, b ) INLINE iif( PCount() == 2, ::pColor := r, ::pColor := gdImageColorAllocate( ::pImage, r, g, b ) )
METHOD DelColor( pColor ) INLINE ::pColor := NIL, gdImageColorDeAllocate( ::pImage, pColor )
METHOD SetColorAlpha( r, g, b, a ) INLINE ::pColor := gdImageColorAllocateAlpha( ::pImage, r, g, b, a)
METHOD SetColorClosest( r, g, b ) INLINE ::pColor := gdImageColorClosest( ::pImage, r, g, b )

View File

@@ -50,13 +50,13 @@ PROCEDURE Main( cValue, cBaseImage )
? "Value = ", cValue
// To set fonts run this command:
// for windows: SET GDFONTPATH=C:\windows\fonts
// for windows: SET GDFONTPATH=%WINDIR%\fonts
// per linux : export GDFONTPATH=/usr/share/fonts/default/TrueType
// SET GDFONTPATH=C:\windows\fonts
// SET GDFONTPATH=%WINDIR%\fonts
//IF GetEnv( "GDFONTPATH" ) == ""
// ? "Please set GDFONTPATH"
// ? "On Windows: SET GDFONTPATH=C:\windows\fonts"
// ? "On Windows: SET GDFONTPATH=%WINDIR%\fonts"
// ? "On Linux : export GDFONTPATH=/usr/share/fonts/default/TrueType"
// ?
//ENDIF

View File

@@ -22,10 +22,10 @@ PROCEDURE Main()
// LOCAL aClip
// SET GDFONTPATH=C:\windows\fonts
// SET GDFONTPATH=%WINDIR%\fonts
IF GetEnv( "GDFONTPATH" ) == ""
? "Please set GDFONTPATH"
? "On Windows: SET GDFONTPATH=C:\windows\fonts"
? "On Windows: SET GDFONTPATH=%WINDIR%\fonts"
? "On Linux : export GDFONTPATH=/usr/share/fonts/default/TrueType"
?
ENDIF

View File

@@ -24,10 +24,10 @@ PROCEDURE Main()
// LOCAL aClip
// SET GDFONTPATH=C:\windows\fonts
// SET GDFONTPATH=%WINDIR%\fonts
IF GetEnv( "GDFONTPATH" ) == ""
? "Please set GDFONTPATH"
? "On Windows: SET GDFONTPATH=C:\windows\fonts"
? "On Windows: SET GDFONTPATH=%WINDIR%\fonts"
? "On Linux : export GDFONTPATH=/usr/share/fonts/default/TrueType"
?
ENDIF
@@ -100,7 +100,7 @@ PROCEDURE Main()
/* Draw an arc */
oI:Arc( 50, 50, 40, 40, 30, 190, , red )
oI:Circle( 50, 150, 45, .T. , green )
oI:Circle( 50, 150, 45, .T., green )
oI:Ellipse( 120, 120, 50, 20, , green )
/* Draw a character. */

View File

@@ -10,7 +10,7 @@
#include "gd.ch"
#command WRITE <c> => FWrite( 1, <c> + CHR(13)+CHR(10) )
#command WRITE <c> => FWrite( 1, <c> + CHR( 13 ) + CHR( 10 ) )
#command OutHTML <c> => WRITE <c>
PROCEDURE Main( ... )
@@ -25,7 +25,7 @@ PROCEDURE Main( ... )
// LOCAL cText
IF Empty( aParams )
IF !Empty( cQuery )
IF ! Empty( cQuery )
hParams := GetVars( cQuery )
ENDIF
ELSE
@@ -35,7 +35,7 @@ PROCEDURE Main( ... )
//-----------------------------------------------------------------------------------------
// Gestione parametri
IF !Empty( hParams )
IF ! Empty( hParams )
FOR EACH cPar IN hParams:Keys
DO CASE
@@ -76,15 +76,15 @@ PROCEDURE Main( ... )
//OutHTML ValToPrg( hParams ) + "<br>"
//OutHTML ValToPrg( cParams ) + "<br>"
//OutHTML ValToPrg( cQuery ) + "<br>"
//OutHTML "<img src='test_out.exe?img=" + cPhoto + "&width=" + AllTrim( Str( nWidth ) ) + "&height=" + AllTrim( Str( nHeight ) ) + "'>" + "<br>"
//OutHTML "<img src='test_out.exe?img=" + cPhoto + "&width=" + hb_ntos( nWidth ) + "&height=" + hb_ntos( nHeight ) + "'>" + "<br>"
OutHTML "<table border=1>"
OutHTML "<tr><td align='center'>"
OutHTML "<img src='test_out.exe?img=" + cPhoto + "'>" + "<br>"
OutHTML "</td></tr>"
OutHTML "<tr><td align='center'>"
OutHTML "<img src='test_out.exe?img=" + cPhoto + ;
iif( nWidth != NIL , "&width=" + AllTrim( Str( nWidth ) ) , "" ) + ;
iif( nHeight != NIL, "&height=" + AllTrim( Str( nHeight ) ), "" ) + ;
iif( nWidth != NIL , "&width=" + hb_ntos( nWidth ) , "" ) + ;
iif( nHeight != NIL, "&height=" + hb_ntos( nHeight ), "" ) + ;
"'>" + "<br>"
OutHTML "</td></tr>"
OutHTML "<tr><td align='center'>"
@@ -92,7 +92,7 @@ PROCEDURE Main( ... )
OutHTML "</td></tr>"
OutHTML "</table>"
OutHTML "<br>"
//OutHTML "<img src='test_out.exe?img=" + cText + "_2&pt=" + AllTrim( Str( nPt ) ) + "'>" + "<br>"
//OutHTML "<img src='test_out.exe?img=" + cText + "_2&pt=" + hb_ntos( nPt ) + "'>" + "<br>"
//OutHTML OS() + "<br>"
//OutHTML iif( OS_ISWINNT(), "WIN NT", "NON WIN NT" ) + "<br>"
EndHTML()
@@ -125,7 +125,7 @@ PROCEDURE EndHTML()
RETURN
// per windows: SET GDFONTPATH=C:\windows\fonts
// per windows: SET GDFONTPATH=%WINDIR%\fonts
// per linux : export GDFONTPATH=/usr/share/fonts/default/TrueType
PROCEDURE OutPhoto( cPhoto, nWidth, nHeight )

View File

@@ -285,7 +285,7 @@ FUNCTION Summarize( aText, cComments, aSumData, nFileType )
ccLine := ""
c := ""
AEval( a, {|x| c += x, nNest := Max( 0, nNest + IIf( x == "{", 1, IIf( x == "}", -1, 0 ) ) ) } )
AEval( a, {|x| c += x, nNest := Max( 0, nNest + iif( x == "{", 1, iif( x == "}", -1, 0 ) ) ) } )
ccLine := AllTrim( c )
ELSE
IF ! Empty( cLine )
@@ -295,7 +295,7 @@ FUNCTION Summarize( aText, cComments, aSumData, nFileType )
ccLine := ""
nLine := i+1
ELSE
AEval( a, {|x| IIf( x == ";", ( nLine := i+1, ccLine :="", c := "" ), c += x ), nNest := Max( 0, nNest + IIf( x == "{", 1, IIf( x == "}", -1, 0 ) ) ) } )
AEval( a, {|x| iif( x == ";", ( nLine := i+1, ccLine :="", c := "" ), c += x ), nNest := Max( 0, nNest + iif( x == "{", 1, iif( x == "}", -1, 0 ) ) ) } )
ENDIF
IF !lInComment .AND. ! Empty(c)
ccLine += AllTrim( c ) + " "
@@ -315,7 +315,7 @@ FUNCTION Summarize( aText, cComments, aSumData, nFileType )
ELSE
a := ParsExpr( aText[ i ], .F. , @lInComment, , .F., .F.)
AEval( a,{|x| nNest := Max( 0, nNest + IIf( x == "{", 1, IIf( x == "}", -1, 0 ) ) ) } )
AEval( a,{|x| nNest := Max( 0, nNest + iif( x == "{", 1, iif( x == "}", -1, 0 ) ) ) } )
ccLine := ""
nLine := i+1
ENDIF

View File

@@ -46,8 +46,8 @@ STATIC PROCEDURE MakeTest( ... )
cFmt := hb_strFormat( ;
"%s: %d -> %d, Ratio %.2f%%, Times %.2f", ;
e:__enumKey(), ;
Len( IIf( lCmp, hb_pValue( 3 ), e2 ) ), Len( cRes ), ;
( Len( cRes ) / Len( IIf( lCmp, hb_pValue( 3 ), e2 ) ) ) * 100, ;
Len( iif( lCmp, hb_pValue( 3 ), e2 ) ), Len( cRes ), ;
( Len( cRes ) / Len( iif( lCmp, hb_pValue( 3 ), e2 ) ) ) * 100, ;
nEnd - nBegin;
)
? cFmt

View File

@@ -23,11 +23,11 @@
* $SYNTAX$
* ISBIN(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* <cNr> .T. IF THE STRING IS BYNARY,otherwise .F.
* <cNr> .T. IF THE STRING IS BYNARY,otherwise .F.
* $DESCRIPTION$
* check if the passed string is a bynary number or not
* check if the passed string is a bynary number or not
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -45,11 +45,11 @@
* $SYNTAX$
* ISOCTAL(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* <cNr> .T. IF THE STRING IS OCTAL;otherwise .F.
* <cNr> .T. IF THE STRING IS OCTAL;otherwise .F.
* $DESCRIPTION$
* check if the passed string is a octal number or not
* check if the passed string is a octal number or not
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -67,11 +67,11 @@
* $SYNTAX$
* ISDEC(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* <cNr> .T. IF THE STRING IS DECIMAL;otherwise .F.
* <cNr> .T. IF THE STRING IS DECIMAL;otherwise .F.
* $DESCRIPTION$
* check if the passed string is a decimal number or not
* check if the passed string is a decimal number or not
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -89,11 +89,11 @@
* $SYNTAX$
* ISHEXA(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* <cNr> .T. IF THE STRING IS HEXA;otherwise .F.
* <cNr> .T. IF THE STRING IS HEXA;otherwise .F.
* $DESCRIPTION$
* check if the passed string is a hexa number or not
* check if the passed string is a hexa number or not
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -111,12 +111,12 @@
* $SYNTAX$
* DECTOBIN(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <cNr> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <cN> from an decimal value
* to an binary value.
* to an binary value.
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -134,12 +134,12 @@
* $SYNTAX$
* DECTOOCTAL(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <cNr> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <cN> from an decimal value
* to an octal value.
* to an octal value.
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -157,12 +157,12 @@
* $SYNTAX$
* DECTOHEXA(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <cNr> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <cN> from an decimal value
* to an hexadecimal value.
* to an hexadecimal value.
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -180,12 +180,12 @@
* $SYNTAX$
* BIntODEC(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <cNr> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <cN> from an binary value
* to a numeric decimal value.
* to a numeric decimal value.
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -203,12 +203,12 @@
* $SYNTAX$
* OCTALTODEC(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <cNr> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <cN> from an octal value
* to a numeric decimal value.
* to a numeric decimal value.
* $FILES$
* Library is libmisc
* $SEEALSO$
@@ -226,12 +226,12 @@
* $SYNTAX$
* HEXATODEC(<cN>) -><cNr>
* $ARGUMENTS$
* <cN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <cNr> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <cN> from an hexadecimal value
* to a numeric decimal value.
* to a numeric decimal value.
* $FILES$
* Library is libmisc
* $SEEALSO$

View File

@@ -123,8 +123,8 @@ STATIC FUNCTION FCM_OPEN( nWA, aOpenInfo )
aOpenInfo[ UR_OI_ALIAS ] := cName
ENDIF
nMode := IIF( aOpenInfo[ UR_OI_SHARED ], FO_SHARED , FO_EXCLUSIVE ) + ;
IIF( aOpenInfo[ UR_OI_READONLY ], FO_READ, FO_READWRITE )
nMode := iif( aOpenInfo[ UR_OI_SHARED ], FO_SHARED , FO_EXCLUSIVE ) + ;
iif( aOpenInfo[ UR_OI_READONLY ], FO_READ, FO_READWRITE )
aRData := USRRDD_RDDDATA( USRRDD_ID( nWA ) )
aWData := USRRDD_AREADATA( nWA )

View File

@@ -235,7 +235,7 @@ METHOD ErrorMsg( cText ) CLASS TFileRead
ELSE
nTemp := ::nLastOp + 1
ENDIF
cMessage := iif( EMPTY( cText ), "", cText ) + "Error " + ALLTRIM( STR( ::nError ) ) + " " + s_cAction[ nTemp ] + " " + ::cFile
cMessage := iif( EMPTY( cText ), "", cText ) + "Error " + hb_ntos( ::nError ) + " " + s_cAction[ nTemp ] + " " + ::cFile
ENDIF
RETURN cMessage

View File

@@ -8,7 +8,7 @@
#include "box.ch"
#define IIFNIL( isnil, notnil ) IIF(notnil==NIL, isnil, notnil)
#define IIFNIL( isnil, notnil ) iif(notnil==NIL, isnil, notnil)
#define EDIT_LOWER 0 // convert to lowercase
#define EDIT_UPPER 1 // convert to uppercase
@@ -265,13 +265,13 @@ FUNCTION EditorFile( xInput, cOutput, nLineLen, ;
nLen := s_nESize
ENDIF
nSize := IIF( nLen < 8192, nLen*2, INT(nLen*1.5) )
nSize := iif( nLen < 8192, nLen*2, INT(nLen*1.5) )
oEdit := EditorNew( 01,00,23,79, nLineLen, "--- ", cOutput, , ;
nSize, nEscape )
IF nHandle > 0
ED_ReadText( oEdit[E_EDIT], nHandle, 0, nLen, ;
IIF( lConv==NIL, .F., lConv ) )
iif( lConv==NIL, .F., lConv ) )
IF lClose
FCLOSE( nHandle )
ENDIF
@@ -301,7 +301,7 @@ FUNCTION EditorFile( xInput, cOutput, nLineLen, ;
FUNCTION EditorRead( oEditor, nHandle, nOffset, nLen, lConv )
RETURN ED_ReadText( oEditor[E_EDIT], nHandle, nOffset, nLen, ;
IIF( lConv==NIL, .T., lConv ) )
iif( lConv==NIL, .T., lConv ) )
//---------------------------------------------------------
//03-06-93 08:31pm
@@ -324,7 +324,7 @@ FUNCTION EditorEdit( oEdit, lEdit, lFrame )
oEdit[E_INSERT] := SET( _SET_INSERT )
// SayInsert()
nCursor := SetCursor( IIF(oEdit[E_INSERT], SC_NORMAL, SC_SPECIAL1) )
nCursor := SetCursor( iif(oEdit[E_INSERT], SC_NORMAL, SC_SPECIAL1) )
IF HB_ISLOGICAL( lEdit )
oEdit[E_MODE] := lEdit
ENDIF
@@ -450,7 +450,7 @@ STATIC PROCEDURE EditorKeys( oEdit, nKey )
CASE nKey == K_INS
oEdit[E_INSERT] := !oEdit[E_INSERT]
SET( _SET_INSERT, oEdit[E_INSERT] )
SetCursor( IIF(oEdit[E_INSERT], SC_NORMAL, SC_SPECIAL1) )
SetCursor( iif(oEdit[E_INSERT], SC_NORMAL, SC_SPECIAL1) )
// SayInsert()
ENDCASE

View File

@@ -44,7 +44,7 @@ FUNCTION FT_ANOMATCHES(aArray, bCompareBlock, nStartIndex, nEndIndex)
AEVAL(aArray, ;
{ | xElement | ;
IIF(EVAL(bCompareBlock, xElement), nNoOfMatches++, NIL) }, ;
iif(EVAL(bCompareBlock, xElement), nNoOfMatches++, NIL) }, ;
nStartIndex, nEndIndex - nStartIndex + 1)
RETURN nNoOfMatches // FT_ANoMatches

View File

@@ -52,14 +52,14 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp)
LOCAL aRetVal[8]
LOCAL nHelpRow, cSaveHelp, lHelpIsDisplayed :=.F.
nRow := IIF ( nRow != NIL, nRow, 1 ) //check display row
nCol := IIF ( nCol != NIL, nCol, 63) //check display col
cColor := IIF ( cColor != NIL, cColor, 'W+/G' ) //check display color
lShadow := IIF ( lShadow == NIL , .F., lShadow ) //check shadow switch
lShowHelp := IIF ( lShowHelp == NIL , .F., lShowHelp )//check help switch
nRow := iif( nRow != NIL, nRow, 1 ) //check display row
nCol := iif( nCol != NIL, nCol, 63) //check display col
cColor := iif( cColor != NIL, cColor, 'W+/G' ) //check display color
lShadow := iif( lShadow == NIL , .F., lShadow ) //check shadow switch
lShowHelp := iif( lShowHelp == NIL , .F., lShowHelp )//check help switch
nRow := IIF ( nRow <1 .OR. nRow >21, 1, nRow ) //check row bounds
nCol := IIF ( nCol <1 .OR. nCol >63, 63, nCol ) //check col bounds
nRow := iif( nRow <1 .OR. nRow >21, 1, nRow ) //check row bounds
nCol := iif( nCol <1 .OR. nCol >63, 63, nCol ) //check col bounds
cSavColor := SETCOLOR(cColor) //save current and set display color
cSaveScreen := SAVESCREEN( nRow-1, nCol-1, nRow+3, nCol+17 ) //save screen
@@ -71,7 +71,7 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp)
ENDIF
IF lShowHelp
nHelpRow := IIF (nRow > 10 , nRow - 10 , nRow + 6 )
nHelpRow := iif(nRow > 10 , nRow - 10 , nRow + 6 )
ENDIF
DO WHILE nKey != K_ESC
@@ -151,7 +151,7 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp)
STATIC FUNCTION JDOY (nYear, nMonth, nDay)
LOCAL cString :='000031059090120151181212243273304334'
RETURN VALS(cString,(nMonth-1)*3+1,3) + nDay +;
IIF( nYear%4==0.AND.nMonth>2, 1, 0)
iif( nYear%4==0.AND.nMonth>2, 1, 0)
STATIC FUNCTION VALS (cString, nOffset, nChar)
RETURN VAL(SUBSTR(cString,nOffset,nChar))

View File

@@ -76,8 +76,8 @@
DispBox( <t>, <l>, <b>, <r>, REPLICATE(<c>,9) )
#command DEFAULT <p> TO <val> [, <pn> TO <valn> ] =>;
<p> := IIF( <p> == Nil, <val>, <p> ); ;
[ <pn> := IIF( <pn> == Nil, <valn>, <pn> ) ]
<p> := iif( <p> == Nil, <val>, <p> ); ;
[ <pn> := iif( <pn> == Nil, <valn>, <pn> ) ]
*------------------------------------------------
// Demo of FT_ClrSel()
@@ -173,11 +173,11 @@ DEFAULT cChr TO chr(254)+chr(254)
cChr := PadR( cChr, 2 )
SETCURSOR( SC_NONE )
SETCOLOR( IIF( lColour, "GR+/N,,N/N", "W+/N,,N/N" ) )
SETCOLOR( iif( lColour, "GR+/N,,N/N", "W+/N,,N/N" ) )
CLS
*.... initialize the colour palette
aClrPal := _ftInitPal( IIF( lColour, aClrTab, aClrBW ) )
aClrPal := _ftInitPal( iif( lColour, aClrTab, aClrBW ) )
*.... paint the colours on the screen
_ftShowPal( aClrPal, cChr )
@@ -199,7 +199,7 @@ nL := MAX( INT( (27-nLen) /2 )-2, 1 )
nR := MIN( nL + nLen + 3, 26 )
*.... set up the window for aChoice
SETCOLOR( IIF( lColour, "N/W,W+/R", "N/W,W+/N" ) )
SETCOLOR( iif( lColour, "N/W,W+/R", "N/W,W+/N" ) )
ClearS( nT, nL, nB, nR )
*.... prompt for colour setting and modify
@@ -224,7 +224,7 @@ FT_RestSets( aEnvSav )
RESTSCREEN( 00, 00, MAXROW(), MAXCOL(), cScrSav )
SETPOS( nRowSav, nColSav )
RETURN IIF( nChoice == 1, aClrs, aClrOld )
RETURN iif( nChoice == 1, aClrs, aClrOld )
*------------------------------------------------
STATIC FUNCTION _ftHiLite( nRow, nCol, cStr, nLen )
@@ -281,7 +281,7 @@ IF !( aOpt[ C_TYPE ] == "T" ) // no prompt for titles
*.... we need to know top,left,bottom,right for the prompt window
aEval( aPrompt, { |cPrompt| nLen := MAX( nLen, LEN( cPrompt ) ) } )
nLen := MAX( nLen, LEN( aOpt[ C_NAME ] ) + 2 )
nT := IIF( aOpt[ C_TYPE ] == "M", 18, 19 )
nT := iif( aOpt[ C_TYPE ] == "M", 18, 19 )
nB := nT + LEN(aPrompt) + 1
nL := MAX( INT( (27-nLen) /2 )-2, 1 )
nR := MIN( nL + nLen + 3, 26 )
@@ -297,7 +297,7 @@ DO WHILE .T.
_ftShowIt( aOpt )
IF !( aOpt[ C_TYPE ] == "T" ) // no prompt for titles
SETCOLOR( IIF( lColour, "N/W,W+/R,,,N/W", "N/W,W+/N,,,N/W" ) )
SETCOLOR( iif( lColour, "N/W,W+/R,,,N/W", "N/W,W+/N,,,N/W" ) )
Double( nT, nL+1, nB, nR-1 )
@ nT, nL+2 SAY PadC( " "+ aOpt[C_NAME] +" ", nR -nL -3, "Í" )
FOR nX := 1 TO LEN( aPrompt )
@@ -321,7 +321,7 @@ DO WHILE .T.
aClrs := _ftChr2Arr( aOpt[ C_CLR ] ) // place color string in an array
aSize( aClrs, 5 ) // make sure there are 5 settings
*.... empty elements are made Nil so they can be defaulted
aEval( aClrs, { |v,e| aClrs[e] := IIF( EMPTY(v), Nil, ALLTRIM(v) ) } )
aEval( aClrs, { |v,e| aClrs[e] := iif( EMPTY(v), Nil, ALLTRIM(v) ) } )
DEFAULT aClrs[1] TO "W/N"
DEFAULT aClrs[2] TO "N/W" // place default colours into
DEFAULT aClrs[3] TO "N/N" // elements which are empty
@@ -484,14 +484,14 @@ NEXT
IF ! lFound
nR := 1 // black background
nC := IIF( nDim == 5, 3, 8 ) // white foreground
nC := iif( nDim == 5, 3, 8 ) // white foreground
ENDIF
DO WHILE .T.
*.... make sure array boundary not exceeded
nR := IIF( nR > nDim, 1, IIF( nR == 0, nDim, nR ) )
nC := IIF( nC > nDim, 1, IIF( nC == 0, nDim, nC ) )
nR := iif( nR > nDim, 1, iif( nR == 0, nDim, nR ) )
nC := iif( nC > nDim, 1, iif( nC == 0, nDim, nC ) )
*.... place selected colour in the appropriate spot in clr string
aOpt[ C_CLR ] := _ftClrPut( aOpt[ C_CLR ], nElem, aClrPal[ nR, nC ] )
@@ -560,7 +560,7 @@ NEXT
n := nElem + 18
DO WHILE .T.
*.... make sure boundary not exeeded
n := IIF( n > Len(aChar)+18, 19, IIF( n < 19, Len(aChar)+18, n ) )
n := iif( n > Len(aChar)+18, 19, iif( n < 19, Len(aChar)+18, n ) )
*.... show sample window
aOpt[ C_CHAR ] := aChar[ n-18 ] // place in array
@@ -602,7 +602,7 @@ cString += cDelim
DO WHILE .T.
IF EMPTY( cString ) ; EXIT ; ENDIF
n := AT( cDelim, cString )
AADD( aArray, IIF( n == 1, "", LEFT( cString, n - 1 ) ) )
AADD( aArray, iif( n == 1, "", LEFT( cString, n - 1 ) ) )
cString := SUBS( cString, n + 1 )
ENDDO
@@ -618,7 +618,7 @@ LOCAL cString := ""
DEFAULT aArray TO {}
DEFAULT cDelim TO ","
AEVAL( aArray, { |v,e| cString += IIF( e == 1, v, cDelim + v ) } )
AEVAL( aArray, { |v,e| cString += iif( e == 1, v, cDelim + v ) } )
RETURN cString
@@ -659,8 +659,8 @@ LOCAL aClrPal := ARRAY( nDim*2, nDim*2 )
FOR nF := 1 TO nDim*2
FOR nB := 1 TO nDim*2
aClrPal[ nF, nB ] :=;
IIF( nF <= nDim, aClrTab[ nF ], aClrTab[ nF-nDim ] +"+" ) +"/"+;
IIF( nB <= nDim, aClrTab[ nB ], aClrTab[ nB-nDim ] +"*" )
iif( nF <= nDim, aClrTab[ nF ], aClrTab[ nF-nDim ] +"+" ) +"/"+;
iif( nB <= nDim, aClrTab[ nB ], aClrTab[ nB-nDim ] +"*" )
NEXT
NEXT
@@ -676,7 +676,7 @@ LOCAL n := 1
DO WHILE lIdentical .AND. n <= LEN(aArr1)
IF VALTYPE( aArr1[n] ) == VALTYPE( aArr2[n] )
lIdentical := IIF( VALTYPE( aArr1[n] ) == "A", ;
lIdentical := iif( VALTYPE( aArr1[n] ) == "A", ;
_ftIdentArr( aArr1[n], aArr2[n] ), ;
aArr1[n] == aArr2[n] )
ELSE

View File

@@ -51,15 +51,15 @@ PROCEDURE Main( cCmdLine )
lColor := .T.
cNormH := IIF( lColor, "W+/BG","W+/N" )
cNormN := IIF( lColor, "N/BG" ,"W/N" )
cNormE := IIF( lColor, "N/W" , "N/W" )
cWindH := IIF( lColor, "W+/B", "W+/N" )
cWindN := IIF( lColor, "W/B" , "W/N" )
cWindE := IIF( lColor, "N/W" , "N/W" )
cErrH := IIF( lColor, "W+/R", "W+/N" )
cErrN := IIF( lColor, "W/R" , "W/N" )
cErrE := IIF( lColor, "N/W" , "N/W" )
cNormH := iif( lColor, "W+/BG","W+/N" )
cNormN := iif( lColor, "N/BG" ,"W/N" )
cNormE := iif( lColor, "N/W" , "N/W" )
cWindH := iif( lColor, "W+/B", "W+/N" )
cWindN := iif( lColor, "W/B" , "W/N" )
cWindE := iif( lColor, "N/W" , "N/W" )
cErrH := iif( lColor, "W+/R", "W+/N" )
cErrN := iif( lColor, "W/R" , "W/N" )
cErrE := iif( lColor, "N/W" , "N/W" )
cDosScrn := SAVESCREEN()
nDosRow := ROW()
@@ -164,7 +164,7 @@ FUNCTION FT_DispMsg( aInfo, cKey, nBoxTop, nBoxLeft, cnBoxString, lShadow )
cnBoxString := "ÚÄ¿³ÙÄÀ³ "
ENDIF
lShadow := IIF( lShadow == NIL, .T., lShadow )
lShadow := iif( lShadow == NIL, .T., lShadow )
cOldScreen := SAVESCREEN( nBoxTop, nBoxLeft, nBoxBottom+1, nBoxRight+2 )

View File

@@ -14,14 +14,14 @@
* -> aNewArray
* $ARGUMENTS$
* <aList1> is the primary array.
*
*
* <aList2> is the secondary array.
*
*
* <lTrimmer> is a logical value denoting whether leading or
* trailing spaces should be included in the
* comparison. If .T., then ignores spaces in
* comparison, defaults to .T., .F. includes spaces.
*
*
* <lCaseSens> is a logical value denoting case sensitivity.
* If .T., then comparison is sensitive to case,
* defaults to .T., .F. ignores case.
@@ -34,15 +34,15 @@
* $EXAMPLES$
* aList1 := {"apple", "orange", "pear"}
* aList2 := {"apple ", "banana", "PEAR"}
*
*
* FT_AADDITION( aList1, aList2 )
* // ignores spaces, sensitive to case
* // returns {"apple","orange","pear","banana","PEAR"}
*
*
* FT_AADDITION( aList1, aList2, , .F. )
* // ignores spaces, not sensitive to case
* // returns {"apple","orange","pear","banana"}
*
*
* FT_AADDITION( aList1, aList2, .F., .F. )
* // sensitive to spaces, not sensitive to case
* // returns {"apple","orange","pear","apple ","banana"}

View File

@@ -13,10 +13,10 @@
* FT_AAVG( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) -> nAverage
* $ARGUMENTS$
* <aArray> is the array containing the elements to be averaged.
*
*
* <nStartIndex> is the first array item to include,
* defaults to first element.
*
*
* <nEndIndex> is the last array element to include,
* defaults to all elements.
* $RETURNS$
@@ -24,15 +24,15 @@
* $DESCRIPTION$
* This function is used to get a numeric average of selected or all
* elements of an array.
*
*
* This routine requires FT_ASUM().
* $EXAMPLES$
* FT_AAVG(aSubTotals) // Get Average of Entire Array
*
*
* FT_AAVG(aSubTotals, 5) // Get Average of 5th Element On
*
*
* FT_AAVG(aSubTotals, , 10) // Get Average of 1st 10 Elements
*
*
* FT_AAVG(aSubTotals, 5, 10) // Get Average of Elements 5-10
* $END$
*/

View File

@@ -14,7 +14,7 @@
* $ARGUMENTS$
* <dGivenDate> is any valid date in any valid format.
* Defaults to DATE() if not supplied.
*
*
* <lIsEnd> is a logical variable. .F. = adjust for beginning of
* period mode, .T. = adjust for end of period mode. Defaults to
* beginning of period mode.
@@ -22,17 +22,17 @@
* An adjusted date dependent upon mode and work week start day.
* $DESCRIPTION$
* Called by other FT_ACCT.. functions. The algorithm is:
*
*
* Beginning of period mode:
*
*
* If dGivenDate is in last 3 days of work week
* Return next week's start date
* Else
* Return this week's start date
* Endif
*
*
* End of period mode:
*
*
* If dGivenDate is in last 4 days of work week
* Return this week's end date
* Else
@@ -40,18 +40,18 @@
* Endif
* $EXAMPLES$
* Beginning of period mode (lIsEnd == .F.)
*
*
* dDate := Ctod( "01/31/91" ) // In last 3 days of work week
* ? FT_ACCTADJ( dDate ) // 02/03/91 (next week's start)
*
*
* dDate := Ctod( "03/31/91" ) // Not in last 3 days of work week
* ? FT_ACCTADJ( dDate ) // 03/31/91 (this week's start)
*
*
* End of period mode (lIsEnd == .T.)
*
*
* dDate := Ctod( "01/31/91" ) // In last 4 days of work week
* ? FT_ACCTADJ( dDate, .T. ) // 02/02/91 (this week's end)
*
*
* dDate := Ctod( "03/31/91" ) // Not in last 4 days of work week
* ? FT_ACCTADJ( dDate, .T. ) // 03/30/91 (prior week's end)
* $SEEALSO$

View File

@@ -14,25 +14,25 @@
* $ARGUMENTS$
* <dGivenDate> is any valid date in any date format. Defaults
* to current system date if not supplied.
*
*
* <nMonthNum> is a number from 1 to 12 signifying a month.
* Defaults to current month if not supplied.
* $RETURNS$
* A three element array containing the following data:
*
*
* aDateInfo[1] - The year and month as a character string "YYYYMM"
* aDateInfo[2] - The beginning date of the accounting month
* aDateInfo[3] - The ending date of the accounting month
* $DESCRIPTION$
* FT_ACCTMONTH() creates an array containing data about the
* accounting month containing the given date.
*
*
* An accounting period has the following characteristics:
*
*
* If the first week of the period contains 4 or more 'work'
* days, it is included in the period; otherwise, the first
* week was included in the prior period.
*
*
* If the last week of the period contains 4 or more 'work'
* days it is included in the period; otherwise, the last week
* is included in the next period. This results in 13 week
@@ -45,7 +45,7 @@
* ? aDateInfo[1] // 199009 (9th month)
* ? aDateInfo[2] // 09/02/90 beginning of month 9
* ? aDateInfo[3] // 09/29/90 end of month 9
*
*
* // get info about accounting month 5 in year containing 9/15/90
* aDateInfo := FT_ACCTMONTH( Ctod("09/15/90"), 5 )
* ? aDateInfo[1] // 199005

View File

@@ -14,25 +14,25 @@
* $ARGUMENTS$
* <dGivenDate> is any valid date in any date format. Defaults
* to current system date if not supplied.
*
*
* <nQtrNum> is a number from 1 to 4 signifying a quarter.
* Defaults to current quarter if not supplied.
* $RETURNS$
* A three element array containing the following data:
*
*
* aDateInfo[1] - The year and qtr. as a character string "YYYYQQ"
* aDateInfo[2] - The beginning date of the accounting quarter
* aDateInfo[3] - The ending date of the accounting quarter
* $DESCRIPTION$
* FT_ACCTQTR() creates an array containing data about the
* accounting quarter containing the given date.
*
*
* An accounting period has the following characteristics:
*
*
* If the first week of the period contains 4 or more 'work'
* days, it is included in the period; otherwise, the first
* week was included in the prior period.
*
*
* If the last week of the period contains 4 or more 'work'
* days it is included in the period; otherwise, the last week
* is included in the next period. This results in 13 week
@@ -45,7 +45,7 @@
* ? aDateInfo[1] // 199003 (3rd quarter)
* ? aDateInfo[2] // 07/01/90 beginning of quarter 3
* ? aDateInfo[3] // 09/29/90 end of quarter 3
*
*
* // get info about accounting qtr. 2 in year containing 9/15/90
* aDateInfo := FT_ACCTQTR( CTOD("09/15/90"), 2 )
* ? aDateInfo[1] // 199002

View File

@@ -14,25 +14,25 @@
* $ARGUMENTS$
* <dGivenDate> is any valid date in any date format. Defaults
* to current system date if not supplied.
*
*
* <nWeekNum> is a number from 1 to 52 signifying a week.
* Defaults to current week if not supplied.
* $RETURNS$
* A three element array containing the following data:
*
*
* aDateInfo[1] - The year and week as a character string "YYYYWW"
* aDateInfo[2] - The beginning date of the accounting week
* aDateInfo[3] - The ending date of the accounting week
* $DESCRIPTION$
* FT_ACCTWEEK() returns an array containing data about the
* accounting week containing the given date.
*
*
* An accounting period has the following characteristics:
*
*
* If the first week of the period contains 4 or more 'work'
* days, it is included in the period; otherwise, the first
* week was included in the prior period.
*
*
* If the last week of the period contains 4 or more 'work'
* days it is included in the period; otherwise, the last week
* is included in the next period. This results in 13 week
@@ -45,7 +45,7 @@
* ? aDateInfo[1] // 199037 (37th week)
* ? aDateInfo[2] // 09/09/90 beginning of week 37
* ? aDateInfo[3] // 09/15/90 end of week 37
*
*
* // get info about accounting week 25 in year containing 9/15/90
* aDateInfo := FT_ACCTWEEK( CTOD("09/15/90"), 25 )
* ? aDateInfo[1] // 199025

View File

@@ -16,20 +16,20 @@
* to current system date if not supplied.
* $RETURNS$
* A three element array containing the following data:
*
*
* aDateInfo[1] - The year as a character string "YYYY"
* aDateInfo[2] - The beginning date of the accounting year
* aDateInfo[3] - The ending date of the accounting year
* $DESCRIPTION$
* FT_ACCTYEAR() creates an array containing data about the
* accounting year containing the given date.
*
*
* An accounting period has the following characteristics:
*
*
* If the first week of the period contains 4 or more 'work'
* days, it is included in the period; otherwise, the first
* week was included in the prior period.
*
*
* If the last week of the period contains 4 or more 'work'
* days it is included in the period; otherwise, the last week
* is included in the next period. This results in 13 week

View File

@@ -13,10 +13,10 @@
* FT_ADESSORT( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) -> aSorted
* $ARGUMENTS$
* <aArray> is the array to be sorted
*
*
* <nStartIndex> is the first array item to include in the sort,
* defaults to first element
*
*
* <nEndIndex> is the last array element to include in the sort,
* defaults to all elements
* $RETURNS$
@@ -25,11 +25,11 @@
* This function is used to sort an array in descending order, i.e., Z-A
* $EXAMPLES$
* FT_ADESSORT(aNames) // Sort the Entire Array
*
*
* FT_ADESSORT(aNames, 5) // Sort from the 5th Element On
*
*
* FT_ADESSORT(aNames, , 10) // Sort the 1st 10 Elements
*
*
* FT_ADESSORT(aNames, 5, 10) // Sort Elements 5-10
* $END$
*/

View File

@@ -14,13 +14,13 @@
* -> nMaxlen
* $ARGUMENTS$
* <aArray> is the array containing the elements to be measured.
*
*
* <nDimension> is the array dimension to be measured,
* defaults to first dimension.
*
*
* <nStart> is the starting array element to include,
* defaults to first array element.
*
*
* <nCount> is the number of array elements to process from
* from <nStart>, defaults to remaining elements
* in array.
@@ -31,15 +31,15 @@
* dimension and return the longest element.
* $EXAMPLES$
* FT_AEMAXLEN(aArray) // Measure the 1st dimension of an Array
*
*
* FT_AEMAXLEN(aArray,2) // Measure the 2nd dimension of an Array
*
*
* FT_AEMAXLEN(aArray,2,,9) // Measure Elements 1-9 of the
* 2nd dimension or subarray
*
*
* FT_AEMAXLEN(aArray,3,5,9) // Measure Elements 5-9 of the
* 3rd dimension or subarray
*
*
* FT_AEMAXLEN(aArray,3,5) // Measure Elements 5 to last in the
* 3rd dimension or subarray
* $SEEALSO$

View File

@@ -14,13 +14,13 @@
* -> nMinlen
* $ARGUMENTS$
* <aArray> is the array containing the elements to be measured.
*
*
* <nDimension> is the array dimension to be measured,
* defaults to first dimension.
*
*
* <nStart> is the starting array element to include,
* defaults to first array element.
*
*
* <nCount> is the number of array elements to process from
* from <nStart>, defaults to remaining elements
* in array.
@@ -31,13 +31,13 @@
* dimension and return the shortest element.
* $EXAMPLES$
* FT_AEMINLEN(aArray) // Measure the 1st dimension of an Array
*
*
* FT_AEMINLEN(aArray,2) // Measure the 2nd dimension of an Array
*
*
* FT_AEMINLEN(aArray,2,,9) // Measure Elements 1-9 of 2nd dimension
*
*
* FT_AEMINLEN(aArray,3,5,9) // Measure Elements 5-9 of 3rd dimension
*
*
* FT_AEMINLEN(aArray,3,5) // Measure Elements 5 to end of 3rd dimension
* $SEEALSO$
* FT_AEMAXLEN()

View File

@@ -14,10 +14,10 @@
* -> nMedian
* $ARGUMENTS$
* <aArray> is the array containing the elements to be averaged.
*
*
* <nStart> is the first array element to include,
* defaults to first element.
*
*
* <nEnd> is the last array element to include,
* defaults to last element.
* $RETURNS$
@@ -32,11 +32,11 @@
* values in the set.
* $EXAMPLES$
* FT_AMEDIAN( aArray ) // Return Median for entire array
*
*
* FT_AMEDIAN( aArray, 2) // Return Median for elements from 2 to end
*
*
* FT_AMEDIAN( aArray, ,9) // Return Median for 1st 9 elements
*
*
* FT_AMEDIAN( aArray,8,40 ) // Return Median for elements 8 to 40
* $END$
*/

View File

@@ -14,15 +14,15 @@
* [, <nStartIndex> [, <nEndIndex> ] ] ) -> nNoOfMatches
* $ARGUMENTS$
* <aArray> is the array to be searched
*
*
* <bCompareBlock> is a code block containing the expression for
* the array elements to be tested with. Each element is passed
* as a parameter to the block. If the block returns .T., the
* number of matches will be incremented by one.
*
*
* <nStartIndex> is the first array item to include in the search,
* defaults to first element.
*
*
* <nEndIndex> is the last array element to include in the search,
* defaults to all elements.
* $RETURNS$
@@ -33,13 +33,13 @@
* $EXAMPLES$
* // Search the Entire Array
* FT_ANOMATCHES(aTries, { | x | x <= 100 } )
*
*
* // Search from the 5th Element On
* FT_ANOMATCHES(aCodes, { | x | UPPER(x) == cCurrentCode }, 5)
*
*
* // Search the 1st 10 Elements
* FT_ANOMATCHES(aDates, { | x | IS_BETWEEN(DATE()-7,x,DATE() + 7) }, 10)
*
*
* // Search Elements 5-10
* FT_ANOMATCHES(aNames, { | x | x <= cLastGoodName }, 5, 10)
* $END$

View File

@@ -14,10 +14,10 @@
* [, <lWantYesNo> ] ) -> xResult
* $ARGUMENTS$
* <xValueToConvert> is the value to convert.
*
*
* <cTypeToConvertTo> is the type of value to convert to
* ("C","D","L","N","A" or "B").
*
*
* <lWantYesNo> is a logical to signal if 'Y' or 'N' is to be returned
* if Converting a logical, otherwise '.T.' or '.F.' will be returned
* for logicals.

View File

@@ -14,15 +14,15 @@
* <nElem>, <aHeadings>, <aBlocks> [, <bGetFunc> ] ) -> xElement
* $ARGUMENTS$
* <nTop>, <nLeft>, <nBottom>, <nRight> are coordinates for TBrowse
*
*
* <Array Name> is name of 2 dimensional to array edit
*
*
* <nElem> is pointer for element in array
*
*
* <aHeadings> is array of column headings
*
*
* <aBlocks> is array of blocks describing each array element
*
*
* [ <bGetFunc> ] is get editing function for handling individual elements
* $RETURNS$
* Value of element positioned on when exit FT_AREDIT()
@@ -33,43 +33,43 @@
* and pass a UDF with information to edit the individual gets.
* $EXAMPLES$
* FT_AREDIT(3, 5, 18, 75, ar, @nElem, aHeadings, aBlocks)
*
*
* This example will allow you to browse a 2 dimensional array
* But you can't edit it since there is no GetBlock UDF
* It allows the user to hit ENTER to select an element or ESC to
* return 0
*
*
* * This second example shows how to edit a 2 dimensional array
* * as might be done to edit an invoice
*
*
* LOCAL i, ar[3, 26], aBlocks[3], aHeadings[3]
* LOCAL nElem := 1, bGetFunc
*
*
* * Set up two dimensional array "ar"
*
*
* FOR i = 1 TO 26
* ar[1, i] := i // 1 -> 26 Numeric
* ar[2, i] := CHR(i+64) // "A" -> "Z" Character
* ar[3, i] := CHR(91-i) // "Z" -> "A" Character
* NEXT i
*
*
* * SET UP aHeadings Array for column headings
*
*
* aHeadings := { "Numbers", "Letters", "Reverse" }
*
*
* * Need to set up individual array blocks for each TBrowse column
*
*
* aBlocks[1] := {|| STR(ar[1, nElem], 2) } // prevent default 10 spaces
* aBlocks[2] := {|| ar[2, nElem] }
* aBlocks[3] := {|| ar[3, nElem] }
*
*
* * set up TestGet() as the passed Get Function so FT_ArEdit knows how
* * to edit the individual gets.
*
*
* bGetFunc := { | b, ar, nDim, nElem | TestGet(b, ar, nDim, nElem) }
* SetColor( "N/W, W/N, , , W/N" )
* CLEAR SCREEN
* FT_AREDIT(3, 5, 18, 75, ar, @nElem, aHeadings, aBlocks, bGetFunc)
*
*
* $END$
*/

View File

@@ -13,10 +13,10 @@
* FT_ASUM( <aArray> [, <nStartIndex> [, <nEndIndex> ] ] ) -> nSum
* $ARGUMENTS$
* <aArray> is the array containing the elements to be summed.
*
*
* <nStartIndex> is the first array item to include,
* defaults to first element.
*
*
* <nEndIndex> is the last array element to include,
* defaults to all elements.
* $RETURNS$
@@ -26,11 +26,11 @@
* lengths of a character array.
* $EXAMPLES$
* FT_ASUM(aSubTotals) // Sum the Entire Array
*
*
* FT_ASUM(aSubTotals, 5) // Sum from the 5th Element On
*
*
* FT_ASUM(aSubTotals, , 10) // Sum the 1st 10 Elements
*
*
* FT_ASUM(aSubTotals, 5, 10) // Sum Elements 5-10
* $END$
*/

View File

@@ -13,12 +13,12 @@
* FT_AT2( <cSearch>, <cTarget> [, <nOccurs> [, <lCaseSens> ] ] ) -> nPos
* $ARGUMENTS$
* <cSearch> is the character substring to search for.
*
*
* <cTarget> is the character string to search.
*
*
* <nOccurs> is the occurrence of cSearch to look for,
* defaults to 1.
*
*
* <lCaseSens> is a logical value denoting case sensitivity.
* If .F., then search is NOT sensitive to case,
* defaults to .T.
@@ -30,11 +30,11 @@
* $EXAMPLES$
* cSearch := "t"
* cTarget := "This is the day that the Lord has made."
*
*
* FT_AT2( cSearch, cTarget ) // Returns ( 9 )
*
*
* FT_AT2( cSearch, cTarget, 2 ) // Returns ( 17 )
*
*
* FT_AT2( cSearch, cTarget, 2, .F. ) // Returns ( 9 )
* $SEEALSO$
* FT_FINDITH(), FT_RAT2()
@@ -52,12 +52,12 @@
* FT_RAT2( <cSearch>, <cTarget> [, <nOccurs> [, <lCaseSens> ] ] ) -> nPos
* $ARGUMENTS$
* <cSearch> is the character substring to search for.
*
*
* <cTarget> is the character string to search.
*
*
* <nOccurs> is the occurrence of cSearch to look for,
* defaults to 1.
*
*
* <lCaseSens> is a logical value denoting case sensitivity.
* If .F., then search is NOT sensitive to case,
* defaults to .T.
@@ -69,11 +69,11 @@
* $EXAMPLES$
* cSearch := "t"
* cTarget := "This is the day that the Lord has made."
*
*
* FT_RAT2( cSearch, cTarget ) // Returns ( 22 )
*
*
* FT_RAT2( cSearch, cTarget, 2 ) // Returns ( 20 )
*
*
* FT_RAT2( cSearch, cTarget, 2, .F. ) // Returns ( 22 )
* $SEEALSO$
* FT_FINDITH(), FT_AT2()

View File

@@ -13,7 +13,7 @@
* FT_BITCLR( <cByte>, <nBitPos> ) -> cByte
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255).
*
*
* <nBitPos> is a number from 0 to 7 conforming to standard
* right-to-left bit numbering convention and representing the
* position of the bit within the byte.
@@ -24,22 +24,22 @@
* In effect, ANDs argument byte with a byte that has all bits set except
* the target bit. If bit is already clear (0), it remains clear.
* Note: Calls FT_ISBIT() which is also in this Library.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code would clear bit 4 in a byte represented by CHR(115):
*
*
* cNewByte := FT_BITCLR( CHR(115), 4 )
* ? ASC( cNewbyte ) // result: 99
* ? cNewByte // result: 'c'
*
*
* This code would clear bit 5 in the byte represented by letter 'A':
*
*
* FT_BITCLR( 'A', 5 ) // result: 'A', since
* // bit 5 already clear
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -13,7 +13,7 @@
* FT_BITSET( <cByte>, <nBitPos> ) -> cByte
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255).
*
*
* <nBitPos> is a number from 0 to 7 conforming to standard right-to-left
* bit numbering convention and representing the position of the bit
* within the byte.
@@ -24,23 +24,23 @@
* In effect, ORs argument byte with a byte that has only the target bit
* set. If bit is already set, it remains set.
* Note: Calls FT_ISBIT() which is also in this Library.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code would set bit 4 in a byte represented by CHR(107):
*
*
* cNewbyte := FT_BITSET( CHR(107), 4 )
* ? ASC( cNewbyte ) // result: 123
* ? cNewbyte // result: '{'
*
*
*
*
* This code would set bit 5 in the byte represented by the letter 'A'.
*
*
* ? FT_BITSET( 'A', 5 ) // result: 'a'
* // bit 5 set
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -13,9 +13,9 @@
* FT_BLINK( <cMsg>, [ <nRow> ], [ <nCol> ] ) -> NIL
* $ARGUMENTS$
* <cMsg> is the string to blink.
*
*
* <nRow> is an optional screen row for @...SAY, default current.
*
*
* <nCol> is an optional screen col for @...say, default current.
* $RETURNS$
* NIL
@@ -24,7 +24,7 @@
* Restores colors on return.
* $EXAMPLES$
* FT_BLINK( "WAIT", 5, 10 ) // Blinks "WAIT" in current colors @ 5,10
*
*
* @5,10 SAY "WAIT - Printing Report"
* FT_BLINK( "..." ) // Blink "..." after wait message...
* $END$

View File

@@ -22,7 +22,7 @@
* Binary representation follows right-to-left convention of bit position
* numbering, 0 through 7. Space between high and low nibbles for clarity
* and easy comparison to hexadecimal notation.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
@@ -30,13 +30,13 @@
* These three code lines perform a bitwise AND on bytes with values of
* CHR(20) and CHR(36), and deliver the result as a string in binary (bit)
* format.
*
*
* ? FT_BYT2BIT(CHR(20)) // byte1: '0001 0100'
* ? FT_BYT2BIT(CHR(36)) // byte2: '0010 0100'
*
*
* ? FT_BYT2BIT(FT_BYTEAND(CHR(20), CHR(36)))
* // result: '0000 0100'
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -19,7 +19,7 @@
* faulty.
* $DESCRIPTION$
* Can be used to show results of bit manipulation, both before and after.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
@@ -27,13 +27,13 @@
* These three code lines perform a bitwise AND on bytes with values of
* CHR(20) and CHR(36), and deliver the result as a string in hexadecimal
* format, using 'h' to signify hexadecimal.
*
*
* ? FT_BYT2HEX(CHR(20)) // byte1: '14h'
* ? FT_BYT2HEX(CHR(36)) // byte2: '24h'
*
*
* ? FT_BYT2HEX(FT_BYTEAND(CHR(20), CHR(36)))
* // result: '04h'
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -21,7 +21,7 @@
* $DESCRIPTION$
* Can be used for any bit-wise masking operation. In effect, this is a
* bit-by-bit AND operation. Equivalent to AND assembler instruction.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
@@ -29,11 +29,11 @@
* This code would mask out the high nibble (four most significant bits)
* of the byte represented by chr(123) and leave the low nibble bits as in
* the parameter byte.
*
*
* cNewbyte := FT_BYTEAND( CHR(123), CHR(15) )
* ? asc(cNewByte) // result: 11
* ? cNewByte // result: non-printable character
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -22,16 +22,16 @@
* Can be used for bit-wise byte manipulation. In effect, this is a
* bit-by-bit NEG (two's complement) operation. Equivalent to NEG
* assembler instruction.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bit-wise NEG on byte represented by CHR(32):
*
*
* cNewByte := FT_BYTENOT(CHR(32))
* ? asc(cNewByte) // result: 224
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -22,16 +22,16 @@
* Can be used for bitwise byte manipulation. In effect, this is a
* bit-by-bit NOT (one's complement) operation. Equivalent to the
* NOT assembler instruction.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bitwise NOT on byte represented by CHR(32):
*
*
* cNewByte := FT_BYTENOT( CHR(32) )
* ? ASC( cNewByte ) // result: 223
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -21,18 +21,18 @@
* $DESCRIPTION$
* Can be used for bit-wise byte manipulation. In effect, this is a
* bit-by-bit XOR operation. Equivalent to XOR assembler instruction.
*
*
* This function is presented to illustrate that bit-wise operations
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bit-wise XOR on two bytes represented
* by CHR(32) and CHR(55):
*
*
* cNewByte := FT_BYTEXOR( CHR(32), CHR(55) )
* ? ASC( cNewByte ) // result: 23
* ? cNewByte // result: non-printable character
*
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$

View File

@@ -15,32 +15,32 @@
* $ARGUMENTS$
* <nRow> is an optional screen row for calendar display,
* default row 1.
*
*
* <nCol> is an optional screen col for calendar display,
* default col 63.
*
*
* <cColor> is an optional color string for displayed messages,
* default is bright white text over green background.
*
*
* <lShadow> is an optional logical variable. If true (.T.),
* it uses FT_SHADOW() to add a transparent shadow
* to the display, default (.F.).
*
*
* <lShowHelp> is an optional logical variable. If true, uses
* FT_XBOX to display a four line help message
* if the F1 key is pressed, default (.F.).
*
*
* $RETURNS$
* aRetVal is an 8 element array containing date, month, day, year,
* month (in character format), day of the week, julian day
* and current time.
*
*
* $DESCRIPTION$
* FT_CALENDAR() simply displays today's date, time and julian
* day in a two line display with an optional box shadow. Cursor keys may
* be used to page through the calendar by day, week, month or year
* increments. Returns an 8 element array of calendar data:
*
*
* Element Value
* [1] Date in current date format.
* [2] Numeric month number.
@@ -50,10 +50,10 @@
* [6] Day of the week in character format.
* [7] Numeric Julian day.
* [8] Current time in time format.
*
*
* WARNING: FT_CALENDAR uses FT_SHADOW and FT_XBOX
* from the Nanforum Toolkit!
*
*
* $EXAMPLES$
* LOCAL aRetVal[8]
* CLS
@@ -66,9 +66,9 @@
* ?aRetVal[6] // Result: Saturday
* ?aRetVal[7] // Result: 110
* ?aRetVal[8] // Result: 12:45:20
*
*
* $SEEALSO$
* FT_DAYOFYR()
*
*
* $END$
*/

View File

@@ -20,7 +20,7 @@
* $DESCRIPTION$
* Use this function if you prefer to change the active directory
* instead of relying on the SET PATH command.
*
*
* The source code is written to adhere to Turbo Assembler's IDEAL mode.
* To use another assembler, you will need to rearrange the PROC and
* SEGMENT directives, and also the ENDP and ENDS directives (a very

View File

@@ -23,10 +23,10 @@
* and optionally sets it ON or OFF.
* $EXAMPLES$
* lOldState := FT_SETCENTURY() // Get current CENTURY Setting
*
*
* lOldState := FT_SETCENTURY(.T.) // Get the current CENTURY Setting
* // and turn it on (set it to TRUE)
*
*
* lOldState := FT_SETCENTURY(.F.) // Get the current CENTURY Setting
* // and turn it off (set it to FALSE)
* $END$

View File

@@ -23,7 +23,7 @@
* corresponding number.
* $EXAMPLES$
* nColor := FT_COLOR2N( "gr+/b" ) // returns 30
*
*
* FT_SETATTR( 0, 0, 10, 10, nColor )
* $SEEALSO$
* FT_N2COLOR()

View File

@@ -13,7 +13,7 @@
* FT_D2E( <nDec>, <nPrecision> ) -> <cNumE>
* $ARGUMENTS$
* <nDec> Decimal number to convert
*
*
* <nPrecision> Number of decimal places in result.
* Defaults to 6 decimal places.
* $RETURNS$
@@ -26,10 +26,10 @@
* $EXAMPLES$
* ? FT_D2E( 12.345, 2 )
* -> 1.23E1
*
*
* ? FT_D2E( -12.345, 3 )
* -> -1.235E1
*
*
* ? FT_D2E( 0.00000543, 2 )
* -> 5.43E-6
* $SEEALSO$

View File

@@ -15,41 +15,41 @@
* <cFYStart> is a character date string in the user's system date
* format, i.e., the same as the user would enter for CTOD(). If
* this argument is NIL, the current value is unchanged.
*
*
* Note: The year portion of the date string must be present and
* be a valid year; however, it has no real meaning.
*
*
* <nDow> is a number from 1 to 7 (1 = Sunday) indicating the
* desired start of a work week. If this argument is NIL,
* the current value is unchanged.
*
*
* $RETURNS$
* A 2-element array containing the following information:
*
*
* aDateInfo[1] - an ANSI date string indicating the beginning
* date of the year. Only the month and day are
* meaningful.
*
*
* aDateInfo[2] - the number of the first day of the week
* (1 = Sunday)
*
*
* $DESCRIPTION$
* FT_DATECNFG() is called internally by many of the date functions
* in the library to determine the beginning of year date and
* beginning of week day.
*
*
* The default beginning of the year is January 1st and the default
* beginning of the week is Sunday (day 1). Either or both of these
* settings may be changed by calling FT_DATECNFG() with the proper
* arguments. They will retain their values for the duration of the
* program or until they are changed again by a subsequent call to
* FT_DATECNFG().
*
*
* It is not necessary to call FT_DATECNFG() unless you need to
* change the defaults.
*
*
* FT_DATECNFG() affects the following library functions:
*
*
* FT_WEEK() FT_ACCTWEEK() FT_DAYTOBOW()
* FT_MONTH() FT_ACCTMONTH() FT_DAYOFYR()
* FT_QTR() FT_ACCTQTR() FT_ACCTADJ()
@@ -57,20 +57,20 @@
* $EXAMPLES$
* // Configure library date functions to begin year on
* // July 1st.
*
*
* FT_DATECNFG("07/01/80") // year is insignificant
*
*
* // Examples of return values:
*
*
* // System date format: American aArray[1] aArray[2]
*
*
* aArray := FT_DATECNFG() // '1980.01.01' 1 (Sun.)
* aArray := FT_DATECNFG('07/01/80') // '1980.07.01' 1 (Sun.)
* aArray := FT_DATECNFG('07/01/80', 2) // '1980.07.01' 2 (Mon.)
* aArray := FT_DATECNFG( , 2 ) // '1980.01.01' 2 (Mon.)
*
*
* // System date format: British
*
*
* aArray := FT_DATECNFG('01/07/80', 2) // '1980.07.01' 2 (Mon.)
* $SEEALSO$
* FT_ACCTADJ()

View File

@@ -15,31 +15,31 @@
* $ARGUMENTS$
* <dGivenDate> is any valid date in any valid format. Defaults
* to current system date if not supplied.
*
*
* <nDayNum> is a number from 1 to 371, signifying a day of a year.
* Defaults to current day if not supplied.
*
*
* <lIsAcct> is a logical which specifies the type of year to base
* the return value on: .F. = calendar or fiscal year,
* .T. = accounting year.
* $RETURNS$
* A three element array containing the following data:
*
*
* If <nDayNum> is specified:
*
*
* aDateInfo[1] - The date of the specified day number
* aDateInfo[2] - The beginning date of the year
* aDateInfo[3] - The ending date of the year
*
*
* If <nDayNum> is not specified:
*
*
* aDateInfo[1] - The year and day as a character string "YYYYDDD"
* aDateInfo[2] - The beginning date of the year
* aDateInfo[3] - The ending date of the year
* $DESCRIPTION$
* FT_DAYOFYR() returns an array containing data about a day in the
* calendar or fiscal year containing the given date.
*
*
* The beginning of year date defaults to January 1st but may be
* changed with FT_DATECNFG().
* $EXAMPLES$
@@ -47,12 +47,12 @@
* ? aDateInfo[1] // 1991090 (90th day of year 1991)
* ? aDateInfo[2] // 01/01/91
* ? aDateInfo[3] // 12/31/91
*
*
* aDateInfo := FT_DAYOFYR( , 90 ) // assume current date is 3/31/91
* ? aDateInfo[1] // 03/31/91 (90th day of year)
* ? aDateInfo[2] // 01/01/91
* ? aDateInfo[3] // 12/31/91
*
*
* aDateInfo := FT_DAYOFYR( , 90, .T. )
* ? aDateInfo[1] // 03/29/91 (90th day of accounting year)
* ? aDateInfo[2] // 12/30/90 (1st day of accounting year)

View File

@@ -24,11 +24,11 @@
* FT_DATECNFG().
* $EXAMPLES$
* dDate := CTOD( "09/15/90" )
*
*
* ? DOW( dDate ) // 7
* ? CDOW( dDate ) // Saturday
* ? FT_DAYTOBOW( dDate ) // 6
*
*
* // change beginning of week to Friday (yeah!)
* FT_DATECNFG( , 6 )
* ? DOW( dDate ) // 7

View File

@@ -34,21 +34,21 @@
* Note: make sure you allocate a buffer large enough to hold enough
* data for the number of lines that you have in the window. Use the
* following formula as a guideline:
*
*
* buffer size = (# of line) + 1 * RMargin
*
*
* This is the smallest you should make the buffer. For normal use,
* 4096 bytes is recommended
* $EXAMPLES$
* @ 4,9 TO 11,71
*
*
* FT_DFSETUP("test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr(143), .T., 5, 132, 4096)
*
*
* cKey = FT_DISPFILE()
*
*
* FT_DFCLOSE()
*
*
* @ 20,0 SAY "Key that terminated FT_DISPFILE() was: " + '[' + cKey + ']'
* $SEEALSO$
* FT_DISPFILE() FT_DFCLOSE()
@@ -72,14 +72,14 @@
* Closes the file opened by FT_DFSETUP()
* $EXAMPLES$
* @ 4,9 TO 11,71
*
*
* FT_DFSETUP("test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr(143), .T., 5, 132, 4096)
*
*
* cKey = FT_DISPFILE()
*
*
* FT_DFCLOSE()
*
*
* @ 20,0 SAY "Key that terminated FT_DISPFILE() was: " + '[' + cKey + ']'
* $SEEALSO$
* FT_DFSETUP() FT_DISPFILE()

View File

@@ -44,7 +44,7 @@
* $DESCRIPTION$
* Function to return the available space on the passed
* drive letter or the default drive if no drive is passed.
*
*
* Uses FT_INT86() through the internal function _ftDiskInfo().
* $EXAMPLES$
* ? FT_DSKFREE() // Returns free space on default drive.

View File

@@ -19,17 +19,17 @@
* This routine displays a text file within a defined window using as
* little memory as possible. The text file to display has to be
* present or an error value of 0 is returned (as a character.)
*
*
* Assumptions: The routine assumes that all lines are terminated
* with a CR/LF sequence (0x0d and 0x0a).
*
*
* Note: Make sure you allocate a buffer large enough to hold
* enough data for the number of lines that you have
* in the window. Use the following formula as a
* guideline - buffer size = (# of line) + 1 * RMargin
* this is the smallest you should make the buffer and
* for normal use I recommend 4096 bytes.
*
*
* Cursor Keys: Up, Down - moves the highlight line
* Left, Right - moves the window over nColSkip col's
* Home - moves the window to the far left
@@ -39,9 +39,9 @@
* Ctrl-PgDn - moves the highlight to the file bottom
* Ctrl-Right - moves the window 16 col's to the right
* Ctrl-Left - moves the window 16 col's to the left
*
*
* Esc, Return - terminates the function
*
*
* All other keys are ignored unless they are specified
* within cExitKeys parameter. This list will tell the
* routine what keys terminate the function. Special
@@ -49,14 +49,14 @@
* can be found by looking in the keys.h file.
* $EXAMPLES$
* @ 4,9 TO 11,71
*
*
* FT_DFSETUP("test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr(143), .T., 5, 132, 4096)
*
*
* cKey = FT_DISPFILE()
*
*
* FT_DFCLOSE()
*
*
* @ 20,0 SAY "Key that terminated FT_DISPFILE() was: " + '[' + cKey + ']'
* $SEEALSO$
* FT_DFSETUP() FT_DFCLOSE()

Some files were not shown because too many files have changed in this diff Show More