├── vfp2c32front ├── config.fpw ├── cut.bmp ├── copy.bmp ├── lineno.ico ├── paste.bmp ├── cparser.dll ├── dropdown.bmp ├── foxuser.fpt ├── frmvfp2c.sc2 ├── frmvfp2c.sct ├── frmvfp2c.scx ├── keywords.db2 ├── settings.db2 ├── vfp2c32.ico ├── vfp2c32m.ico ├── vfpbase.vc2 ├── vfpbase.vct ├── vfpbase.vcx ├── cbasetypes.cdx ├── cbasetypes.db2 ├── cbasetypes.dbf ├── ctypedefs.cdx ├── ctypedefs.db2 ├── ctypedefs.dbf ├── frmlineno.sc2 ├── frmlineno.sct ├── frmlineno.scx ├── frmtypesel.sc2 ├── frmtypesel.sct ├── frmtypesel.scx ├── vfp2c32front.pj2 ├── vfp2c32front.pjt ├── vfp2c32front.pjx ├── dodebug.prg ├── input.c ├── intermediate.c ├── foxuser.dbf ├── settings.dbf ├── main.prg └── cparserh.h ├── vfp2c32examples ├── filetest.txt ├── odbc.prg ├── frmfileprogress.sc2 ├── frmfileprogress.sct ├── frmfileprogress.scx ├── vfp2c32examples.pj2 ├── vfp2c32examples.pjt ├── vfp2c32examples.pjx ├── frmdownloadprogress.sc2 ├── frmdownloadprogress.sct ├── frmdownloadprogress.scx ├── ole.prg ├── int64_math.prg ├── filecopyandmove.prg ├── arraycomputations.prg ├── fileex.prg ├── ccallback.prg ├── windows.h ├── shellitem.prg ├── apihelper.prg └── memleaktest.prg ├── vfp2c32 ├── vfp2c32 │ ├── vfp2c32.def │ ├── vfp2c32d.def │ ├── vfp2c32rd.def │ ├── vfp2c32.ico │ ├── winapims.lib │ ├── vfp2cfont.cpp │ ├── winapims64.lib │ ├── vfp2casmfuncs.h │ ├── vfp2carray.h │ ├── vfp2cwindows.h │ ├── vfp2cwinsock.h │ ├── resource.h │ ├── vfp2cprint.h │ ├── vfp2ctime.h │ ├── vfp2ccom.h │ ├── vfp2c64.vcxproj.user │ ├── vfp2c32.vcxproj.user │ ├── vfp2cnetapi.h │ ├── vfp2ciphelper.h │ ├── vfp2cregistry.h │ ├── vfp2curlmon.h │ ├── vfp2csntp.h │ └── vfp2cconv.h └── cparser │ ├── standard.h │ ├── clex.h │ ├── cparser.def │ ├── ccomment.l │ ├── main.c │ └── decltree.h ├── vfp2c32help ├── _startup.prg ├── groups.db2 ├── groups.dbf ├── apilinks.cdx ├── apilinks.db2 ├── apilinks.dbf ├── docmerge.sc2 ├── docmerge.sct ├── docmerge.scx ├── settings.db2 ├── settings.dbf ├── vfp2chelp.pj2 ├── vfp2chelp.pjt ├── vfp2chelp.pjx ├── chm │ ├── vfp2c32.chm │ ├── vfp2c32.chw │ ├── images │ │ ├── note.gif │ │ ├── vfpx.gif │ │ ├── caution.gif │ │ ├── copycode.gif │ │ ├── function.gif │ │ ├── copycode2.gif │ │ ├── list_bullet.gif │ │ ├── threadsafe.gif │ │ ├── vfp2cfront1.jpg │ │ ├── vfp2cfront2.jpg │ │ ├── vfp2cfront3.jpg │ │ ├── vfp2cfront4.jpg │ │ └── notthreadsafe.gif │ ├── pages │ │ ├── long2str.html │ │ ├── writeint.html │ │ ├── atimezones.html │ │ ├── fcreateex.html │ │ ├── int642str.html │ │ ├── int64_add.html │ │ ├── int64_div.html │ │ ├── int64_mod.html │ │ ├── int64_mul.html │ │ ├── int64_sub.html │ │ ├── num2binary.html │ │ ├── readint64.html │ │ ├── readpint64.html │ │ ├── short2str.html │ │ ├── writeint64.html │ │ ├── writeint8.html │ │ ├── writepint.html │ │ ├── writepint64.html │ │ ├── writepint8.html │ │ ├── writepshort.html │ │ ├── writeshort.html │ │ ├── static │ │ │ ├── mainpage.html │ │ │ ├── developers.html │ │ │ ├── distribution.html │ │ │ ├── errorhandling.html │ │ │ ├── intellisense.html │ │ │ ├── vfp2c32front.html │ │ │ ├── vfp2c32front_errors.html │ │ │ ├── vfp2c32front_options.html │ │ │ ├── vfp2c32front_globalmemorystatus.html │ │ │ └── vfp2c32front_registerpowersettingnotification.html │ │ ├── group_33114yk25.html │ │ ├── group_33114a805.html │ │ ├── vfp2c32.html │ │ ├── sqlgettypeinfoex.html │ │ ├── group_332131z1w.html │ │ ├── group_33114sw3g.html │ │ ├── group_332135w6b.html │ │ ├── group_33114gpey.html │ │ ├── group_33114tyno.html │ │ ├── getwindowtextex.html │ │ ├── decimals.html │ │ ├── group_33114rpjw.html │ │ ├── group_33114sakk.html │ │ ├── group_33213e2eb.html │ │ ├── getsystemdirectoryex.html │ │ ├── getwindowsdirectoryex.html │ │ ├── utc2dt.html │ │ ├── dt2utc.html │ │ ├── double2dt.html │ │ ├── dt2double.html │ │ ├── releasepublicshadowobjreference.html │ │ ├── destroycallbackfunc.html │ │ ├── group_33114nmms.html │ │ ├── avolumes.html │ │ ├── aborturldownloadtofileex.html │ │ ├── amax.html │ │ ├── amin.html │ │ ├── createpublicshadowobjreference.html │ │ ├── getiunknown.html │ │ ├── compactmem.html │ │ ├── ip2macaddress.html │ │ ├── cancelwaitforobject.html │ │ ├── aerrorex.html │ │ ├── avolumepaths.html │ │ ├── revokeactiveobject.html │ │ ├── timet2dt.html │ │ ├── awindowprops.html │ │ ├── getwindowrectex.html │ │ ├── rashangupex.html │ │ ├── asum.html │ │ ├── isequalguid.html │ │ ├── rasclearconnectionstatistics.html │ │ ├── aipaddresses.html │ │ ├── awindowstations.html │ │ ├── getsystemtimeex.html │ │ ├── freepmem.html │ │ ├── ft2dt.html │ │ └── st2dt.html │ ├── vfp2c32.hhp │ └── scripts │ │ └── jscript.js ├── commonfuncs.prg ├── documentor.sc2 ├── documentor.sct ├── documentor.scx ├── vfp2cintelli.cdx ├── vfp2cintelli.db2 ├── vfp2cintelli.dbf ├── vfp2cintelli.fpt ├── commonheader.h ├── libcurl │ ├── libcurl.dll │ ├── libcurl.vc2 │ ├── libcurl.vct │ ├── libcurl.vcx │ ├── libeay32.dll │ ├── libssl32.dll │ ├── vfp2c32.fll │ └── libcurl.txt ├── vfp2cintelli_merge.db2 ├── vfp2cintelli_merge.dbf ├── vfp2cintelli2xml.prg ├── vfp2cintelli_merge.fpt ├── cleanupfields.prg ├── importxml.prg ├── vfp2cinstallintelli.prg └── updateapilinks.prg ├── vfpsrvhost ├── UpgradeLog.htm ├── vfpsrvhost.ico ├── stdafx.h ├── stdafx.cpp ├── resource.h ├── Backup │ └── vfpsrvhost.sln ├── vfpsrvhost.xml ├── vfpsrvhost.sln ├── exceptions.h └── vfpsrvhost.vcxproj.filters ├── vfpexampleservice ├── foxuser.fpt ├── vfpexampleservice.dll ├── vfpexampleservice.pjt ├── vfpexampleservice.pjx ├── foxuser.dbf ├── exampleservice3.h └── servicebaseclass.prg ├── vfpsrvhosthelp ├── images │ ├── note.gif │ ├── vfpx.gif │ ├── caution.gif │ ├── copycode.gif │ ├── copycode2.gif │ ├── function.gif │ └── list_bullet.gif ├── vfpsrvhost.chm ├── vfpsrvhost.chw ├── pages │ ├── mainpage.html │ ├── developers.html │ ├── distribution.html │ ├── configuration.html │ ├── errorhandling.html │ ├── versionhistory.html │ └── commandline.html ├── vfpsrvhost.hhk ├── vfpsrvhost.hhp ├── scripts │ └── jscript.js └── vfpsrvhost.hhc ├── README.md └── .gitignore /vfp2c32front/config.fpw: -------------------------------------------------------------------------------- 1 | SCREEN=OFF -------------------------------------------------------------------------------- /vfp2c32examples/filetest.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 | Hello World2 -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2c32.def: -------------------------------------------------------------------------------- 1 | LIBRARY 2 | EXPORTS 3 | GetIDispatch @2 -------------------------------------------------------------------------------- /vfp2c32help/_startup.prg: -------------------------------------------------------------------------------- 1 | DO (HOME() + 'vfp2c32_help.prg') WITH 'install' -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2c32d.def: -------------------------------------------------------------------------------- 1 | LIBRARY vfp2c32d.fll 2 | EXPORTS 3 | GetIDispatch -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2c32rd.def: -------------------------------------------------------------------------------- 1 | LIBRARY vfp2c32rd.fll 2 | EXPORTS 3 | GetIDispatch -------------------------------------------------------------------------------- /vfp2c32front/cut.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/cut.bmp -------------------------------------------------------------------------------- /vfp2c32front/copy.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/copy.bmp -------------------------------------------------------------------------------- /vfp2c32front/lineno.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/lineno.ico -------------------------------------------------------------------------------- /vfp2c32front/paste.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/paste.bmp -------------------------------------------------------------------------------- /vfp2c32help/groups.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/groups.db2 -------------------------------------------------------------------------------- /vfp2c32help/groups.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/groups.dbf -------------------------------------------------------------------------------- /vfp2c32examples/odbc.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/odbc.prg -------------------------------------------------------------------------------- /vfp2c32front/cparser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/cparser.dll -------------------------------------------------------------------------------- /vfp2c32front/dropdown.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/dropdown.bmp -------------------------------------------------------------------------------- /vfp2c32front/foxuser.fpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/foxuser.fpt -------------------------------------------------------------------------------- /vfp2c32front/frmvfp2c.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmvfp2c.sc2 -------------------------------------------------------------------------------- /vfp2c32front/frmvfp2c.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmvfp2c.sct -------------------------------------------------------------------------------- /vfp2c32front/frmvfp2c.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmvfp2c.scx -------------------------------------------------------------------------------- /vfp2c32front/keywords.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/keywords.db2 -------------------------------------------------------------------------------- /vfp2c32front/settings.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/settings.db2 -------------------------------------------------------------------------------- /vfp2c32front/vfp2c32.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfp2c32.ico -------------------------------------------------------------------------------- /vfp2c32front/vfp2c32m.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfp2c32m.ico -------------------------------------------------------------------------------- /vfp2c32front/vfpbase.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfpbase.vc2 -------------------------------------------------------------------------------- /vfp2c32front/vfpbase.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfpbase.vct -------------------------------------------------------------------------------- /vfp2c32front/vfpbase.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfpbase.vcx -------------------------------------------------------------------------------- /vfp2c32help/apilinks.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/apilinks.cdx -------------------------------------------------------------------------------- /vfp2c32help/apilinks.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/apilinks.db2 -------------------------------------------------------------------------------- /vfp2c32help/apilinks.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/apilinks.dbf -------------------------------------------------------------------------------- /vfp2c32help/docmerge.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/docmerge.sc2 -------------------------------------------------------------------------------- /vfp2c32help/docmerge.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/docmerge.sct -------------------------------------------------------------------------------- /vfp2c32help/docmerge.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/docmerge.scx -------------------------------------------------------------------------------- /vfp2c32help/settings.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/settings.db2 -------------------------------------------------------------------------------- /vfp2c32help/settings.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/settings.dbf -------------------------------------------------------------------------------- /vfp2c32help/vfp2chelp.pj2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2chelp.pj2 -------------------------------------------------------------------------------- /vfp2c32help/vfp2chelp.pjt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2chelp.pjt -------------------------------------------------------------------------------- /vfp2c32help/vfp2chelp.pjx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2chelp.pjx -------------------------------------------------------------------------------- /vfpsrvhost/UpgradeLog.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhost/UpgradeLog.htm -------------------------------------------------------------------------------- /vfpsrvhost/vfpsrvhost.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhost/vfpsrvhost.ico -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2c32.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32/vfp2c32/vfp2c32.ico -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/winapims.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32/vfp2c32/winapims.lib -------------------------------------------------------------------------------- /vfp2c32front/cbasetypes.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/cbasetypes.cdx -------------------------------------------------------------------------------- /vfp2c32front/cbasetypes.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/cbasetypes.db2 -------------------------------------------------------------------------------- /vfp2c32front/cbasetypes.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/cbasetypes.dbf -------------------------------------------------------------------------------- /vfp2c32front/ctypedefs.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/ctypedefs.cdx -------------------------------------------------------------------------------- /vfp2c32front/ctypedefs.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/ctypedefs.db2 -------------------------------------------------------------------------------- /vfp2c32front/ctypedefs.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/ctypedefs.dbf -------------------------------------------------------------------------------- /vfp2c32front/frmlineno.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmlineno.sc2 -------------------------------------------------------------------------------- /vfp2c32front/frmlineno.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmlineno.sct -------------------------------------------------------------------------------- /vfp2c32front/frmlineno.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmlineno.scx -------------------------------------------------------------------------------- /vfp2c32front/frmtypesel.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmtypesel.sc2 -------------------------------------------------------------------------------- /vfp2c32front/frmtypesel.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmtypesel.sct -------------------------------------------------------------------------------- /vfp2c32front/frmtypesel.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/frmtypesel.scx -------------------------------------------------------------------------------- /vfp2c32help/chm/vfp2c32.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/vfp2c32.chm -------------------------------------------------------------------------------- /vfp2c32help/chm/vfp2c32.chw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/vfp2c32.chw -------------------------------------------------------------------------------- /vfp2c32help/commonfuncs.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/commonfuncs.prg -------------------------------------------------------------------------------- /vfp2c32help/documentor.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/documentor.sc2 -------------------------------------------------------------------------------- /vfp2c32help/documentor.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/documentor.sct -------------------------------------------------------------------------------- /vfp2c32help/documentor.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/documentor.scx -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2cintelli.cdx -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2cintelli.db2 -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2cintelli.dbf -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli.fpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2cintelli.fpt -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2cfont.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32/vfp2c32/vfp2cfont.cpp -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/winapims64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32/vfp2c32/winapims64.lib -------------------------------------------------------------------------------- /vfp2c32front/vfp2c32front.pj2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfp2c32front.pj2 -------------------------------------------------------------------------------- /vfp2c32front/vfp2c32front.pjt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfp2c32front.pjt -------------------------------------------------------------------------------- /vfp2c32front/vfp2c32front.pjx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32front/vfp2c32front.pjx -------------------------------------------------------------------------------- /vfp2c32help/commonheader.h: -------------------------------------------------------------------------------- 1 | #DEFINE CRLF CHR(13) + CHR(10) 2 | #DEFINE VFP2C_INTELLI_TIMESTAMP DATETIME(2011,1,1,11,11,11) -------------------------------------------------------------------------------- /vfpexampleservice/foxuser.fpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpexampleservice/foxuser.fpt -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/note.gif -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/vfpx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/vfpx.gif -------------------------------------------------------------------------------- /vfpsrvhosthelp/vfpsrvhost.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/vfpsrvhost.chm -------------------------------------------------------------------------------- /vfpsrvhosthelp/vfpsrvhost.chw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/vfpsrvhost.chw -------------------------------------------------------------------------------- /vfp2c32help/chm/images/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/note.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/images/vfpx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/vfpx.gif -------------------------------------------------------------------------------- /vfp2c32help/libcurl/libcurl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/libcurl.dll -------------------------------------------------------------------------------- /vfp2c32help/libcurl/libcurl.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/libcurl.vc2 -------------------------------------------------------------------------------- /vfp2c32help/libcurl/libcurl.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/libcurl.vct -------------------------------------------------------------------------------- /vfp2c32help/libcurl/libcurl.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/libcurl.vcx -------------------------------------------------------------------------------- /vfp2c32help/libcurl/libeay32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/libeay32.dll -------------------------------------------------------------------------------- /vfp2c32help/libcurl/libssl32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/libssl32.dll -------------------------------------------------------------------------------- /vfp2c32help/libcurl/vfp2c32.fll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/libcurl/vfp2c32.fll -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/caution.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/caution.gif -------------------------------------------------------------------------------- /vfp2c32examples/frmfileprogress.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/frmfileprogress.sc2 -------------------------------------------------------------------------------- /vfp2c32examples/frmfileprogress.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/frmfileprogress.sct -------------------------------------------------------------------------------- /vfp2c32examples/frmfileprogress.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/frmfileprogress.scx -------------------------------------------------------------------------------- /vfp2c32examples/vfp2c32examples.pj2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/vfp2c32examples.pj2 -------------------------------------------------------------------------------- /vfp2c32examples/vfp2c32examples.pjt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/vfp2c32examples.pjt -------------------------------------------------------------------------------- /vfp2c32examples/vfp2c32examples.pjx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/vfp2c32examples.pjx -------------------------------------------------------------------------------- /vfp2c32help/chm/images/caution.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/caution.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/images/copycode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/copycode.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/images/function.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/function.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/long2str.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/long2str.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writeint.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writeint.html -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli_merge.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2cintelli_merge.db2 -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli_merge.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/vfp2cintelli_merge.dbf -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/copycode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/copycode.gif -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/copycode2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/copycode2.gif -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/function.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/function.gif -------------------------------------------------------------------------------- /vfpsrvhosthelp/pages/mainpage.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/pages/mainpage.html -------------------------------------------------------------------------------- /vfp2c32help/chm/images/copycode2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/copycode2.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/images/list_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/list_bullet.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/images/threadsafe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/threadsafe.gif -------------------------------------------------------------------------------- /vfp2c32help/chm/images/vfp2cfront1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/vfp2cfront1.jpg -------------------------------------------------------------------------------- /vfp2c32help/chm/images/vfp2cfront2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/vfp2cfront2.jpg -------------------------------------------------------------------------------- /vfp2c32help/chm/images/vfp2cfront3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/vfp2cfront3.jpg -------------------------------------------------------------------------------- /vfp2c32help/chm/images/vfp2cfront4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/vfp2cfront4.jpg -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/atimezones.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/atimezones.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/fcreateex.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/fcreateex.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/int642str.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/int642str.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/int64_add.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/int64_add.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/int64_div.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/int64_div.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/int64_mod.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/int64_mod.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/int64_mul.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/int64_mul.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/int64_sub.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/int64_sub.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/num2binary.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/num2binary.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/readint64.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/readint64.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/readpint64.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/readpint64.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/short2str.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/short2str.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writeint64.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writeint64.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writeint8.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writeint8.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writepint.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writepint.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writepint64.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writepint64.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writepint8.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writepint8.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writepshort.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writepshort.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/writeshort.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/writeshort.html -------------------------------------------------------------------------------- /vfpsrvhosthelp/images/list_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/images/list_bullet.gif -------------------------------------------------------------------------------- /vfpsrvhosthelp/pages/developers.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/pages/developers.html -------------------------------------------------------------------------------- /vfpsrvhosthelp/pages/distribution.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/pages/distribution.html -------------------------------------------------------------------------------- /vfp2c32examples/frmdownloadprogress.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/frmdownloadprogress.sc2 -------------------------------------------------------------------------------- /vfp2c32examples/frmdownloadprogress.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/frmdownloadprogress.sct -------------------------------------------------------------------------------- /vfp2c32examples/frmdownloadprogress.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32examples/frmdownloadprogress.scx -------------------------------------------------------------------------------- /vfp2c32help/chm/images/notthreadsafe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/images/notthreadsafe.gif -------------------------------------------------------------------------------- /vfpexampleservice/vfpexampleservice.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpexampleservice/vfpexampleservice.dll -------------------------------------------------------------------------------- /vfpexampleservice/vfpexampleservice.pjt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpexampleservice/vfpexampleservice.pjt -------------------------------------------------------------------------------- /vfpexampleservice/vfpexampleservice.pjx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpexampleservice/vfpexampleservice.pjx -------------------------------------------------------------------------------- /vfpsrvhosthelp/pages/configuration.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/pages/configuration.html -------------------------------------------------------------------------------- /vfpsrvhosthelp/pages/errorhandling.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/pages/errorhandling.html -------------------------------------------------------------------------------- /vfpsrvhosthelp/pages/versionhistory.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfpsrvhosthelp/pages/versionhistory.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/mainpage.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/mainpage.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/developers.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/developers.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/distribution.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/distribution.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/errorhandling.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/errorhandling.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/intellisense.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/intellisense.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/vfp2c32front.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/vfp2c32front.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/vfp2c32front_errors.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/vfp2c32front_errors.html -------------------------------------------------------------------------------- /vfp2c32front/dodebug.prg: -------------------------------------------------------------------------------- 1 | CLEAR ALL 2 | CD (FULLPATH(JUSTPATH(SYS(16)))) 3 | COMPILE codegen 4 | COMPILE cparser 5 | COMPILE cparsetypes 6 | COMPILE main 7 | 8 | DO main 9 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/vfp2c32front_options.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/vfp2c32front_options.html -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/vfp2c32front_globalmemorystatus.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/vfp2c32front_globalmemorystatus.html -------------------------------------------------------------------------------- /vfp2c32/cparser/standard.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include "decltree.h" 8 | #include "clex.h" -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/static/vfp2c32front_registerpowersettingnotification.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChristianEhlscheid/vfp2c32/HEAD/vfp2c32help/chm/pages/static/vfp2c32front_registerpowersettingnotification.html -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2casmfuncs.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CASMFUNCS_H__ 2 | #define _VFP2CASMFUNCS_H__ 3 | 4 | extern "C" 5 | { 6 | __int64 _stdcall Multiply_Int64(__int64 op1, __int64 op2, bool *overflow); 7 | } 8 | #endif // _VFP2CASMFUNCS_H__ 9 | -------------------------------------------------------------------------------- /vfpsrvhosthelp/vfpsrvhost.hhk: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
    8 |
