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:
@@ -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
|
||||
|
||||
@@ -8,6 +8,6 @@ ANNOUNCE HB_GTSYS
|
||||
PROCEDURE Main()
|
||||
|
||||
CLS
|
||||
ALERT( "Hello world!" )
|
||||
Alert( "Hello world!" )
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -30,9 +30,9 @@
|
||||
* $DESCRIPTION$
|
||||
* <TODO: add a description, some examples and tests here>
|
||||
* $EXAMPLES$
|
||||
*
|
||||
*
|
||||
* $TESTS$
|
||||
*
|
||||
*
|
||||
* $STATUS$
|
||||
* Ready
|
||||
* $COMPLIANCE$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -12,15 +12,15 @@
|
||||
* $SYNTAX$
|
||||
* NUMAT (<cStringToMatch>, <cString>, [<nIgnore>]) --> nCount
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
*
|
||||
* $RETURNS$
|
||||
*
|
||||
*
|
||||
* $DESCRIPTION$
|
||||
* TODO: add documentation
|
||||
* $EXAMPLES$
|
||||
*
|
||||
*
|
||||
* $TESTS$
|
||||
*
|
||||
*
|
||||
* $STATUS$
|
||||
* Started
|
||||
* $COMPLIANCE$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
* WORDTOCHAR (<cDoubleCharacterSearchString>, <cString>,
|
||||
* <cSingleCharacterReplaceString>) -> cString
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
*
|
||||
* $RETURNS$
|
||||
*
|
||||
*
|
||||
* $DESCRIPTION$
|
||||
* TODO: add documentation
|
||||
* $EXAMPLES$
|
||||
*
|
||||
*
|
||||
* $TESTS$
|
||||
*
|
||||
*
|
||||
* $STATUS$
|
||||
* Started
|
||||
* $COMPLIANCE$
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* corresponding number.
|
||||
* $EXAMPLES$
|
||||
* nColor := FT_COLOR2N( "gr+/b" ) // returns 30
|
||||
*
|
||||
*
|
||||
* FT_SETATTR( 0, 0, 10, 10, nColor )
|
||||
* $SEEALSO$
|
||||
* FT_N2COLOR()
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user