9 | 10 | -------------------------------------------------------------------------------- /vfp2c32/cparser/clex.h: -------------------------------------------------------------------------------- 1 | extern int yylex(); /* lexical analyzer generated from clex.l */ 2 | extern char *yytext; /* last token, defined in clex.l */ 3 | extern void yyrestart(FILE *input_file); 4 | extern FILE *yyin, *yyout; 5 | extern int gnLineNo; 6 | extern int gnTypeFlag; -------------------------------------------------------------------------------- /vfpsrvhost/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | // TODO: reference additional headers your program requires here 9 | -------------------------------------------------------------------------------- /vfp2c32/cparser/cparser.def: -------------------------------------------------------------------------------- 1 | LIBRARY cparser 2 | EXPORTS 3 | start_parse 4 | remove_comments 5 | extract_defines 6 | add_knowntype 7 | remove_knowntype 8 | clear_knowntypes 9 | get_parsedtypehead 10 | clear_parsedtypes 11 | debug_entry 12 | get_parseerrorhead 13 | clear_errors 14 | get_errorcount 15 | -------------------------------------------------------------------------------- /vfp2c32front/input.c: -------------------------------------------------------------------------------- 1 | typedef struct _WIN32_FILE_ATTRIBUTE_DATA { 2 | DWORD dwFileAttributes; 3 | FILETIME ftCreationTime; 4 | FILETIME ftLastAccessTime; 5 | FILETIME ftLastWriteTime; 6 | DWORD nFileSizeHigh; 7 | DWORD nFileSizeLow; 8 | } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA; 9 | -------------------------------------------------------------------------------- /vfp2c32front/intermediate.c: -------------------------------------------------------------------------------- 1 | typedef struct _WIN32_FILE_ATTRIBUTE_DATA { 2 | DWORD dwFileAttributes; 3 | FILETIME ftCreationTime; 4 | FILETIME ftLastAccessTime; 5 | FILETIME ftLastWriteTime; 6 | DWORD nFileSizeHigh; 7 | DWORD nFileSizeLow; 8 | } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA; 9 | -------------------------------------------------------------------------------- /vfpsrvhost/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // vfpsrvhost.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli2xml.prg: -------------------------------------------------------------------------------- 1 | LOCAL lcPath, lbUsed 2 | m.lcPath = ADDBS(JUSTPATH(FULLPATH(SYS(16)))) 3 | CD (m.lcPath) 4 | 5 | m.lbUsed = USED('vfp2cintelli') 6 | IF !m.lbUsed 7 | USE vfp2cintelli IN 0 SHARED 8 | ENDIF 9 | 10 | LOCAL lcXml 11 | CURSORTOXML('vfp2cintelli', m.lcPath + 'vfp2cintelli.xml', 1, 0+8+16+512, 0, "1") 12 | 13 | IF !m.lbUsed 14 | USE IN SELECT('vfp2cintelli') 15 | ENDIF -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2carray.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CARRAY_H__ 2 | #define _VFP2CARRAY_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | void _fastcall ASplitStr(ParamBlkEx& parm); 9 | void _fastcall ASum(ParamBlkEx& parm); 10 | void _fastcall AAverage(ParamBlkEx& parm); 11 | void _fastcall AMax(ParamBlkEx& parm); 12 | void _fastcall AMin(ParamBlkEx& parm); 13 | 14 | #ifdef __cplusplus 15 | } 16 | #endif 17 | 18 | #endif // _VFP2CWINSOCK_H__ -------------------------------------------------------------------------------- /vfpsrvhosthelp/vfpsrvhost.hhp: -------------------------------------------------------------------------------- 1 | [OPTIONS] 2 | Binary TOC=Yes 3 | Compatibility=1.1 or later 4 | Compiled file=vfpsrvhost.chm 5 | Contents file=vfpsrvhost.hhc 6 | Default Font=Verdana,9,0 7 | Default topic=/pages/Mainpage.html 8 | Display compile notes=No 9 | Display compile progress=No 10 | Full-text search=Yes 11 | Index file=vfpsrvhost.hhk 12 | Language=0x409 Englisch (USA) 13 | Title=VFP2C32 14 | 15 | 16 | [ALIAS] 17 | #include vfp2c32alias.h 18 | 19 | [MAP] 20 | #include vfp2c32map.h 21 | 22 | [INFOTYPES] 23 | 24 | -------------------------------------------------------------------------------- /vfp2c32help/chm/vfp2c32.hhp: -------------------------------------------------------------------------------- 1 | [OPTIONS] 2 | Binary TOC=Yes 3 | Compatibility=1.1 or later 4 | Compiled file=vfp2c32.chm 5 | Contents file=vfp2c32toc.hhc 6 | Default Font=Verdana,9,0 7 | Default topic=/pages/static/Mainpage.html 8 | Display compile notes=No 9 | Display compile progress=No 10 | Full-text search=Yes 11 | Index file=vfp2c32index.hhk 12 | Language=0x409 Englisch (USA) 13 | Title=VFP2C32 14 | 15 | 16 | [ALIAS] 17 | #include vfp2c32alias.h 18 | 19 | [MAP] 20 | #include vfp2c32map.h 21 | 22 | [INFOTYPES] 23 | 24 | -------------------------------------------------------------------------------- /vfpsrvhost/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by vfpsrvhost.rc 4 | // 5 | #define IDI_ICON1 202 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 203 12 | #define _APS_NEXT_COMMAND_VALUE 32775 13 | #define _APS_NEXT_CONTROL_VALUE 1031 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /vfp2c32help/vfp2cintelli_merge.fpt: -------------------------------------------------------------------------------- 1 | @ -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2cwindows.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CWINDOWS_H__ 2 | #define _VFP2CWINDOWS_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | void _fastcall GetWindowTextEx(ParamBlkEx& parm); 9 | void _fastcall GetWindowRectEx(ParamBlkEx& parm); 10 | void _fastcall CenterWindowEx(ParamBlkEx& parm); 11 | void _fastcall ADesktopArea(ParamBlkEx& parm); 12 | void _fastcall ColorOfPoint(ParamBlkEx& parm); 13 | void _fastcall MessageBoxExLib(ParamBlkEx& parm); 14 | 15 | #ifdef __cplusplus 16 | } 17 | #endif 18 | 19 | #endif // _VFP2CWINDOWS_H__ -------------------------------------------------------------------------------- /vfp2c32help/cleanupfields.prg: -------------------------------------------------------------------------------- 1 | CD (JUSTPATH(FULLPATH(SYS(16)))) 2 | 3 | UPDATE vfp2cintelli SET tip = RemoveWhiteSpaceFromEnd(tip), ; 4 | data = RemoveWhiteSpaceFromEnd(data), ; 5 | returnval = RemoveWhiteSpaceFromEnd(returnval), ; 6 | descrip = RemoveWhiteSpaceFromEnd(descrip), ; 7 | example = RemoveWhiteSpaceFromEnd(example), ; 8 | apifuncs = RemoveWhiteSpaceFromEnd(apifuncs) ; 9 | WHERE type = 'F' 10 | 11 | FUNCTION RemoveWhiteSpaceFromEnd 12 | LPARAMETERS lcValue 13 | RETURN RTRIM(m.lcValue, 0, CHR(13), CHR(10), CHR(32), CHR(9)) 14 | ENDFUNC -------------------------------------------------------------------------------- /vfp2c32front/foxuser.dbf: -------------------------------------------------------------------------------- 1 | 00TYPEC IDC NAMEMREADONLYLCKVALNDATAM$UPDATEDD( PREFW PROJECTS F 6553520040714 PREFW BLDOPTS F 43697 20040714 PREFW GTOOLBAR F 17080 2 | 20230722 -------------------------------------------------------------------------------- /vfpexampleservice/foxuser.dbf: -------------------------------------------------------------------------------- 1 | 0 2 | 0TYPEC IDC NAMEMREADONLYLCKVALNDATAM$UPDATEDD( PREFW PROJECTS F 6553520040714 PREFW BLDOPTS F 43697 20040714 PREFW GTOOLBAR F 23904 3 | 20101202 -------------------------------------------------------------------------------- /vfpexampleservice/exampleservice3.h: -------------------------------------------------------------------------------- 1 | #IFNDEF _EXAMPLESERVICE3_H__ 2 | #DEFINE _EXAMPLESERVICE3_H__ 3 | 4 | && meaning of Action property in FILE_NOTIFY_INFORMATION structure 5 | #DEFINE FILE_ACTION_ADDED 0x00000001 6 | #DEFINE FILE_ACTION_REMOVED 0x00000002 7 | #DEFINE FILE_ACTION_MODIFIED 0x00000003 8 | #DEFINE FILE_ACTION_RENAMED_OLD_NAME 0x00000004 9 | #DEFINE FILE_ACTION_RENAMED_NEW_NAME 0x00000005 10 | 11 | && rights for CreateFile 12 | #DEFINE FILE_LIST_DIRECTORY 0x001 13 | 14 | && flags for CreateFile 15 | #DEFINE CREATE_NEW 1 16 | #DEFINE CREATE_ALWAYS 2 17 | #DEFINE OPEN_EXISTING 3 18 | #DEFINE OPEN_ALWAYS 4 19 | #DEFINE TRUNCATE_EXISTING 5 20 | 21 | #ENDIF && _EXAMPLESERVICE3_H__ -------------------------------------------------------------------------------- /vfpsrvhosthelp/scripts/jscript.js: -------------------------------------------------------------------------------- 1 | document.write(' 8 | 9 | 10 | 14 |
15 | 16 |

You can install and uninstall the services by executing VfpSrvHost manually with the following parameters:

17 | 18 | 19 | 20 |
vfpsrvhost.exe install servicenameInstalls the service named "servicename" on the local system. If you omit the servicename all services in the XML configuration are installed.
vfpsrvhost.exe uninstall servicenameUninstalls the service named "servicename" on the local system. If you omit the servicename all services in the XML configuration are uninstalled.
21 |
22 | 23 | 26 | 27 | -------------------------------------------------------------------------------- /vfpsrvhost/exceptions.h: -------------------------------------------------------------------------------- 1 | #ifndef _EXCEPTIONS_H__ 2 | #define _EXCEPTIONS_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | using namespace std; 8 | 9 | class BaseException 10 | { 11 | public: 12 | BaseException(LPCTSTR pMessage) : m_Function(0), m_LastError(0), m_Message(pMessage) { } 13 | BaseException(LPCTSTR pFunction, DWORD nLastError) : m_Function(pFunction), m_LastError(nLastError), m_Message(0) { } 14 | DWORD LastError() { return m_LastError; } 15 | virtual void Log() = 0; 16 | 17 | protected: 18 | LPCTSTR m_Message; 19 | LPCTSTR m_Function; 20 | DWORD m_LastError; 21 | }; 22 | /* 23 | class EventLogException : public BaseException 24 | { 25 | public: 26 | EventLogException(LPTSTR pFunction, DWORD nLastError) : BaseException(pFunction, nLastError) { } 27 | virtual void Log(); 28 | }; 29 | */ 30 | 31 | class FileLogException : public BaseException 32 | { 33 | public: 34 | FileLogException(LPCTSTR pMessage) : BaseException(pMessage) { } 35 | FileLogException(LPCTSTR pFunction, DWORD nLastError) : BaseException(pFunction, nLastError) { } 36 | virtual void Log(); 37 | }; 38 | 39 | class StdoutException : public BaseException 40 | { 41 | public: 42 | StdoutException(LPCTSTR pMessage) : BaseException(pMessage) { } 43 | StdoutException(LPCTSTR pFunction, DWORD nLastError) : BaseException(pFunction, nLastError) { } 44 | virtual void Log(); 45 | }; 46 | 47 | #endif // _EXCEPTIONS_H__ -------------------------------------------------------------------------------- /vfp2c32examples/arraycomputations.prg: -------------------------------------------------------------------------------- 1 | && prerequisites: NONE! 2 | 3 | CD (FULLPATH(JUSTPATH(SYS(16)))) 4 | 5 | IF TYPE('_WIN64') = 'L' AND _WIN64 6 | SET LIBRARY TO vfp2c64.fll ADDITIVE 7 | ELSE 8 | SET LIBRARY TO vfp2c32.fll ADDITIVE 9 | ENDIF 10 | 11 | DIMENSION laTest[20] 12 | FOR xj = 1 TO 20 13 | laTest[xj] = xj 14 | ENDFOR 15 | 16 | ?ASum(@laTest) 17 | ?AMin(@laTest) 18 | ?AMax(@laTest) 19 | ?AAverage(@laTest) 20 | 21 | FOR xj = 1 TO 20 22 | laTest[xj] = NTOM(xj+0.01) 23 | ENDFOR 24 | 25 | ?ASum(@laTest) 26 | ?AMin(@laTest) 27 | ?AMax(@laTest) 28 | ?AAverage(@laTest) 29 | 30 | FOR xj = 1 TO 20 31 | laTest[xj] = DATETIME()+xj 32 | ENDFOR 33 | ?AMin(@laTest) 34 | ?AMax(@laTest) 35 | 36 | FOR xj = 1 TO 20 37 | laTest[xj] = DATE()+xj 38 | ENDFOR 39 | ?AMin(@laTest) 40 | ?AMax(@laTest) 41 | 42 | DIMENSION laTest[20,2] 43 | FOR xj = 1 TO 20 44 | laTest[xj,1] = xj 45 | laTest[xj,2] = xj * 10 46 | ENDFOR 47 | 48 | && first dimension is default dimension if a multi dimensional array is passed 49 | ?ASum(@laTest) 50 | ?AMin(@laTest) 51 | ?AMax(@laTest) 52 | ?AAverage(@laTest) 53 | 54 | && second optional parameter specifies dimension 55 | ?ASum(@laTest,2) 56 | ?AMin(@laTest,2) 57 | ?AMax(@laTest,2) 58 | ?AAverage(@laTest,2) 59 | 60 | && if second parameter is 0 the functions operate on all elements of the array 61 | ?ASum(@laTest,0) 62 | ?AMin(@laTest,0) 63 | ?AMax(@laTest,0) 64 | ?AAverage(@laTest,0) 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /vfp2c32examples/fileex.prg: -------------------------------------------------------------------------------- 1 | && extended VFP like low level file manipulation functions 2 | && main features/enhancements: 3 | && -also handles files larger than 2GB 4 | && -files can be created/opened for shared access (VFP native functions only allow exclusive access) 5 | && -additional functions for locking parts of a file (FLockFile(Ex), FUnlockFile(Ex)) 6 | && FCreateEx and FOpenEx return the real windows file handle, you can use this handle for other API functions 7 | && you can also pass API handles not created with FCreateEx or FOpenEx to the functions FWriteEx, FPutsEx, FReadEx ect. ... 8 | 9 | 10 | #INCLUDE vfp2c.h 11 | 12 | CD (FULLPATH(JUSTPATH(SYS(16)))) 13 | IF TYPE('_WIN64') = 'L' AND _WIN64 14 | SET LIBRARY TO vfp2c64.fll ADDITIVE 15 | ELSE 16 | SET LIBRARY TO vfp2c32.fll ADDITIVE 17 | ENDIF 18 | 19 | LOCAL lnHandle 20 | && create normal file for read/write with shared read/write/delete access for other processes 21 | lnHandle = FCREATEEX('filetest.txt',FILE_ATTRIBUTE_NORMAL, 2, FILE_SHARE_READ+FILE_SHARE_WRITE+FILE_SHARE_DELETE) 22 | 23 | IF lnHandle = -1 24 | AERROREX('laError') 25 | DISPLAY MEMORY LIKE laError 26 | RETURN 27 | ENDIF 28 | 29 | ?FPUTSEX(lnHandle, 'Hello World') 30 | ?FWRITEEX(lnHandle, 'Hello World2') 31 | 32 | && no need to explain them all since they work just like their VFP counterparts 33 | 34 | ?FCLOSEEX(lnHandle) 35 | && FCloseEx has a special parameter value -1 which closes all currently open files 36 | -------------------------------------------------------------------------------- /vfp2c32examples/ccallback.prg: -------------------------------------------------------------------------------- 1 | #INCLUDE vfp2c.h 2 | 3 | && CreateCallbackFunc 4 | 5 | CD (FULLPATH(JUSTPATH(SYS(16)))) 6 | 7 | IF TYPE("_WIN64") = 'L' AND _WIN64 8 | SET LIBRARY TO vfp2c64.fll ADDITIVE 9 | ELSE 10 | SET LIBRARY TO vfp2c32.fll ADDITIVE 11 | ENDIF 12 | 13 | LOCAL loCallback 14 | DECLARE INTEGER EnumWindows IN user32.dll INTEGER, INTEGER 15 | loCallBack = CREATEOBJECT('WNDENUMPROC') 16 | EnumWindows(loCallback.Address,0) 17 | 18 | DEFINE CLASS WNDENUMPROC AS Exception 19 | 20 | Address = 0 21 | 22 | FUNCTION Init 23 | && the C prototype for the callback function is 24 | && BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam) 25 | && BOOL is clear .. 26 | && CALLBACK is a preprocessor definition for "WINAPI" which in turn is a definition for "_stdcall" 27 | && which specifies the calling convention of the funtion. 28 | && You can just ignore this since the callback functions created by CreateCallbackFunc always use 29 | && the _stdcall calling convention by design. (I've never seen a C Callback definition using another 30 | && calling convention) 31 | THIS.Address = CreateCallbackFunc('EnumWindowsCallback','BOOL','LONG, LONG',THIS) 32 | ENDFUNC 33 | 34 | FUNCTION Destroy 35 | IF THIS.Address != 0 36 | DestroyCallbackFunc(THIS.Address) 37 | ENDIF 38 | ENDFUNC 39 | 40 | FUNCTION EnumWindowsCallback(hHwnd,lParam) 41 | ?hHwnd,lParam 42 | RETURN .T. 43 | ENDFUNC 44 | 45 | ENDDEFINE 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114yk25.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | General library 7 | 8 | 9 | 14 |
15 |

16 | Common library functions.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 |
AErrorExStores information about the last error occured in the library into an array.
FormatMessageExRetrieves the error message for the specified error number.
VFP2CSysProvides access to library internal resources or changes global library behaviour.
25 | 26 |
27 | 30 | 31 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114a805.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Array 7 | 8 | 9 | 14 |
15 |

16 | Functions working on native VFP arrays.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
AAverageComputes the arithmetic average of values in an array.
AMaxRetrieves the maximum of values in an array.
AMinRetrieves the minimum of values in an array.
ASumComputes the sum of values in an array.
26 | 27 |
28 | 31 | 32 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2ccom.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CCOM_H__ 2 | #define _VFP2CCOM_H__ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | const int GUID_STRING_LEN = 40; 9 | const int CREATE_GUID_ANSI = 0; 10 | const int CREATE_GUID_UNICODE = 1; 11 | const int CREATE_GUID_BINARY = 2; 12 | 13 | void _fastcall CLSIDFromProgIDLib(ParamBlkEx& parm); 14 | void _fastcall ProgIDFromCLSIDLib(ParamBlkEx& parm); 15 | void _fastcall CLSIDFromStringLib(ParamBlkEx& parm); 16 | void _fastcall StringFromCLSIDLib(ParamBlkEx& parm); 17 | void _fastcall IsEqualGUIDLib(ParamBlkEx& parm); 18 | void _fastcall GuidFromString(ParamBlkEx& parm); 19 | void _fastcall CreateGuid(ParamBlkEx& parm); 20 | void _fastcall RegisterActiveObjectLib(ParamBlkEx& parm); 21 | void _fastcall RegisterObjectAsFileMoniker(ParamBlkEx& parm); 22 | void _fastcall RevokeActiveObjectLib(ParamBlkEx& parm); 23 | IDispatch * _stdcall GetIDispatch(IDispatch *pObject); 24 | 25 | /* 26 | void _fastcall Sys3095Ex(ParamBlkEx& parm); 27 | void _fastcall IsObjectActive(ParamBlkEx& parm); 28 | void _fastcall CoCreateInstanceExLib(ParamBlkEx& parm); 29 | void _fastcall CoRegisterComDll(ParamBlkEx& parm); 30 | void _fastcall CoUnregisterComDll(ParamBlkEx& parm); 31 | void _fastcall IDispatch_Invoke(ParamBlkEx& parm); 32 | void _fastcall IDispatch_AsyncInvoke(ParamBlkEx& parm); 33 | DWORD _stdcall IDispatch_AsyncInvokeThreadProc(LPVOID lpParam); 34 | */ 35 | 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif /* _VFP2COLE_H__ */ 42 | -------------------------------------------------------------------------------- /vfp2c32help/vfp2cinstallintelli.prg: -------------------------------------------------------------------------------- 1 | LOCAL loData, lbUsed 2 | 3 | WAIT WINDOW 'Installing intellisense data for VFP2C32 ...' NOWAIT NOCLEAR 4 | 5 | TRY 6 | CD (FULLPATH(JUSTPATH(SYS(16)))) 7 | USE (_FOXCODE) IN 0 SHARED ALIAS vfpintellicursor 8 | 9 | m.lbUsed = USED('vfp2cintelli') 10 | IF !m.lbUsed 11 | USE vfp2cintelli IN 0 SHARED 12 | ENDIF 13 | 14 | SELECT vfp2cintelli 15 | SCAN 16 | SELECT vfpintellicursor 17 | LOCATE FOR ALLTRIM(vfpintellicursor.uniqueid) == ALLTRIM(vfp2cintelli.uniqueid) 18 | 19 | IF !FOUND() 20 | APPEND BLANK IN vfpintellicursor 21 | ENDIF 22 | 23 | SELECT vfp2cintelli 24 | SCATTER MEMO NAME loData 25 | 26 | && if tip 27 | IF m.loData.type = 'F' AND EMPTY(m.loData.abbrev) 28 | m.loData.tip = STREXTRACT(m.loData.user, '', '') 29 | m.loData.user = '' 30 | ENDIF 31 | 32 | SELECT vfpintellicursor 33 | GATHER NAME loData MEMO 34 | ENDSCAN 35 | 36 | WAIT WINDOW 'Intellisense table was updated successful!' TIMEOUT 2 37 | 38 | CATCH TO loExc 39 | 40 | LOCAL lcMessage 41 | m.lcMessage = 'An error occured while updating the Intellisense table' + CHR(13) + ; 42 | 'Error-No: ' + TRANSFORM(m.loExc.ErrorNo) + CHR(13) + ; 43 | 'Message: ' + m.loExc.Message + CHR(13) + ; 44 | 'LineNo: ' + TRANSFORM(m.loExc.LineNo) 45 | MESSAGEBOX(m.lcMessage, 48, 'VFP2C32') 46 | 47 | FINALLY 48 | USE IN SELECT('vfpintellicursor') 49 | IF !m.lbUsed 50 | USE IN SELECT('vfp2cintelli') 51 | ENDIF 52 | ENDTRY -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/vfp2c32.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | VFP2C32 7 | 8 | 9 | 14 |
15 |

A dummy function to check if the library is loaded.

16 | 17 |
VFP2C32()
18 |

Return Value

19 |

Returns .F.

20 | 21 |

Remarks

22 |

If the library is not loaded your FoxPro function is called. Once the library is loaded
23 | the FLL function takes precedence and is called instead.

24 | 25 |

Example

26 |

FUNCTION VFP2C32()
27 | SET LIBRARY TO LOCFILE('vfp2c32.fll')
28 | RETURN .T.
29 | ENDFUNC

30 | 31 | 32 |
33 | 36 | 37 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/sqlgettypeinfoex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SQLGetTypeInfoEx 7 | 8 | 9 | 14 |
15 |

16 | 17 |
SQLGetTypeInfoEx(nConnection, nType, cCursor [, nFlags])
18 |

Parameters

19 |
20 |

21 |
22 |
23 |

24 |
25 |
26 |

27 |
28 |
29 |

30 |
31 |

Return Value

32 |

33 | 34 | 35 | 36 |
37 | 40 | 41 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_332131z1w.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | C array emulation 7 | 8 | 9 | 14 |
15 |

16 | Functions to convert VFP cursors and arrays to C style arrays and vice versa.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
MarshalCArray2CursorConverts a C array into a VFP cursor.
MarshalCArray2FoxArrayConverts a C array into a VFP array.
MarshalCursor2CArrayConverts a VFP cursor into a C array.
MarshalFoxArray2CArrayConverts a VFP array into a C array.
26 | 27 |
28 | 31 | 32 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114sw3g.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Resource information 7 | 8 | 9 | 14 |
15 |

16 | Retrieve information about resources in modules (dll and executable files).

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 |
AResourceLanguagesStores information about language-specific resources, of the specified type and name, associated with a binary module into an array.
AResourceNamesStores information about resources of a specified type within a binary module into an array.
AResourceTypesStores information about resource types within a binary module into an array.
25 | 26 |
27 | 30 | 31 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_332135w6b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Volume information 7 | 8 | 9 | 14 |
15 |

16 | Retrieve information about volumes.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
AVolumeInformationStores information about the file system and volume associated with the specified root directory into an array.
AVolumeMountPointsStores the names of mounted folders on the specified volume into an array.
AVolumePathsStores the drive letters and volume GUID paths for the specified volume into an array.
AVolumesStores the names of volumes on a computer into an array.
26 | 27 |
28 | 31 | 32 | -------------------------------------------------------------------------------- /vfpsrvhosthelp/vfpsrvhost.hhc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
  • 12 | 13 | 14 | 15 |
      16 |
    • 17 | 18 | 19 | 20 |
    • 21 | 22 | 23 | 24 |
    • 25 | 26 | 27 | 28 |
    • 29 | 30 | 31 | 32 |
    • 33 | 34 | 35 | 36 |
    • 37 | 38 | 39 | 40 |
    • 41 | 42 | 43 | 44 |
    45 |
46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114gpey.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Shell 7 | 8 | 9 | 14 |
15 |

16 | Wrappers around a few functions of the windows shell.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
SHCopyFilesCopies one or several files.
SHDeleteFilesDeletes one or several files.
SHGetShellItemReturns a scriptable proxy object over the IShellItem2 interface.
SHMoveFilesMoves one or several files.
SHRenameFilesRenames one or several files.
SHSpecialFolderRetrieves the path of a special folder.
28 | 29 |
30 | 33 | 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual FoxPro unneeded files 2 | *.fxp 3 | *.bak 4 | *_ref.cdx 5 | *_ref.dbf 6 | *_ref.fpt 7 | 8 | ## Ignore Visual Studio temporary files, build results, and 9 | ## files generated by popular Visual Studio add-ons. 10 | 11 | # User-specific files 12 | *.suo 13 | *.user 14 | *.userosscache 15 | *.sln.docstates 16 | 17 | # Build results 18 | [Dd]ebug/ 19 | [Dd]ebugts/ 20 | [Rr]elease/ 21 | [Rr]eleasets/ 22 | [Rr]eleasedebug/ 23 | [Rr]eleasedebugts/ 24 | x64/ 25 | x86/ 26 | bld/ 27 | [Bb]in/ 28 | [Oo]bj/ 29 | [Ll]og/ 30 | 31 | *_i.c 32 | *_p.c 33 | *_i.h 34 | *.ilk 35 | *.meta 36 | *.obj 37 | *.pch 38 | *.pdb 39 | *.pgc 40 | *.pg 41 | *.rsp 42 | *.sbr 43 | *.tlb 44 | *.tli 45 | *.tlh 46 | *.tmp 47 | *.tmp_proj 48 | *.log 49 | *.vspscc 50 | *.vssscc 51 | .builds 52 | *.pidb 53 | *.svclog 54 | *.scc 55 | 56 | # Visual C++ cache files 57 | ipch/ 58 | *.aps 59 | *.ncb 60 | *.opendb 61 | *.opensdf 62 | *.sdf 63 | *.cachefile 64 | *.VC.db 65 | *.VC.VC.opendb 66 | 67 | # 3rd party libraries & binary files 68 | *.plg 69 | /vfpsrvhost/WTL 70 | /vfp2c32examples/vfp2c32td.fll 71 | /vfp2c32examples/vfp2c32rtd.fll 72 | /vfp2c32front/vfp2c32td.fll 73 | /vfp2c32front/vfp2c32rd.fll 74 | /vfp2c32examples/vfp2c32.fll 75 | /vfp2c32examples/vfp2c32d.fll 76 | /vfp2c32examples/vfp2c32t.fll 77 | /vfp2c32examples/vfp2c64.fll 78 | /vfp2c32examples/vfp2c64d.fll 79 | /vfp2c32examples/vfp2c64t.fll 80 | /vfp2c32examples/vfp2c64td.fll 81 | /vfp2c32examples/msvcr71d.dll 82 | /vfp2c32/tmp 83 | /vfp2c32front/vfp2c32t.fll 84 | /vfp2c32front/vfp2c32.fll 85 | /vfp2c32help/vfp2c32.fll 86 | /vfp2c32/vfp2c32/vfp2c32.fll 87 | /.vs 88 | *.vsidx 89 | read.lock 90 | *.db-shm 91 | *.db-wal 92 | /vfp2c32/.vs/vfp2c64/v17/fileList.bin 93 | /vfp2c32front/vfp2c32front.exe 94 | /vfpexampleservice/msvcr71.dll 95 | /vfpexampleservice/vfp2c32t.fll 96 | -------------------------------------------------------------------------------- /vfp2c32examples/windows.h: -------------------------------------------------------------------------------- 1 | #DEFINE STANDARD_RIGHTS_REQUIRED 0x000F0000 2 | #DEFINE READ_CONTROL 0x00020000 3 | #DEFINE WRITE_DAC 0x00040000 4 | #DEFINE WRITE_OWNER 0x00080000 5 | #DEFINE SYNCHRONIZE 0x00100000 6 | #DEFINE STANDARD_RIGHTS_READ READ_CONTROL 7 | #DEFINE STANDARD_RIGHTS_WRITE READ_CONTROL 8 | #DEFINE STANDARD_RIGHTS_EXECUTE READ_CONTROL 9 | #DEFINE STANDARD_RIGHTS_ALL 0x001F0000 10 | #DEFINE SPECIFIC_RIGHTS_ALL 0x0000FFFF 11 | 12 | #DEFINE ACCESS_SYSTEM_SECURITY 0x01000000 13 | #DEFINE MAXIMUM_ALLOWED 0x02000000 14 | 15 | #DEFINE GENERIC_READ 0x80000000 16 | #DEFINE GENERIC_WRITE 0x40000000 17 | #DEFINE GENERIC_EXECUTE 0x20000000 18 | #DEFINE GENERIC_ALL 0x10000000 19 | 20 | #DEFINE FILE_READ_DATA 0x0001 && file & pipe 21 | #DEFINE FILE_LIST_DIRECTORY 0x0001 && directory 22 | 23 | #DEFINE FILE_WRITE_DATA 0x0002 && file & pipe 24 | #DEFINE FILE_ADD_FILE 0x0002 && directory 25 | 26 | #DEFINE FILE_APPEND_DATA 0x0004 && file 27 | #DEFINE FILE_ADD_SUBDIRECTORY 0x0004 && directory 28 | #DEFINE FILE_CREATE_PIPE_INSTANCE 0x0004 && named pipe 29 | 30 | #DEFINE FILE_READ_EA 0x0008 && file & directory 31 | #DEFINE FILE_WRITE_EA 0x0010 && file & directory 32 | #DEFINE FILE_EXECUTE 0x0020 && file 33 | #DEFINE FILE_TRAVERSE 0x0020 && directory 34 | #DEFINE FILE_DELETE_CHILD 0x0040 && directory 35 | #DEFINE FILE_READ_ATTRIBUTES 0x0080 && all 36 | #DEFINE FILE_WRITE_ATTRIBUTES 0x0100 && all 37 | 38 | && error codes 39 | 40 | #DEFINE NO_ERROR 0 41 | #DEFINE ERROR_SUCCESS 0 42 | #DEFINE ERROR_INVALID_PARAMETER 87 43 | #DEFINE ERROR_INSUFFICIENT_BUFFER 122 44 | #DEFINE ERROR_BUFFER_OVERFLOW 111 45 | #DEFINE ERROR_NOT_ENOUGH_MEMORY 8 46 | #DEFINE ERROR_NO_DATA 232 47 | #DEFINE ERROR_NOT_SUPPORTED 50 48 | #DEFINE INVALID_HANDLE_VALUE -1 49 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2c64.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | C:\Program Files\Microsoft Visual Foxpro Advanced\VFPA.EXE 5 | WindowsLocalDebugger 6 | 7 | 8 | C:\Program Files\Microsoft Visual Foxpro Advanced\VFPA.EXE 9 | WindowsLocalDebugger 10 | 11 | 12 | C:\Program Files\Microsoft Visual Foxpro Advanced\VFPA.EXE 13 | WindowsLocalDebugger 14 | 15 | 16 | C:\Program Files\Microsoft Visual Foxpro Advanced\VFPA.EXE 17 | WindowsLocalDebugger 18 | 19 | 20 | C:\Program Files %28x86%29\Microsoft Visual FoxPro 9\vfp9.exe 21 | WindowsLocalDebugger 22 | 23 | 24 | C:\Program Files %28x86%29\Microsoft Visual FoxPro 9\vfp9.exe 25 | WindowsLocalDebugger 26 | 27 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114tyno.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Common dialogs 7 | 8 | 9 | 14 |
15 |

16 | Some common dialogs.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
GetOpenFileNameExCreates an Open dialog box that lets the user specify the drive, directory, and the name of a file or set of files to be opened.
GetSaveFileNameExCreates a Save dialog box that lets the user specify the drive, directory, and name of a file to save.
MessageBoxExCreates, displays, and operates a message box. The message box contains application-defined message text and title, any icon, and any combination of predefined push buttons.
SHBrowseFolderDisplays a dialog box that enables the user to select a Shell folder.
26 | 27 |
28 | 31 | 32 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2c32.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe 5 | WindowsLocalDebugger 6 | 7 | 8 | C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe 9 | WindowsLocalDebugger 10 | 11 | 12 | C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe 13 | WindowsLocalDebugger 14 | 15 | 16 | C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe 17 | WindowsLocalDebugger 18 | 19 | 20 | C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe 21 | WindowsLocalDebugger 22 | 23 | 24 | C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe 25 | WindowsLocalDebugger 26 | 27 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/getwindowtextex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GetWindowTextEx 7 | 8 | 9 | 14 |
15 |

Retrieves the text corresponing to a window.

16 | 17 |
GetWindowTextEx(nHwnd)
18 |

Parameters

19 |
nHwnd
20 |

A handle to a window.

21 |
22 |

Return Value

23 |

The caption of the window.

24 | 25 |

See Also

26 |

Reference

27 |

AWindowProps
28 | AWindows
29 | AWindowsEx
30 | CenterWindowEx
31 | GetWindowRectEx
32 |

33 |

Used WinApi functions

34 |

SendMessageTimeout

35 | 36 | 37 |
38 | 41 | 42 | -------------------------------------------------------------------------------- /vfpsrvhost/vfpsrvhost.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Header Files 28 | 29 | 30 | Header Files 31 | 32 | 33 | Header Files 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | 43 | 44 | Resource Files 45 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/decimals.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Decimals 7 | 8 | 9 | 14 |
15 |

Retrieves the number of decimal places of a numeric value.

16 | 17 |
Decimals(nValue)
18 |

Parameters

19 |
nValue
20 |

A numeric value.

21 |
22 |

Return Value

23 |

Returns the number of digits after the decimal point.

24 | 25 |

See Also

26 |

Reference

27 |

AFontInfo
28 | ASplitStr
29 | GetCursorPosEx
30 | Int64_Add
31 | Int64_Div
32 | Int64_Mod
33 | Int64_Mul
34 | Int64_Sub
35 |

36 | 37 | 38 |
39 | 42 | 43 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114rpjw.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Printer information 7 | 8 | 9 | 14 |
15 |

16 | Provide information about printers.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
APaperSizesStores information about the supported paper sizes into an array.
APrinterFormsStores information about the forms supported by the specified printer into an array.
APrintersExStores information about available printers, print servers, domains, or print providers into an array.
APrinterTraysStores information about the available paper bins of a printer into an array.
APrintJobsStores information about a specified set of print jobs for a specified printer into an array.
27 | 28 |
29 | 32 | 33 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114sakk.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Process information 7 | 8 | 9 | 14 |
15 |

16 | Provides information about processes running on the system.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
AHeapBlocksStores information about the blocks of a heap that has been allocated by a process into an array.
AProcessesStores information about the processes currently running on the system into an array.
AProcessHeapsStores information about the heaps of a process into an array.
AProcessModulesStores information about the modules (DLL's) loaded by a process into an array.
AProcessThreadsStores information about threads of a process into an array.
27 | 28 |
29 | 32 | 33 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33213e2eb.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Window information 7 | 8 | 9 | 14 |
15 |

16 | Retrieve information about windows.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
AWindowPropsStores information about the entries in the property list of a window into an array.
AWindowsStores window handles (HWND's) into an array.
AWindowsExStores information about windows into an array.
CenterWindowExCenters a window either in a specific window, it's parent window or on the desktop.
GetWindowRectExRetrieves the dimensions of the bounding rectangle of the specified window.
GetWindowTextExRetrieves the text corresponing to a window.
28 | 29 |
30 | 33 | 34 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/getsystemdirectoryex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GetSystemDirectoryEx 7 | 8 | 9 | 14 |
15 |

Retrieves the path of the windows system directory.

16 | 17 |
GetSystemDirectoryEx()
18 |

Return Value

19 |

The system directory.

20 | 21 |

See Also

22 |

Reference

23 |

ADesktopArea
24 | ADesktops
25 | ADisplayDevices
26 | AResolutions
27 | AWindowStations
28 | ExpandEnvironmentStringsEx
29 | GetLocaleInfoEx
30 | GetWindowsDirectoryEx
31 | OsEx
32 |

33 |

Used WinApi functions

34 |

GetSystemDirectory

35 | 36 | 37 |
38 | 41 | 42 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/getwindowsdirectoryex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GetWindowsDirectoryEx 7 | 8 | 9 | 14 |
15 |

Retrieves the path of the Windows directory.

16 | 17 |
GetWindowsDirectoryEx()
18 |

Return Value

19 |

The windows directory.

20 | 21 |

See Also

22 |

Reference

23 |

ADesktopArea
24 | ADesktops
25 | ADisplayDevices
26 | AResolutions
27 | AWindowStations
28 | ExpandEnvironmentStringsEx
29 | GetLocaleInfoEx
30 | GetSystemDirectoryEx
31 | OsEx
32 |

33 |

Used WinApi functions

34 |

GetWindowsDirectory

35 | 36 | 37 |
38 | 41 | 42 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/utc2dt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | UTC2DT 7 | 8 | 9 | 14 |
15 |

Converts a datetime value from UTC to the local timezone.

16 | 17 |
UTC2DT(tTime)
18 |

Parameters

19 |
tTime
20 |

The datetime value to convert.

21 |
22 |

Return Value

23 |

Datetime.

24 | 25 |

See Also

26 |

Reference

27 |

ATimeZones
28 | Double2DT
29 | DT2Double
30 | DT2FT
31 | DT2ST
32 | DT2Timet
33 | DT2UTC
34 | FT2DT
35 | GetSystemTimeEx
36 | SetSystemTimeEx
37 | ST2DT
38 | Timet2DT
39 |

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32/cparser/main.c: -------------------------------------------------------------------------------- 1 | #include "standard.h" 2 | 3 | extern int yydebug; 4 | extern int yyparse(); 5 | 6 | extern int cclex(); 7 | extern FILE *ccin, *ccout; 8 | extern FILE *pTrace; 9 | 10 | extern int delex(); 11 | extern FILE *dein, *deout; 12 | 13 | int _stdcall DllMain(int hModule, unsigned long nReason, void* cSomeThing) 14 | { 15 | return 1; 16 | } 17 | 18 | int _stdcall start_parse(char *pInput) 19 | { 20 | int nRetVal; 21 | 22 | yyin = fopen(pInput, "r"); 23 | 24 | yyrestart(yyin); // needs to be here for reentrency support after an parsing error (resets the lexer) 25 | gnTypeFlag = 1; // just for safety .. 26 | 27 | #ifdef _DEBUG 28 | pTrace = fopen("c:\\tracefile.txt","w"); 29 | #endif 30 | 31 | if (!yyin) 32 | return -1; 33 | 34 | #ifdef _DEBUG 35 | yydebug = 1; 36 | #endif 37 | 38 | gnLineNo = 1; 39 | 40 | nRetVal = yyparse(); 41 | 42 | fclose(yyin); 43 | 44 | #ifdef _DEBUG 45 | fclose(pTrace); 46 | #endif 47 | 48 | return nRetVal; 49 | } 50 | 51 | int _stdcall remove_comments(char *pInput, char* pOutput) 52 | { 53 | int nRetVal; 54 | 55 | ccin = fopen(pInput, "r"); 56 | 57 | if (!ccin) 58 | return -1; 59 | 60 | ccout = fopen(pOutput,"w"); 61 | 62 | if (!ccout) 63 | { 64 | fclose(ccin); 65 | return -1; 66 | } 67 | 68 | nRetVal = cclex(); 69 | 70 | fclose(ccin); 71 | fclose(ccout); 72 | 73 | return nRetVal; 74 | } 75 | 76 | int _stdcall extract_defines(char *pInput, char* pOutput) 77 | { 78 | int nRetVal; 79 | 80 | dein = fopen(pInput, "r"); 81 | 82 | if (!dein) 83 | return -1; 84 | 85 | deout = fopen(pOutput,"w"); 86 | 87 | if (!deout) 88 | { 89 | fclose(dein); 90 | return -1; 91 | } 92 | 93 | nRetVal = delex(); 94 | 95 | fclose(dein); 96 | fclose(deout); 97 | 98 | return nRetVal; 99 | } 100 | 101 | void _stdcall debug_entry() 102 | { 103 | char pBuffer[256]; 104 | int nDummy = 11; 105 | sprintf(pBuffer,"hello C %d",nDummy); 106 | } -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2cnetapi.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CNETAPI_H__ 2 | #define _VFP2CNETAPI_H__ 3 | 4 | #include "vfp2cutil.h" 5 | #include 6 | 7 | const int NETAPI_INFO_SIZE = 1024; 8 | const int NETAPI_BUFFER_SIZE = 8192; 9 | 10 | // typedef's for runtime dynamic linking 11 | typedef NET_API_STATUS (_stdcall *PNETAPIBUFFERALLOCATE)(DWORD,LPVOID*); // NetApiBufferAllocate 12 | typedef NET_API_STATUS (_stdcall *PNETAPIBUFFERFREE)(LPVOID); // NetApiBufferFree 13 | typedef NET_API_STATUS (_stdcall *PNETAPIBUFFERREALLOCATE)(LPVOID,DWORD,LPVOID*); // NetApiBufferReallocate 14 | typedef NET_API_STATUS (_stdcall *PNETAPIBUFFERSIZE)(LPVOID,LPDWORD); // NetApiBufferSize 15 | typedef NET_API_STATUS (_stdcall *PNETFILEENUM)(LPWSTR,LPWSTR,LPWSTR,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,PDWORD_PTR); // NetFileEnum 16 | typedef NET_API_STATUS (_stdcall *PNETREMOTETOD)(LPCWSTR,LPBYTE*); // NetRemoteTOD 17 | typedef NET_API_STATUS (_stdcall *PNETSERVERENUM)(LPCWSTR, DWORD, LPBYTE *, DWORD, LPDWORD, LPDWORD, DWORD, LPCWSTR, LPDWORD); // NetServerEnum 18 | 19 | class NetApiBuffer 20 | { 21 | public: 22 | NetApiBuffer() : m_Buffer(0) {} 23 | ~NetApiBuffer(); 24 | 25 | operator LPBYTE() { return m_Buffer; } 26 | operator LPBYTE*() { return &m_Buffer; } 27 | operator LPTIME_OF_DAY_INFO() { return reinterpret_cast(m_Buffer); } 28 | 29 | private: 30 | LPBYTE m_Buffer; 31 | }; 32 | 33 | typedef enum TimeZone 34 | { 35 | UTC = 1, 36 | LocalTimeZone, 37 | ServerTimeZone 38 | } TimeZone; 39 | 40 | #ifdef __cplusplus 41 | extern "C" { 42 | #endif 43 | 44 | // function forward definitions 45 | int _stdcall VFP2C_Init_Netapi(); 46 | 47 | void _fastcall ANetUsers(ParamBlkEx& parm); 48 | void _fastcall ANetFiles(ParamBlkEx& parm); 49 | void _fastcall ANetServers(ParamBlkEx& parm); 50 | void _fastcall GetServerTime(ParamBlkEx& parm); 51 | 52 | double _stdcall TimeOfDayInfoToDateTime(LPTIME_OF_DAY_INFO pTimeOfDay, TimeZone eTargetTimeZone); 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif // end of extern "C" 57 | 58 | #endif // _VFP2CNETAPI_H__ -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/dt2utc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DT2UTC 7 | 8 | 9 | 14 |
15 |

Converts a datetime value of the current active timezone into a UTC datetime.

16 | 17 |
DT2UTC(tTime)
18 |

Parameters

19 |
tTime
20 |

A datetime value.

21 |
22 |

Return Value

23 |

The UTC datetime value.

24 | 25 |

See Also

26 |

Reference

27 |

ATimeZones
28 | Double2DT
29 | DT2Double
30 | DT2FT
31 | DT2ST
32 | DT2Timet
33 | FT2DT
34 | GetSystemTimeEx
35 | SetSystemTimeEx
36 | ST2DT
37 | Timet2DT
38 | UTC2DT
39 |

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/double2dt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Double2DT 7 | 8 | 9 | 14 |
15 |

Converts a double (numeric) value into a datetime.

16 | 17 |
Double2DT(nValue)
18 |

Parameters

19 |
nValue
20 |

A numeric value.

21 |
22 |

Return Value

23 |

The datetime value represented by the passed double value.

24 | 25 |

See Also

26 |

Reference

27 |

ATimeZones
28 | DT2Double
29 | DT2FT
30 | DT2ST
31 | DT2Timet
32 | DT2UTC
33 | FT2DT
34 | GetSystemTimeEx
35 | SetSystemTimeEx
36 | ST2DT
37 | Timet2DT
38 | UTC2DT
39 |

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/dt2double.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DT2Double 7 | 8 | 9 | 14 |
15 |

Converts a datetime value into a double (numeric) value.

16 | 17 |
DT2Double(tTime)
18 |

Parameters

19 |
tTime
20 |

A datetime value.

21 |
22 |

Return Value

23 |

The double value which represents the passed in Datetime.

24 | 25 |

See Also

26 |

Reference

27 |

ATimeZones
28 | Double2DT
29 | DT2FT
30 | DT2ST
31 | DT2Timet
32 | DT2UTC
33 | FT2DT
34 | GetSystemTimeEx
35 | SetSystemTimeEx
36 | ST2DT
37 | Timet2DT
38 | UTC2DT
39 |

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32examples/shellitem.prg: -------------------------------------------------------------------------------- 1 | #INCLUDE vfp2c.h 2 | 3 | LOCAL lcPath 4 | m.lcPath = FULLPATH(JUSTPATH(SYS(16))) 5 | CD (m.lcPath) 6 | 7 | _SCREEN.Cls() 8 | 9 | IF TYPE('_WIN64') = 'L' AND _WIN64 10 | SET LIBRARY TO vfp2c64.fll ADDITIVE 11 | ELSE 12 | SET LIBRARY TO vfp2c32.fll ADDITIVE 13 | ENDIF 14 | 15 | LOCAL loItem, loDescList, loDesc, lcProperty, lPropValue, loStore 16 | 17 | m.loItem = SHGetShellItem(ADDBS(m.lcPath) + 'test2.jpg') 18 | m.loStore = m.loItem.GetPropertyStore() && IPropertyStore - when accessing more than one property using the store is more efficient, otherwise the file is opened and closed for each property access 19 | m.loDescList = m.loItem.GetPropertyDescriptionList() && IPropertyDescriptionList 20 | FOR EACH m.loDesc IN m.loDescList 21 | m.lcProperty = m.loDesc.GetCanonicalName() && m.loDesc -> IPropertyDescription 22 | m.lPropValue = m.loStore.GetValue(m.lcProperty) 23 | ? m.lcProperty, TYPE('m.lPropValue'), m.lPropValue 24 | ENDFOR 25 | 26 | LOCAL laLatitude, laLongitude 27 | m.laLatitude = m.loStore.GetValue('System.GPS.Latitude') 28 | ?m.laLatitude[1] 29 | ?m.laLatitude[2] 30 | ?m.laLatitude[3] 31 | m.laLongitude= m.loStore.GetValue('System.GPS.Longitude') 32 | ?m.laLongitude[1] 33 | ?m.laLongitude[2] 34 | ?m.laLongitude[3] 35 | ? m.loStore.GetValue('System.GPS.Altitude') 36 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLatitude') 37 | *!* ? lPropValue 38 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLatitudeDenominator') 39 | *!* ? lPropValue 40 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLatitudeNumerator') 41 | *!* ? lPropValue 42 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLatitudeRef') 43 | *!* ? lPropValue 44 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLongitude') 45 | *!* ? lPropValue 46 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLongitudeDenominator') 47 | *!* ? lPropValue 48 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLongitudeNumerator') 49 | *!* ? lPropValue 50 | *!* lPropValue = m.loItem.GetProperty('System.GPS.DestLongitudeRef') 51 | *!* ? lPropValue -------------------------------------------------------------------------------- /vfp2c32front/cparserh.h: -------------------------------------------------------------------------------- 1 | #INCLUDE vfp2c.h 2 | 3 | && possible type's of a parsenode (PARSENODE.nType) 4 | #DEFINE T_VOID 1 5 | #DEFINE T_CHAR 2 6 | #DEFINE T_WCHAR 3 7 | #DEFINE T_INT8 4 8 | #DEFINE T_SHORT 5 9 | #DEFINE T_INT 6 10 | #DEFINE T_INT64 7 11 | #DEFINE T_LONG 8 12 | #DEFINE T_UNSIGNED 9 13 | #DEFINE T_SIGNED 10 14 | #DEFINE T_FLOAT 11 15 | #DEFINE T_DOUBLE 12 16 | #DEFINE T_STRUCT 13 17 | #DEFINE T_UNION 14 18 | #DEFINE T_ENUM 15 19 | #DEFINE T_TYPENAME 16 20 | #DEFINE T_IDENTIFIER 17 21 | #DEFINE T_STRUCTDECLARATION 18 22 | #DEFINE T_STRUCTDECLARATOR 19 23 | #DEFINE T_TYPESPECIFIER 20 24 | #DEFINE T_SUBSCRIPT 21 25 | #DEFINE T_POINTER 22 26 | #DEFINE T_CONSTANT 23 27 | #DEFINE T_DECLARATION 24 28 | #DEFINE T_DECLARATOR 25 29 | 30 | && possible type specifier's 31 | && raising by a power of 2 to be able to BITOR several values to form a TypeMask 32 | #DEFINE TM_VOID 0x00000001 33 | #DEFINE TM_CHAR 0x00000002 34 | #DEFINE TM_WCHAR 0x00000004 35 | #DEFINE TM_INT8 0x00000008 36 | #DEFINE TM_SHORT 0x00000010 37 | #DEFINE TM_INT 0x00000020 38 | #DEFINE TM_INT64 0x00000040 39 | #DEFINE TM_LONG 0x00000080 40 | #DEFINE TM_FLOAT 0x00000100 41 | #DEFINE TM_DOUBLE 0x00000200 42 | #DEFINE TM_UNSIGNED 0x00000400 43 | #DEFINE TM_SIGNED 0x00000800 44 | #DEFINE TM_BOOL 0x00001000 45 | #DEFINE TM_ARRAYOF 0x00002000 46 | #DEFINE TM_TYPENAME 0x00004000 47 | #DEFINE TM_STRUCT 0x00008000 48 | #DEFINE TM_ENUM 0x00010000 49 | #DEFINE TM_BYTE 0x00020000 50 | 51 | && possible types of a typenode (TYPENODE.nType) 52 | #DEFINE TT_BASICTYPE 1 53 | #DEFINE TT_TYPEDEF 2 54 | #DEFINE TT_STRUCTHEADER 3 55 | #DEFINE TT_UNIONHEADER 4 56 | #DEFINE TT_ENUMHEADER 5 57 | #DEFINE TT_POINTERTO 6 58 | #DEFINE TT_ARRAYOF 7 59 | #DEFINE TT_STRUCTREF 8 60 | 61 | #DEFINE INVALIDTYPESPEC "Invalid type specifier combination detected" 62 | #DEFINE TYPENOTFOUND "Type not found" 63 | 64 | #DEFINE OFFSET1 CHR(9) 65 | #DEFINE OFFSET2 REPLICATE(CHR(9),2) 66 | #DEFINE OFFSET3 REPLICATE(CHR(9),3) 67 | #DEFINE OFFSET4 REPLICATE(CHR(9),4) 68 | #DEFINE OFFSET5 REPLICATE(CHR(9),5) -------------------------------------------------------------------------------- /vfp2c32/cparser/decltree.h: -------------------------------------------------------------------------------- 1 | #ifndef DECLTREE_INCLUDED 2 | #define DECLTREE_INCLUDED 3 | 4 | typedef struct _TYPEDEF 5 | { 6 | char *pTypename; 7 | struct _TYPEDEF *next; 8 | } STYPEDEF, *LPTYPEDEF; 9 | 10 | typedef enum _NODETYPE { 11 | T_VOID=1, T_CHAR, T_WCHAR, T_INT8, T_SHORT, T_INT, T_INT64, T_LONG, T_UNSIGNED, 12 | T_SIGNED, T_FLOAT, T_DOUBLE, T_STRUCT, T_UNION, T_ENUM, T_TYPENAME, 13 | T_IDENTIFIER, T_STRUCTDECLARATION, T_STRUCTDECLARATOR, T_TYPESPECIFIER, T_SUBSCRIPT, 14 | T_POINTER, T_CONSTANT, T_DECLARATION, T_DECLARATOR, T_ENUMERATOR 15 | } NODETYPE; 16 | 17 | typedef struct _PARSENODE { 18 | NODETYPE nType; 19 | union { 20 | struct _PARSENODE *link[3]; 21 | char *String; 22 | int Constant; 23 | } un; 24 | int nLineNo; 25 | } PARSENODE, *LPPARSENODE; 26 | 27 | // defines for easier access to _PARSENODE union members 28 | #define link1 un.link[0] 29 | #define link2 un.link[1] 30 | #define link3 un.link[2] 31 | 32 | typedef struct _PARSEDTYPES { 33 | struct _PARSENODE *node; 34 | struct _PARSEDTYPES *next; 35 | } PARSEDTYPES, *LPPARSEDTYPES; 36 | 37 | typedef struct _PARSEERRORS { 38 | char *pErrorMes; 39 | int nLineNo; 40 | struct _PARSEERRORS *next; 41 | } PARSEERRORS, *LPPARSEERRORS; 42 | 43 | // function prototypes 44 | LPTYPEDEF _stdcall add_knowntype(char *pTypename); 45 | void _stdcall remove_knowntype(char *pTypename); 46 | LPTYPEDEF _stdcall find_knowntype(char *pTypename); 47 | void _stdcall clear_knowntypes(); 48 | 49 | LPPARSENODE _stdcall create_pnode(NODETYPE nType, LPPARSENODE p1, LPPARSENODE p2, LPPARSENODE p3); 50 | LPPARSENODE _stdcall create_string(NODETYPE nType, char *pString); 51 | LPPARSENODE _stdcall create_const(int nConst); 52 | 53 | LPPARSEDTYPES _stdcall get_parsedtypehead(); 54 | void _stdcall add_parsedtype(LPPARSENODE pN); 55 | void _stdcall clear_parsedtypes(); 56 | void _stdcall free_pnode(LPPARSENODE pN); 57 | 58 | LPPARSEERRORS _stdcall get_parseerrorhead(); 59 | void _stdcall add_error(char *pMask, char *pValue, int nLineNo); 60 | void _stdcall clear_errors(); 61 | int _stdcall get_errorcount(); 62 | 63 | extern int nHandleError; 64 | 65 | #endif -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/releasepublicshadowobjreference.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ReleasePublicShadowObjReference 7 | 8 | 9 | 14 |
15 |

Releases the public variable referencing an object created with CreatePublicShadowObjReference.

16 | 17 |
ReleasePublicShadowObjReference(cVariableName)
18 |

Parameters

19 |
cVariableName
20 |

The name of the variable to release.

21 |
22 |

Return Value

23 |

Always .T.

24 | 25 |

See Also

26 |

Reference

27 |

AsyncWaitForObject
28 | BindEventsEx
29 | CancelWaitForObject
30 | CreateCallbackFunc
31 | CreatePublicShadowObjReference
32 | DestroyCallbackFunc
33 | UnbindEventsEx
34 |

35 | 36 | 37 |
38 | 41 | 42 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/destroycallbackfunc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DestroyCallbackFunc 7 | 8 | 9 | 14 |
15 |

Releases the passed in C callback function.

16 | 17 |
DestroyCallbackFunc(nCallbackAddress)
18 |

Parameters

19 |
nCallbackAddress
20 |

A pointer to a C callback function returned from the CreateCallbackFunc function.

21 |
22 |

Return Value

23 |

.T. if the callback function was released, .F. if it was not found.

24 | 25 |

See Also

26 |

Reference

27 |

AsyncWaitForObject
28 | BindEventsEx
29 | CancelWaitForObject
30 | CreateCallbackFunc
31 | CreatePublicShadowObjReference
32 | ReleasePublicShadowObjReference
33 | UnbindEventsEx
34 |

35 | 36 | 37 |
38 | 41 | 42 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/group_33114nmms.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Miscellaneous 7 | 8 | 9 | 14 |
15 |

16 | Various usefull functions.

17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
AFontInfoRetrieves information about the included fonts from a true type font file into an object.
ASplitStrSplits a string based on a supplied length into an array.
DecimalsRetrieves the number of decimal places of a numeric value.
GetCursorPosExRetrieves the position of the mouse cursor.
Int64_AddAdds 64-bit integers.
Int64_DivDivides 64-bit integers.
Int64_ModDivides one 64-bit integer by another and returns the remainder.
Int64_MulMultiplies 64-bit integers.
Int64_SubSubtracts 64-bit integers.
31 | 32 |
33 | 36 | 37 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/avolumes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AVolumes 7 | 8 | 9 | 14 |
15 |

Stores the names of volumes on a computer into an array.

16 | 17 |
AVolumes(cArrayName)
18 |

Parameters

19 |
cArrayName
20 |
21 | 22 | 23 | 24 |
On return the array contains the following information.
ColumnContentDatatype
1A volume GUID path.C
25 |

Return Value

26 |

The number of volumes.

27 | 28 |

See Also

29 |

Reference

30 |

AVolumeInformation
31 | AVolumeMountPoints
32 | AVolumePaths
33 |

34 |

Used WinApi functions

35 |

FindFirstVolume
36 | FindNextVolume
37 | FindVolumeClose

38 | 39 | 40 |
41 | 44 | 45 | -------------------------------------------------------------------------------- /vfp2c32examples/apihelper.prg: -------------------------------------------------------------------------------- 1 | && some DLL helper functions 2 | DECLARE INTEGER LoadLibraryA IN kernel32.dll AS LoadLibrary STRING lcModule 3 | DECLARE INTEGER GetModuleHandleA IN kernel32.dll AS GetModuleHandle STRING lcModule 4 | DECLARE INTEGER GetProcAddress IN kernel32.dll INTEGER hModule, STRING lcFunction 5 | DECLARE INTEGER FreeLibrary IN kernel32.dll INTEGER hModule 6 | 7 | SET PROCEDURE TO apihelper ADDITIVE 8 | 9 | && determine if the function passed in 'lcFunction' 10 | && is exported by the DLL passed in 'lcModule' 11 | && Returs: 12 | && -1 if the DLL can't be found 13 | && 0 if the function is not exported 14 | && > 0 if the function is exported 15 | FUNCTION IsFuncExported(lcModule,lcFunction) 16 | LOCAL lnMHandle, lnFuncAddr, lbLoaded 17 | 18 | lnMHandle = GetModuleHandle(lcModule) 19 | IF lnMHandle = 0 20 | lnMHandle = LoadLibrary(lcModule) 21 | IF lnMHandle = 0 22 | RETURN -1 23 | ENDIF 24 | lbLoaded = .T. 25 | ENDIF 26 | 27 | lnFuncAddr = GetProcAddress(lnMHandle,lcFunction) 28 | 29 | IF lbLoaded 30 | FreeLibrary(lnMHandle) 31 | ENDIF 32 | 33 | RETURN lnFuncAddr 34 | ENDFUNC 35 | 36 | && is a given DLL actually loaded into the process 37 | && return .T. or .F. respectivly 38 | FUNCTION IsModuleLoaded(lcModule) 39 | RETURN GetModuleHandle(lcModule) != 0 40 | ENDFUNC 41 | 42 | && are there 2 entry points for the function: 43 | && one ANSI version and one UNICODE version ? 44 | && returns: 45 | && -1 if the DLL can't be found 46 | && 0 if the function is not Ansi & Unicode 47 | && 1 if it is Ansi & Unicode 48 | FUNCTION IsFuncAnsiUnicode(lcModule,lcFunction) 49 | LOCAL lnMHandle, lnAnsiAddr, lnUnicodeAddr, lbLoaded 50 | 51 | lnMHandle = GetModuleHandle(lcModule) 52 | IF lnMHandle = 0 53 | lnMHandle = LoadLibrary(lcModule) 54 | IF lnMHandle = 0 55 | RETURN -1 56 | ENDIF 57 | lbLoaded = .T. 58 | ENDIF 59 | 60 | lnAnsiAddr = GetProcAddress(lnMHandle,lcFunction+"A") 61 | lnUnicodeAddr = GetProcAddress(lnMHandle,lcFunction+"W") 62 | 63 | IF lbLoaded 64 | FreeLibrary(lnMHandle) 65 | ENDIF 66 | 67 | IF lnAnsiAddr > 0 AND lnUnicodeAddr > 0 68 | RETURN 1 69 | ELSE 70 | RETURN 0 71 | ENDIF 72 | 73 | ENDFUNC 74 | 75 | 76 | -------------------------------------------------------------------------------- /vfp2c32help/updateapilinks.prg: -------------------------------------------------------------------------------- 1 | LOCAL lcPath 2 | m.lcPath = ADDBS(JUSTPATH(FULLPATH(SYS(16)))) 3 | CD (m.lcPath) 4 | 5 | SET CLASSLIB TO (m.lcPath + 'libcurl\libcurl.vcx') ADDITIVE 6 | 7 | IF !USED('ap') 8 | USE apilinks ALIAS ap IN 0 AGAIN SHARED 9 | ENDIF 10 | 11 | LOCAL laTmp[1], laFuncs[1], xj, xo, lnCount 12 | SELECT apifuncs FROM vfp2cintelli WHERE !EMPTY(apifuncs) INTO ARRAY laTmp 13 | 14 | FOR m.xj = 1 TO ALEN(m.laTmp) 15 | 16 | m.lnCount = ALINES(m.laFuncs, m.laTmp[m.xj], 1+4) 17 | FOR m.xo = 1 TO m.lnCount 18 | m.laFuncs[m.xo] = ALLTRIM(GETWORDNUM(m.laFuncs[m.xo], 1)) 19 | 20 | SELECT ap 21 | LOCATE FOR ALLTRIM(ap.apifunc) == m.laFuncs[m.xo] 22 | IF !FOUND() 23 | INSERT INTO ap VALUES (m.laFuncs[m.xo], '', 1, .T.) 24 | ENDIF 25 | ENDFOR 26 | 27 | ENDFOR 28 | 29 | LOCAL loCurl, lcUrl, lcXml, lcLink, lcEntry, lnCount, xj, lcSearch 30 | loCurl = NEWOBJECT('libcurl') 31 | 32 | lcAppId = 'QbjbLg7V34EMPEqKtMEcoeHrNcHAtuHbKsDYyf8UqFmOk6ZPJzUJzSa6vzwFJOYeWTE-' 33 | 34 | SELECT ap 35 | SCAN FOR EMPTY(ap.apilink) 36 | WAIT WINDOW 'Updating API Link ' + ALLTRIM(STR(RECNO())) NOWAIT NOCLEAR 37 | 38 | m.lcSearch = ALLTRIM(ap.apifunc) + ICASE(ap.type = 1, ' Function', ap.type = 2, ' Structure', ap.type = 3, ' Enumeration', ap.type = 4, ' Interface', '') 39 | m.lcUrl = 'http://boss.yahooapis.com/ysearch/web/v1/' + m.loCurl.CurlEasyEscape(["] + m.lcSearch + ["]) + '?appid=' + m.lcAppId + '&format=xml&sites=msdn.microsoft.com&style=raw' 40 | m.lcXml = m.loCurl.HttpDownloadString(m.lcUrl) 41 | 42 | && xml parsing for dummies, why throw an XML parser at it if it's that easy .... 43 | m.lnCount = OCCURS( '', lcXml) 44 | FOR m.xj = 1 TO m.lnCount 45 | 46 | m.lcEntry = STREXTRACT(m.lcXml, '', '', m.xj) 47 | m.lcLink = STREXTRACT(m.lcEntry, '', '') 48 | IF LEFT(m.lcLink, LEN('http://msdn.microsoft.com/en-us/library/')) == 'http://msdn.microsoft.com/en-us/library/' 49 | REPLACE ap.apilink WITH m.lcLink IN ap 50 | EXIT 51 | ENDIF 52 | 53 | ENDFOR 54 | 55 | ENDSCAN 56 | 57 | loCurl = NULL 58 | 59 | USE IN SELECT('ap') 60 | USE IN SELECT('vfp2cintelli') 61 | RELEASE CLASSLIB libcurl 62 | 63 | WAIT WINDOW 'Updating API Links finished' -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2ciphelper.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CIPHELPER_H__ 2 | #define _VFP2CIPHELPER_H__ 3 | 4 | #include 5 | #include "vfp2chelpers.h" 6 | 7 | // Definition der IP-Optionenstruktur 8 | typedef struct tagIPINFO 9 | { 10 | BYTE bTimeToLive; // Time To Live 11 | BYTE bTypeOfService; // Type Of Service 12 | BYTE bIpFlags; // IP-Flags 13 | BYTE OptSize; // Size of options buffer 14 | BYTE *Options; // pointer to options buffer 15 | } IPINFO, *PIPINFO; 16 | 17 | // Definition der ICMP-Echo Antwortstruktur 18 | typedef struct tagICMPECHO 19 | { 20 | DWORD dwSource; // destination address 21 | DWORD dwStatus; // IP status 22 | DWORD dwRTTime; // Round Trip Time in milliseconds 23 | WORD wDataSize; // size of receive buffer 24 | WORD wReserved; 25 | void *pData; // pointer to receive data 26 | IPINFO ipInfo; // receive options 27 | } ICMPECHO, *LPICMPECHO; 28 | 29 | class IcmpFile 30 | { 31 | public: 32 | IcmpFile(); 33 | ~IcmpFile(); 34 | 35 | void SetOptions(BYTE nTTL, BYTE nTos, DWORD nTimeOut, WORD nDataSize, bool bDontFragment); 36 | bool Ping(long Ip); 37 | char* Address(); 38 | int RoundTripTime(); 39 | int Status(); 40 | bool ValidData(); 41 | 42 | private: 43 | HANDLE m_Handle; 44 | CBuffer m_Data; 45 | CBuffer m_Reply; 46 | LPICMPECHO m_pEcho; 47 | IPINFO m_IpOptions; 48 | DWORD m_ReplySize; 49 | DWORD m_TimeOut; 50 | WORD m_DataSize; 51 | }; 52 | 53 | #ifdef __cplusplus 54 | extern "C" { 55 | #endif 56 | 57 | typedef DWORD (_stdcall *PSENDARP)(ULONG, ULONG,PULONG, PULONG); // SendArp 58 | typedef HANDLE (_stdcall *PICMPCREATEFILE)(void); // IcmpCreateFile 59 | typedef BOOL (_stdcall *PICMPCLOSEHANDLE)(HANDLE); // IcmpCloseHandle 60 | typedef DWORD (_stdcall *PICMPSENDECHO)(HANDLE, long, LPVOID, WORD, PIPINFO, LPVOID, DWORD, DWORD); 61 | 62 | const int MAC_ADDRESS_LEN = 17; // FF:00:FF:00:FF:00 63 | 64 | int _stdcall VFP2C_Init_IpHelper(); 65 | 66 | void _fastcall Ip2MacAddress(ParamBlkEx& parm); 67 | void _fastcall IcmpPing(ParamBlkEx& parm); 68 | 69 | void _stdcall Binary2Mac(char *pBuffer, unsigned char *pBinMac); 70 | 71 | #ifdef __cplusplus 72 | } // extern C 73 | #endif 74 | 75 | #endif // _VFP2CIPHELPER_H__ -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/aborturldownloadtofileex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AbortUrlDownloadToFileEx 7 | 8 | 9 | 14 |
15 |

Aborts an asynchronous download started with UrlDownloadToFileEx.

16 | 17 |
AbortUrlDownloadToFileEx(nThreadHandle)
18 |

Parameters

19 |
nThreadHandle
20 |

The thread handle returned from UrlDownloadToFileEx.

21 |
22 |

Return Value

23 |

.T. if the thread which executes UrlDownloadToFile was stopped, .F. otherwise.

24 | 25 |

See Also

26 |

Reference

27 |

AIpAddresses
28 | ANetFiles
29 | ANetServers
30 | GetServerTime
31 | IcmpPing
32 | Ip2MacAddress
33 | ResolveHostToIp
34 | SyncToSNTPServer
35 | UrlDownloadToFileEx
36 |

37 | 38 | 39 |
40 | 43 | 44 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/amax.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AMax 7 | 8 | 9 | 14 |
15 |

Retrieves the maximum of values in an array.

16 | 17 | 18 |

Parameters

19 |
@aArray
20 |

The array by reference on which the compution should be executed.

21 |
22 |
nDimension (optional)
23 |

default = 1
24 |
25 | The dimension of the array on which the computation should be executed.
26 | If you pass 0 in this parameter the computation is executed on all elements of the array.

27 |
28 |

Return Value

29 |

The maximum of the values contained in the passed in array or .NULL. if all rows were .NULL.

30 | 31 |

Remarks

32 |

Valid types of the values in the array: numeric (N), currency (Y), date (D) or datetime (T).
33 | All values in the array (dimension) on which the computation takes place must be of the same type,
34 | otherwise "invalid arguments" error is risen.

35 | 36 |

See Also

37 |

Reference

38 |

AAverage
39 | AMin
40 | ASum
41 |

42 | 43 | 44 |
45 | 48 | 49 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/amin.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AMin 7 | 8 | 9 | 14 |
15 |

Retrieves the minimum of values in an array.

16 | 17 | 18 |

Parameters

19 |
@aArray
20 |

The array by reference on which the compution should be executed.

21 |
22 |
nDimension (optional)
23 |

default = 1
24 |
25 | The dimension of the array on which the computation should be executed.
26 | If you pass 0 in this parameter the computation is executed on all elements of the array.

27 |
28 |

Return Value

29 |

The minimum of the values contained in the passed in array or .NULL. if all rows were .NULL.

30 | 31 |

Remarks

32 |

Valid types of the values in the array: numeric (N), currency (Y), date (D) or datetime (T).
33 | All values in the array (dimension) on which the computation takes place must be of the same type,
34 | otherwise "invalid arguments" error is risen.

35 | 36 |

See Also

37 |

Reference

38 |

AAverage
39 | AMax
40 | ASum
41 |

42 | 43 | 44 |
45 | 48 | 49 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/createpublicshadowobjreference.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CreatePublicShadowObjReference 7 | 8 | 9 | 14 |
15 |

Creates a new public variable referencing the supplied object without incrementing the objects reference count.

16 | 17 |
CreatePublicShadowObjReference(cVariableName, oObject)
18 |

Parameters

19 |
cVariableName
20 |

The name of the public variable that should be created.

21 |
22 |
oObject.
23 |

The object which the public variable should reference.

24 |
25 |

Return Value

26 |

Always .T.

27 | 28 |

See Also

29 |

Reference

30 |

AsyncWaitForObject
31 | BindEventsEx
32 | CancelWaitForObject
33 | CreateCallbackFunc
34 | DestroyCallbackFunc
35 | ReleasePublicShadowObjReference
36 | UnbindEventsEx
37 |

38 | 39 | 40 |
41 | 44 | 45 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/getiunknown.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GetIUnknown 7 | 8 | 9 | 14 |
15 |

Retrieves a pointer to the IUnknown interface of a COM object.

16 | 17 |
GetIUnknown(cObjectName)
18 |

Parameters

19 |
cObjectName
20 |

The name of the variable referencing a COM object as a string for which to retrieve an IUnknown pointer.

21 |
22 |

Return Value

23 |

A pointer (numeric) to the IUnknown interface of the passed in COM object.

24 | 25 |

See Also

26 |

Reference

27 |

CLSIDFromProgID
28 | CLSIDFromString
29 | CreateGuid
30 | CreateThreadObject
31 | IsEqualGuid
32 | ProgIDFromCLSID
33 | RegisterActiveObject
34 | RegisterObjectAsFileMoniker
35 | RevokeActiveObject
36 | StringFromCLSID
37 |

38 | 39 | 40 |
41 | 44 | 45 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2cregistry.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CREGISTRY_H__ 2 | #define _VFP2CREGISTRY_H__ 3 | 4 | #include "vfp2ccppapi.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | // custom defines for Registry key/value enumeration 11 | const int REG_ENUMCLASSNAME = 1; 12 | const int REG_ENUMWRITETIME = 2; 13 | const int REG_ENUMTYPE = 1; 14 | const int REG_ENUMVALUE = 2; 15 | 16 | const int REG_DELETE_NORMAL = 1; 17 | const int REG_DELETE_SHELL = 2; 18 | 19 | const unsigned int REG_INTEGER = 12; 20 | const unsigned int REG_DOUBLE = 13; 21 | const unsigned int REG_DATE = 14; 22 | const unsigned int REG_DATETIME = 15; 23 | const unsigned int REG_LOGICAL = 16; 24 | const unsigned int REG_MONEY = 17; 25 | 26 | inline bool REG_KEY_PREDEFINDED(HKEY hKey) { return hKey == HKEY_CLASSES_ROOT || hKey == HKEY_CURRENT_CONFIG || hKey == HKEY_CURRENT_USER || 27 | hKey == HKEY_LOCAL_MACHINE || hKey == HKEY_USERS || hKey == HKEY_DYN_DATA; } 28 | inline bool REG_KEY_STRING(DWORD hKeyType) { return hKeyType == REG_SZ || hKeyType == REG_MULTI_SZ || hKeyType == REG_EXPAND_SZ; } 29 | inline bool REG_KEY_CHARACTER(DWORD hKeyType) { return hKeyType == REG_SZ || hKeyType == REG_MULTI_SZ || hKeyType == REG_EXPAND_SZ || hKeyType == REG_BINARY; } 30 | inline bool REG_KEY_NUMERIC(DWORD hKeyType) { return hKeyType == REG_DWORD || hKeyType == REG_QWORD || hKeyType == REG_INTEGER || hKeyType == REG_DOUBLE; } 31 | 32 | void _fastcall CreateRegistryKey(ParamBlkEx& parm); 33 | void _fastcall DeleteRegistryKey(ParamBlkEx& parm); 34 | void _fastcall OpenRegistryKey(ParamBlkEx& parm); 35 | void _fastcall CloseRegistryKey(ParamBlkEx& parm); 36 | void _fastcall ReadRegistryKey(ParamBlkEx& parm); 37 | void _fastcall WriteRegistryKey(ParamBlkEx& parm); 38 | void _fastcall ARegistryKeys(ParamBlkEx& parm); 39 | void _fastcall ARegistryValues(ParamBlkEx& parm); 40 | void _fastcall RegistryValuesToObject(ParamBlkEx& parm); 41 | void _fastcall RegistryHiveToObject(ParamBlkEx& parm); 42 | #pragma warning(disable : 4290) // disable warning 4290 - VC++ doesn't implement throw ... 43 | void _stdcall RegistryHiveSubroutine(HKEY hKey, char *pKey, FoxObject& pObject) throw(int); 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif // end of extern "C" 48 | 49 | #endif // _VFP2CREGISTRY_H__ -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/compactmem.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CompactMem 7 | 8 | 9 | 14 |
15 |

Returns the size of the largest committed free block in the library specific heap.

16 | 17 |
CompactMem()
18 |

Return Value

19 |

Returns the size of the largest committed free block in the heap.

20 | 21 |

See Also

22 |

Reference

23 |

AllocHGlobal
24 | AllocMem
25 | AllocMemTo
26 | AMemBlocks
27 | FreeHGlobal
28 | FreeMem
29 | FreePMem
30 | FreeRefArray
31 | LockHGlobal
32 | ReAllocHGlobal
33 | ReAllocMem
34 | SizeOfMem
35 | UnlockHGlobal
36 | ValidateMem
37 |

38 |

Used WinApi functions

39 |

HeapCompact

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/ip2macaddress.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Ip2MacAddress 7 | 8 | 9 | 14 |
15 |

Returns the MAC address for a given IP address.

16 | 17 |
Ip2MacAddress(cIP)
18 |

Parameters

19 |
cIP
20 |

The IP address for which to retrieve the MAC address.

21 |
22 |

Return Value

23 |

The MAC address (string) of the passed IP address.

24 | 25 |

See Also

26 |

Reference

27 |

AbortUrlDownloadToFileEx
28 | AIpAddresses
29 | ANetFiles
30 | ANetServers
31 | GetServerTime
32 | IcmpPing
33 | ResolveHostToIp
34 | SyncToSNTPServer
35 | UrlDownloadToFileEx
36 |

37 |

Used WinApi functions

38 |

SendARP
39 | inet_addr

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/cancelwaitforobject.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CancelWaitForObject 7 | 8 | 9 | 14 |
15 |

Stops the thread which waits for a HANDLE to be signaled.

16 | 17 |
CancelWaitForObject(nThreadHandle)
18 |

Parameters

19 |
nThreadHandle
20 |

The thread handle returned from AsyncWaitForObject.

21 |
22 |

Return Value

23 |

.T. if the thread monitoring the handle was terminated, .F. otherwise.

24 | 25 |

See Also

26 |

Reference

27 |

AsyncWaitForObject
28 | BindEventsEx
29 | CreateCallbackFunc
30 | CreatePublicShadowObjReference
31 | DestroyCallbackFunc
32 | ReleasePublicShadowObjReference
33 | UnbindEventsEx
34 |

35 |

Used WinApi functions

36 |

SetEvent

37 | 38 | 39 |
40 | 43 | 44 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/aerrorex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AErrorEx 7 | 8 | 9 | 14 |
15 |

Stores information about the last error occured in the library into an array.

16 | 17 |
AErrorEx(cArrayName)
18 |

Parameters

19 |
cArrayname
20 |

The name of the array into which additional error information of the last FLL call is stored:
21 |

22 |

Note

23 |

If no error occurred, AERROREX( ) does not create the array. 24 |

25 |

26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
Structure of array.
ColumnContent
1error number of the last API call (GetLastError())
2name of the API function that reported the error
3error message
4ODBC State value (only set on ODBC related calls)
34 |

Return Value

35 |

The number of errors.

36 | 37 |

See Also

38 |

Reference

39 |

FormatMessageEx
40 | VFP2CSys
41 |

42 | 43 | 44 |
45 | 48 | 49 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/avolumepaths.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AVolumePaths 7 | 8 | 9 | 14 |
15 |

Stores the drive letters and volume GUID paths for the specified volume into an array.

16 | 17 |
AVolumePaths(cArrayName, cVolume)
18 |

Parameters

19 |
cArrayName
20 |
21 | 22 | 23 | 24 |
On return the array contains the following information.
ColumnContentDatatype
1A drive letter or volume GUID paths.C
25 |
cVolume
26 |

A volume GUID path for the volume.
27 | A list of volume GUID paths can be retrieved with AVolumes.

28 |
29 |

Return Value

30 |

The number of volume paths.

31 | 32 |

See Also

33 |

Reference

34 |

AVolumeInformation
35 | AVolumeMountPoints
36 | AVolumes
37 |

38 |

Used WinApi functions

39 |

GetVolumePathNamesForVolumeName

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfpexampleservice/servicebaseclass.prg: -------------------------------------------------------------------------------- 1 | #INCLUDE "foxpro.h" 2 | 3 | && base class for all services, just implements a common errorhandler that handles Win32Exceptions thrown by the classes in win32classes.prg, VFP2C32 errors and normal VFP errors 4 | DEFINE CLASS ServiceBaseclass AS Session OLEPUBLIC 5 | 6 | ThrowError_COMATTRIB = COMATTRIB_RESTRICTED && don't expose error event 7 | FUNCTION ThrowError(loExc) 8 | LOCAL lcError, lcMessage 9 | 10 | TRY 11 | 12 | DO CASE 13 | CASE VARTYPE(m.loExc.UserValue) = 'O' AND m.loExc.UserValue.Name = 'Win32Exception' 14 | m.lcError = 'Win32Exception' + CHR(10) + ; 15 | 'Error No : ' + TRANSFORM(m.loExc.UserValue.ErrorNo) + CHR(10) + ; 16 | 'Function : ' + m.loExc.UserValue.Details + CHR(10) + ; 17 | 'Program : ' + m.loExc.UserValue.Procedure + CHR(10) + ; 18 | 'LineNo: ' + TRANSFORM(m.loExc.UserValue.LineNo) + CHR(10) + ; 19 | 'StackTrace: ' + m.loExc.UserValue.StackTrace 20 | m.lcMessage = m.loExc.UserValue.Message 21 | 22 | CASE m.loExc.ErrorNo = 1098 23 | LOCAL laError[1] 24 | AERROREX('laError') 25 | m.lcError = 'Error No : ' + TRANSFORM(m.laError[1]) + CHR(10) + ; 26 | 'Function : ' + m.laError[2] + CHR(10) + ; 27 | 'LineNo: ' + + TRANSFORM(m.loExc.LineNo) 28 | m.lcMessage = m.laError[3] 29 | 30 | OTHERWISE 31 | m.lcError = 'Error No : ' + TRANSFORM(m.loExc.ErrorNo) + CHR(10) + ; 32 | 'LineContents : ' + m.loExc.LineContents + CHR(10) + ; 33 | 'LineNo: ' + + TRANSFORM(m.loExc.LineNo) + CHR(10) + ; 34 | 'Program : ' + m.loExc.Procedure + CHR(10) 35 | m.lcMessage = m.loExc.Message 36 | 37 | ENDCASE 38 | 39 | CATCH TO loExc2 40 | 41 | m.lcError = 'Error No : ' + TRANSFORM(m.loExc2.ErrorNo) + CHR(10) + ; 42 | 'LineContents : ' + m.loExc2.LineContents + CHR(10) + ; 43 | 'LineNo: ' + + TRANSFORM(m.loExc2.LineNo) + CHR(10) + ; 44 | 'Program : ' + m.loExc2.Procedure + CHR(10) 45 | m.lcMessage = m.loExc2.Message 46 | 47 | ENDTRY 48 | 49 | STRTOFILE(STRCONV(STRCONV(m.lcError + CHR(13) + m.lcMessage + CHR(13),1), 5), 'vfpsrvhost.log', 1) 50 | COMRETURNERROR(m.lcError, m.lcMessage) 51 | ENDFUNC 52 | 53 | ENDDEFINE -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/revokeactiveobject.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RevokeActiveObject 7 | 8 | 9 | 14 |
15 |

Unregisters an object from the running object table (ROT).

16 | 17 |
RevokeActiveObject(nObjectHandle)
18 |

Parameters

19 |
nObjectHandle
20 |

The numeric value returned by RegisterActiveObject.

21 |
22 |

Return Value

23 |

Always .T.

24 | 25 |

See Also

26 |

Reference

27 |

CLSIDFromProgID
28 | CLSIDFromString
29 | CreateGuid
30 | CreateThreadObject
31 | GetIUnknown
32 | IsEqualGuid
33 | ProgIDFromCLSID
34 | RegisterActiveObject
35 | RegisterObjectAsFileMoniker
36 | StringFromCLSID
37 |

38 |

Used WinApi functions

39 |

RevokeActiveObject

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32examples/memleaktest.prg: -------------------------------------------------------------------------------- 1 | && there are some debugging functions in the debug version (vfp2c32d.fll) that help to 2 | && test your converted C structs for memory leaks 3 | && since the conversion is done automatically there "normally" shouldn't be leaks 4 | && i'm not aware of any bugs in which the vfp2c32front.exe produces code that creates memory leaks .. 5 | && but since the whole thing is rather complex i've implemented these debugging functions 6 | 7 | #INCLUDE vfp2c.h 8 | CD (FULLPATH(JUSTPATH(SYS(16)))) 9 | 10 | IF TYPE('_WIN64') = 'L' AND _WIN64 11 | SET LIBRARY TO vfp2c64.fll ADDITIVE 12 | ELSE 13 | SET LIBRARY TO vfp2c32.fll ADDITIVE 14 | ENDIF 15 | 16 | && 1st step 17 | TRACKMEM(.T.) && enable memory allocation tracking in the library 18 | 19 | && 2nd step, create your struct, assign values to all fields and then release it .. 20 | LOCAL loStruct 21 | loStruct = CREATEOBJECT('TestStruct') 22 | loStruct.pField1 = "Hello memory leak :)" 23 | loStruct.nField2 = 345 24 | loStruct = .NULL. 25 | 26 | && 3rd step, call AMemLeaks 27 | IF AMEMLEAKS("laLeaks") > 0 28 | DISPLAY MEMORY LIKE laLeaks && we just leaked some memory ... 29 | ENDIF 30 | 31 | && 4th step, disable tracking again 32 | TRACKMEM(.F.) 33 | && TRACKMEM(.F.,.T.) disable allocation tracking & clear the tracking list 34 | 35 | SET LIBRARY TO 36 | 37 | DEFINE CLASS TestStruct AS Relation 38 | 39 | Address = 0 40 | SizeOf = 8 41 | Name = "TestStruct" 42 | && structure fields 43 | pField1 = .F. 44 | nField2 = .F. 45 | 46 | PROCEDURE Init() 47 | THIS.Address = AllocMem(THIS.SizeOf) 48 | IF THIS.Address = 0 49 | ERROR(43) 50 | RETURN .F. 51 | ENDIF 52 | ENDPROC 53 | 54 | PROCEDURE Destroy() 55 | && THIS.FreeMembers() commented out to produce a memory leak, normally this would release the memory for the "pField1" member 56 | FreeMem(THIS.Address) 57 | ENDPROC 58 | 59 | PROCEDURE FreeMembers() 60 | FreePMem(THIS.Address) 61 | ENDPROC 62 | 63 | PROCEDURE pField1_Access() 64 | RETURN ReadPCString(THIS.Address) 65 | ENDPROC 66 | 67 | PROCEDURE pField1_Assign(lnNewVal) 68 | WritePCString(THIS.Address,lnNewVal) 69 | ENDPROC 70 | 71 | PROCEDURE nFiedl2_Access() 72 | RETURN ReadInt(THIS.Address+4) 73 | ENDPROC 74 | 75 | PROCEDURE nFiedl2_Assign(lnNewVal) 76 | WriteInt(THIS.Address+4,lnNewVal) 77 | ENDPROC 78 | 79 | ENDDEFINE -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/timet2dt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Timet2DT 7 | 8 | 9 | 14 |
15 |

Converts a Time_t (Unix) timestamp into a datetime value.

16 | 17 |
Timet2DT(nTimestamp [, bToUTC])
18 |

Parameters

19 |
nTimestamp
20 |

A Time_t (UNIX) timestamp - a numeric value indicating the number of elapsed seconds since 1970/01/01.

21 |
22 |
bToUTC (optional)
23 |

default = .F.
24 |
25 | If .T. the returned DateTime will be in UTC, otherwise in the local timezone.

26 |
27 |

Return Value

28 |

Datetime.

29 | 30 |

See Also

31 |

Reference

32 |

ATimeZones
33 | Double2DT
34 | DT2Double
35 | DT2FT
36 | DT2ST
37 | DT2Timet
38 | DT2UTC
39 | FT2DT
40 | GetSystemTimeEx
41 | SetSystemTimeEx
42 | ST2DT
43 | UTC2DT
44 |

45 | 46 | 47 |
48 | 51 | 52 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/awindowprops.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AWindowProps 7 | 8 | 9 | 14 |
15 |

Stores information about the entries in the property list of a window into an array.

16 | 17 |
AWindowProps(cArrayName, nHwnd)
18 |

Parameters

19 |
cArrayName
20 |
21 | 22 | 23 | 24 | 25 |
On return the array contains the following information.
ColumnContentDatatype
1The property name.C
2A handle to the data.N
26 |
nHwnd
27 |

A handle to the window for which to retrieve the properties.

28 |
29 |

Return Value

30 |

The number of window properties.

31 | 32 |

See Also

33 |

Reference

34 |

AWindows
35 | AWindowsEx
36 | CenterWindowEx
37 | GetWindowRectEx
38 | GetWindowTextEx
39 |

40 |

Used WinApi functions

41 |

EnumPropsEx

42 | 43 | 44 |
45 | 48 | 49 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2curlmon.h: -------------------------------------------------------------------------------- 1 | #ifndef _THREADSAFE 2 | 3 | #ifndef _VFP2CINET_H__ 4 | #define _VFP2CINET_H__ 5 | 6 | #include "urlmon.h" 7 | #include "vfp2chelpers.h" 8 | 9 | const int BINDSTATUS_DOWNLOAD_FINISHED = 99; 10 | const int BINDSTATUS_DOWNLOAD_ABORTED = 100; 11 | 12 | class UrlDownload : public IBindStatusCallback 13 | { 14 | public: 15 | UrlDownload(); 16 | ~UrlDownload() {} 17 | 18 | // IUnknown methods 19 | STDMETHOD(QueryInterface)(REFIID riid, void **ppvObject); 20 | STDMETHOD_(ULONG, AddRef)(); 21 | STDMETHOD_(ULONG, Release)(); 22 | 23 | // IBindStatusCallback methods 24 | STDMETHOD(OnStartBinding)(DWORD, IBinding *); 25 | STDMETHOD(GetPriority)(LONG *); 26 | STDMETHOD(OnLowResource)(DWORD); 27 | STDMETHOD(OnProgress)(ULONG ulProgress, 28 | ULONG ulProgressMax, 29 | ULONG ulStatusCode, 30 | LPCWSTR szStatusText); 31 | STDMETHOD(OnStopBinding)(HRESULT, LPCWSTR); 32 | STDMETHOD(GetBindInfo)(DWORD *, BINDINFO *); 33 | STDMETHOD(OnDataAvailable)(DWORD, DWORD, FORMATETC *, STGMEDIUM *); 34 | STDMETHOD(OnObjectAvailable)(REFIID, IUnknown *); 35 | 36 | void SetCallBack(CStringView pCallback); 37 | void SetAsync(bool bAsync); 38 | void Abort(int nAbortFlag); 39 | HRESULT Download(); 40 | 41 | CStr pUrl; 42 | CStr pFile; 43 | 44 | private: 45 | int m_nAborted; 46 | DWORD m_nTickCount; 47 | bool m_bCallback; 48 | bool m_bAsync; 49 | UINT m_ulObjRefCount; 50 | CFoxCallback m_Callback; 51 | }; 52 | 53 | class UrlDownloadThread : public CThread 54 | { 55 | public: 56 | UrlDownloadThread(CThreadManager &pPool) : CThread(pPool) { } 57 | ~UrlDownloadThread() {} 58 | 59 | virtual void SignalThreadAbort(); 60 | virtual DWORD Run(); 61 | virtual void Release(); 62 | void SetParams(char *pUrl, char *pFile, CStringView pCallback); 63 | 64 | protected: 65 | UrlDownload m_Download; 66 | }; 67 | 68 | #ifdef __cplusplus 69 | extern "C" { 70 | #endif 71 | 72 | int _stdcall VFP2C_Init_Urlmon(); 73 | void _stdcall VFP2C_Destroy_Urlmon(VFP2CTls& tls); 74 | 75 | /* UrlDownloadToFile related functions */ 76 | void _fastcall UrlDownloadToFileEx(ParamBlkEx& parm); 77 | void _fastcall AbortUrlDownloadToFileEx(ParamBlkEx& parm); 78 | DWORD _stdcall UrlDownloadToFileThreadProc(LPVOID lpParam); 79 | 80 | #ifdef __cplusplus 81 | } 82 | #endif // end of extern "C" 83 | 84 | #endif // _VFP2CINET_H__ 85 | 86 | #endif // _THREADSAFE -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/getwindowrectex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GetWindowRectEx 7 | 8 | 9 | 14 |
15 |

Retrieves the dimensions of the bounding rectangle of the specified window.

16 | 17 |
GetWindowRectEx(nHwnd, cArrayName)
18 |

Parameters

19 |
nHwnd
20 |

A handle to a window.

21 |
22 |
cArrayName
23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
On return the array contains the following values from the RECT structure.
ElementContent
1Left
2Right
3Top
4Bottom
31 |

Return Value

32 |

Always .T.

33 | 34 |

See Also

35 |

Reference

36 |

AWindowProps
37 | AWindows
38 | AWindowsEx
39 | CenterWindowEx
40 | GetWindowTextEx
41 |

42 |

Used WinApi functions

43 |

GetWindowRect

44 | 45 | 46 |
47 | 50 | 51 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/rashangupex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RasHangUpEx 7 | 8 | 9 | 14 |
15 |

Terminates a remote access connection.

16 | 17 |
RasHangUpEx(nRasConn)
18 |

Parameters

19 |
nRasConn
20 |

A valid HRASCONN connection handle.

21 |
22 |

Return Value

23 |

Always .T.

24 | 25 |

See Also

26 |

Reference

27 |

AbortRasConnectionNotification
28 | ARasConnections
29 | ARasDevices
30 | ARasPhonebookEntries
31 | RasClearConnectionStatistics
32 | RasConnectionNotificationEx
33 | RasDialDlgEx
34 | RasDialEx
35 | RasGetConnectStatusEx
36 | RasPhonebookDlgEx
37 |

38 |

Used WinApi functions

39 |

RasHangUp
40 | RasGetConnectStatus

41 | 42 | 43 |
44 | 47 | 48 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/asum.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ASum 7 | 8 | 9 | 14 |
15 |

Computes the sum of values in an array.

16 | 17 | 18 |

Parameters

19 |
@aArray
20 |

The array by reference on which the compution should be executed.

21 |
22 |
nDimension (optional)
23 |

default = 1
24 |
25 | The dimension of the array on which the computation should be executed.
26 | If you pass 0 in this parameter the computation is executed on all elements of the array.

27 |
28 |

Return Value

29 |

The sum of the values contained in the passed in array or .NULL. if all rows were .NULL.

30 | 31 |

Remarks

32 |

Valid types of the values in the array: numeric (N) or currency (Y)
33 | All values in the array (dimension) on which the computation takes place must be of the same type, otherwise "invalid arguments" error is risen.
34 |
35 | If the type of the values is Y and the sum of all values is not in the range of the currency datatype, error 1988 "Currency value is out of range." is raised.

36 | 37 |

See Also

38 |

Reference

39 |

AAverage
40 | AMax
41 | AMin
42 |

43 | 44 | 45 |
46 | 49 | 50 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/isequalguid.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | IsEqualGuid 7 | 8 | 9 | 14 |
15 |

Compares two GUID's for equality.

16 | 17 | 18 |

Parameters

19 |
20 |

21 |
22 |
23 |

24 |
25 |

Return Value

26 |

.T. if the GUID's are equal, .F. otherwise.

27 | 28 |

See Also

29 |

Reference

30 |

CLSIDFromProgID
31 | CLSIDFromString
32 | CreateGuid
33 | CreateThreadObject
34 | GetIUnknown
35 | ProgIDFromCLSID
36 | RegisterActiveObject
37 | RegisterObjectAsFileMoniker
38 | RevokeActiveObject
39 | StringFromCLSID
40 |

41 |

Used WinApi functions

42 |

CLSIDFromString

43 | 44 | 45 |
46 | 49 | 50 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/rasclearconnectionstatistics.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | RasClearConnectionStatistics 7 | 8 | 9 | 14 |
15 |

The RasClearConnectionStatistics functions clears any accumulated statistics for the specified RAS connection.

16 | 17 |
RasClearConnectionStatistics(nRasConn)
18 |

Parameters

19 |
nRasConn
20 |

A valid HRASCONN connection handle.

21 |
22 |

Return Value

23 |

Always .T.

24 | 25 |

See Also

26 |

Reference

27 |

AbortRasConnectionNotification
28 | ARasConnections
29 | ARasDevices
30 | ARasPhonebookEntries
31 | RasConnectionNotificationEx
32 | RasDialDlgEx
33 | RasDialEx
34 | RasGetConnectStatusEx
35 | RasHangUpEx
36 | RasPhonebookDlgEx
37 |

38 |

Used WinApi functions

39 |

RasClearConnectionStatistics

40 | 41 | 42 |
43 | 46 | 47 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/aipaddresses.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AIpAddresses 7 | 8 | 9 | 14 |
15 |

Stores all IP addresses of the machine into an array.

16 | 17 |
AIpAddresses(cArrayName)
18 |

Parameters

19 |
cArrayName
20 |
21 | 22 | 23 | 24 |
On return the array contains the following information.
ColumnContent
1IP address
25 |

Return Value

26 |

The number of IP's.

27 | 28 |

See Also

29 |

Reference

30 |

AbortUrlDownloadToFileEx
31 | ANetFiles
32 | ANetServers
33 | GetServerTime
34 | IcmpPing
35 | Ip2MacAddress
36 | ResolveHostToIp
37 | SyncToSNTPServer
38 | UrlDownloadToFileEx
39 |

40 |

Used WinApi functions

41 |

gethostname
42 | gethostbyname

43 | 44 | 45 |
46 | 49 | 50 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/awindowstations.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | AWindowStations 7 | 8 | 9 | 14 |
15 |

Stores the name of all window stations in the current session into an array.

16 | 17 |
AWindowStations(cArrayName)
18 |

Parameters

19 |
cArrayName
20 |
21 | 22 | 23 | 24 |
On return the array contains the following information.
ColumnContentDatatype
1Name of the windowstation.C
25 |

Return Value

26 |

27 | 28 |

See Also

29 |

Reference

30 |

ADesktopArea
31 | ADesktops
32 | ADisplayDevices
33 | AResolutions
34 | ExpandEnvironmentStringsEx
35 | GetLocaleInfoEx
36 | GetSystemDirectoryEx
37 | GetWindowsDirectoryEx
38 | OsEx
39 |

40 |

Used WinApi functions

41 |

EnumWindowStations

42 | 43 | 44 |
45 | 48 | 49 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/getsystemtimeex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GetSystemTimeEx 7 | 8 | 9 | 14 |
15 |

Retrieves the current system date and time either in Coordinated Universal Time (UTC)
16 | or in local time.

17 | 18 |
GetSystemTimeEx([bUTCTime])
19 |

Parameters

20 |
bUTCTime (optional)
21 |

default = .F.
22 |
23 | If .T. the time is returned in UTC.

24 |
25 |

Return Value

26 |

A datetime value.

27 | 28 |

See Also

29 |

Reference

30 |

ATimeZones
31 | Double2DT
32 | DT2Double
33 | DT2FT
34 | DT2ST
35 | DT2Timet
36 | DT2UTC
37 | FT2DT
38 | SetSystemTimeEx
39 | ST2DT
40 | Timet2DT
41 | UTC2DT
42 |

43 |

Used WinApi functions

44 |

GetLocalTime
45 | GetSystemTime

46 | 47 | 48 |
49 | 52 | 53 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/freepmem.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | FreePMem 7 | 8 | 9 | 14 |
15 |

Frees the memory block the passed in pointer points to from the library internal heap.

16 | 17 |
FreePMem(nAddress)
18 |

Parameters

19 |
nAddress
20 |

A pointer to a memory location, the pointer at this location is freed.

21 |
22 |

Return Value

23 |

Always .T.

24 | 25 |

See Also

26 |

Reference

27 |

AllocHGlobal
28 | AllocMem
29 | AllocMemTo
30 | AMemBlocks
31 | CompactMem
32 | FreeHGlobal
33 | FreeMem
34 | FreeRefArray
35 | LockHGlobal
36 | ReAllocHGlobal
37 | ReAllocMem
38 | SizeOfMem
39 | UnlockHGlobal
40 | ValidateMem
41 |

42 |

Used WinApi functions

43 |

HeapFree

44 | 45 | 46 |
47 | 50 | 51 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2csntp.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CSNTP_H__ 2 | #define _VFP2CSNTP_H__ 3 | 4 | #define JAN_1ST_1900 2415021 5 | #define SNTP_PORT 123 6 | #define FRACTION_TO_MS ((double)1000.0/0xFFFFFFFF) 7 | #define MS_TO_FRACTION (((double)0xFFFFFFFF) / 1000.0) 8 | 9 | #define SNTP_LEAP_OFFSET 6 10 | #define SNTP_LEAP_NOWARN (0 << SNTP_LEAP_OFFSET) 11 | #define SNTP_LEAP_LASTMIN61 (1 << SNTP_LEAP_OFFSET) 12 | #define SNTP_LEAP_LASTMIN59 (2 << SNTP_LEAP_OFFSET) 13 | #define SNTP_GET_LEAP(sByte) (sByte >> SNTP_LEAP_OFFSET) 14 | #define SNTP_VERSION_OFFSET 3 15 | #define SNTP_GET_VERSION(sByte) (sByte & 0x38 >> SNTP_VERSION_OFFSET) 16 | #define SNTP_SET_VERSION(nVer) (nVer << SNTP_VERSION_OFFSET) 17 | #define SNTP_GET_MODE(sByte) (sByte & 0x7) 18 | #define SNTP_MODE_SYMACTIVE 1 19 | #define SNTP_MODE_SYMPASSIVE 2 20 | #define SNTP_MODE_CLIENT 3 21 | #define SNTP_MODE_SERVER 4 22 | #define SNTP_MODE_BROADCAST 5 23 | 24 | typedef struct _SNTPTIME 25 | { 26 | DWORD dwSeconds; 27 | DWORD dwFraction; 28 | } SNTPTIME, *LPSNTPTIME; 29 | 30 | typedef struct _SNTPRESPONSE 31 | { 32 | BYTE LiVnMode; 33 | BYTE Stratum; 34 | char Poll; 35 | char Precision; 36 | long RootDelay; 37 | long RootDispersion; 38 | char ReferenceID[4]; 39 | SNTPTIME ReferenceTime; 40 | SNTPTIME OriginateTime; 41 | SNTPTIME ReceiveTime; 42 | SNTPTIME TransmitTime; 43 | unsigned long KeyID; 44 | BYTE MessageDigest[16]; 45 | } SNTPRESPONSE, *LPSNTPRESPONSE; 46 | 47 | typedef struct _SNTPPACKET 48 | { 49 | BYTE LiVnMode; 50 | BYTE Stratum; 51 | char Poll; 52 | char Precision; 53 | long RootDelay; 54 | long RootDispersion; 55 | char ReferenceID[4]; 56 | SNTPTIME ReferenceTime; 57 | SNTPTIME OriginateTime; 58 | SNTPTIME ReceiveTime; 59 | SNTPTIME TransmitTime; 60 | } SNTPPACKET, *LPSNTPPACKET; 61 | 62 | #ifdef __cplusplus 63 | extern "C" { 64 | #endif 65 | 66 | void _fastcall SyncToSNTPServer(ParamBlkEx& parm); 67 | void _stdcall SystemTimeToSNTPTime(LPSYSTEMTIME pSysTime, LPSNTPTIME pSntpTime); 68 | void _stdcall SNTPTimeToSystemTime(LPSNTPTIME pSntpTime, LPSYSTEMTIME pSysTime); 69 | double _stdcall SNTPTimeToDouble(LPSNTPTIME pSntpTime); 70 | void _stdcall DoubleToSNTPTime(double nTime, LPSNTPTIME pSntpTime); 71 | void _stdcall SNTPTimeToPacket(LPSNTPTIME pSntpTime); 72 | void _stdcall PacketToSNTPTime(LPSNTPTIME pSntpTime); 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif // _VFP2CSNTP_H__ -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/ft2dt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | FT2DT 7 | 8 | 9 | 14 |
15 |

Converts a FILETIME struct to a datetime value.

16 | 17 | 18 |

Parameters

19 |
nFileTimePointer
20 |

A pointer to a FILETIME structure.

21 |
22 |
bToLocalTime (optional)
23 |

default = .F.
24 |
25 | If .T the filetime is converted to the local timezone.

26 |
27 |

Return Value

28 |

A datetime value.

29 | 30 |

See Also

31 |

Reference

32 |

ATimeZones
33 | Double2DT
34 | DT2Double
35 | DT2FT
36 | DT2ST
37 | DT2Timet
38 | DT2UTC
39 | GetSystemTimeEx
40 | SetSystemTimeEx
41 | ST2DT
42 | Timet2DT
43 | UTC2DT
44 |

45 | 46 | 47 |
48 | 51 | 52 | -------------------------------------------------------------------------------- /vfp2c32help/chm/pages/st2dt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ST2DT 7 | 8 | 9 | 14 |
15 |

Converts a SYSTEMTIME struct to a datetime value.

16 | 17 | 18 |

Parameters

19 |
nSystemTimePointer
20 |

A pointer to a SYSTEMTIME structure.

21 |
22 |
bToLocalTime (optional)
23 |

default = .F.
24 |
25 | If .T the filetime is converted to the local timezone.

26 |
27 |

Return Value

28 |

Datetime.

29 | 30 |

See Also

31 |

Reference

32 |

ATimeZones
33 | Double2DT
34 | DT2Double
35 | DT2FT
36 | DT2ST
37 | DT2Timet
38 | DT2UTC
39 | FT2DT
40 | GetSystemTimeEx
41 | SetSystemTimeEx
42 | Timet2DT
43 | UTC2DT
44 |

45 | 46 | 47 |
48 | 51 | 52 | -------------------------------------------------------------------------------- /vfp2c32/vfp2c32/vfp2cconv.h: -------------------------------------------------------------------------------- 1 | #ifndef _VFP2CCONV_H__ 2 | #define _VFP2CCONV_H__ 3 | 4 | const int HEX_PREFIX = 1; 5 | const int HEX_LEADINGNULLS = 2; 6 | 7 | #pragma pack(push,1) // set structure padding to 1 8 | typedef struct _PackedValue 9 | { 10 | union 11 | { 12 | double ev_real; 13 | CCY ev_currency; 14 | int ev_long; 15 | unsigned int ev_length; 16 | }; 17 | char ev_type; 18 | unsigned char ev_width; 19 | unsigned char ev_decimals; 20 | unsigned char ev_unused; 21 | } PackedValue, *LPPackedValue; 22 | #pragma pack(pop) 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | void _fastcall PG_ByteA2Str(ParamBlkEx& parm); 29 | void _fastcall PG_Str2ByteA(ParamBlkEx& parm); 30 | void _fastcall RGB2Colors(ParamBlkEx& parm); 31 | void _fastcall Colors2RGB(ParamBlkEx& parm); 32 | void _fastcall GetCursorPosEx(ParamBlkEx& parm); 33 | 34 | void _fastcall Int64_Add(ParamBlkEx& parm); 35 | void _fastcall Int64_Sub(ParamBlkEx& parm); 36 | void _fastcall Int64_Mul(ParamBlkEx& parm); 37 | void _fastcall Int64_Div(ParamBlkEx& parm); 38 | void _fastcall Int64_Mod(ParamBlkEx& parm); 39 | 40 | void _fastcall Value2Variant(ParamBlkEx& parm); 41 | void _fastcall Variant2Value(ParamBlkEx& parm); 42 | 43 | void _fastcall Decimals(ParamBlkEx& parm); 44 | void _fastcall Num2Binary(ParamBlkEx& parm); 45 | 46 | void _fastcall CreatePublicShadowObjReference(ParamBlkEx& parm); 47 | void _fastcall ReleasePublicShadowObjReference(ParamBlkEx& parm); 48 | 49 | void _fastcall GetLocaleInfoExLib(ParamBlkEx& parm); 50 | void _fastcall OsEx(ParamBlkEx& parm); 51 | 52 | void _fastcall Str2Short(ParamBlkEx& parm); 53 | void _fastcall Short2Str(ParamBlkEx& parm); 54 | void _fastcall Str2UShort(ParamBlkEx& parm); 55 | void _fastcall UShort2Str(ParamBlkEx& parm); 56 | void _fastcall Str2Long(ParamBlkEx& parm); 57 | void _fastcall Long2Str(ParamBlkEx& parm); 58 | void _fastcall Str2ULong(ParamBlkEx& parm); 59 | void _fastcall ULong2Str(ParamBlkEx& parm); 60 | void _fastcall Str2Double(ParamBlkEx& parm); 61 | void _fastcall Double2Str(ParamBlkEx& parm); 62 | void _fastcall Str2Float(ParamBlkEx& parm); 63 | void _fastcall Float2Str(ParamBlkEx& parm); 64 | void _fastcall Int642Str(ParamBlkEx& parm); 65 | void _fastcall Str2Int64(ParamBlkEx& parm); 66 | void _fastcall UInt642Str(ParamBlkEx& parm); 67 | void _fastcall Str2UInt64(ParamBlkEx& parm); 68 | 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | 73 | #endif // _VFP2CCONV_H__ --------------------------------------------------------------------------------