|
VFP ·R¥ÎªÌªÀ°Ï ¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
|
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD |
µoªí¤H |
¤º®e |
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 1 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤¤ë 02, 2003 4:32 pm ¤å³¹¥DÃD: ¼W±j VFP ªº¥\¯à--EXECSCRIPT(Âà¶K) |
|
|
¥Î C++ 编写 FLL 来¼W强 VFP ªº¥\¯à
RMH & NEWBIE
¦b BBS ¤¤¡A时±`会¦³¤H问¨ì¡G°£¤F VFP, ¦pªGn学习²Ä¤GÏú语¨¥应该¦p¦ó选择? 这¬O¤@个难¤_¦^µªªº问题¡C¦pªGÚÌ实n§Ú¦^µª¡A§Ú会选择 C++¡Cì¦]¬O没¦³¥ô¦ó¤@Ïú语¨¥¯à¶H C++ ¤@样ÉO VFP 联¨t±o¦p¦¹ªº紧±K¡GVFP ¥»¨¬O¥Î C++ 开发ªº, ¥i¥H¦b C++ ¤¤开发¤@Ïú¥s .FLL ªº VFP 专¥Î¨ç数库(这¦b¨ä¥¦语¨¥¤¤¬O没¦³ªº)¥H¤Î¦b¯S©w±¡况¤U¥i¥H¦b C++ ¤¤ª½±µ¥Î VFP ªº©R¥O来¾Þ§@ VFP¡C
§A¤]许¨Ï¥Î过¤@¨Ç DLL¡C¦b¨Ï¥Î DLL ¤¤ªº¨ç数«e¡A§A¥²须³v个¦a¥Î Declare ©R¥O©w义¥¦们¡C¦Ó¨Ï¥Î FLL 时则¤£¥²这样°µ¡A§A¥u»Ý¥Î¤@条©R¥O SET LIBRARY TO XXX.FLL ´N¦æ¤F¡AµM¦Z¡A§A´N¥i¥H¨Ï¥Î该 FLL ¤¤ªº©Ò¦³¨ç数¤F¡CFLL ¬O DLL ªº简¤Æª©¥»¡A¥¦¥u¯à从 VFP ¤¤调¥Î¡A¦}¥B¥¦¦³¤@¨Ç DLL ©Ò¤£¨ã¦³ªº«Ý点¡G¦p¡A¥i¯àª½±µ运¦æ VFP ©R¥Oµ¥¡A¥¦¤]拥¦³¤@个标记为 CALLONLOAD ªº¨ç数¡A该¨ç数¦b FLL ¨ç数库³Q载¤J时¦Û动运¦æ¡C¦]¦¹§A¥i¥H¦b该¨ç数¤¤进¦æÓì当ªº¨t统ªì©l¤Æ¡C¦b¥»¤åªºªþ¥ó¤¤¦³¤@个¥Ü¨Ò FLL 库©M¤@个调¥Î该 FLL ªº .PRG ¤å¥ó¡A该 .PRG ¤å¥ó«D±`简单¡A°£¤F运¦æ«eªº环¹Ò设¸m©M运¦æ¦Zªº环¹Ò²M²z©R¥O¥~¡A°_§@¥Îªº©R¥O¥u¦³¤@条: SET Library To Myfll.fll, ¦b¦¹ FLL ªº CALLONLOAD ¨ç数¤¤¡A§Ú们¨Ï¥Î¤F¤@条 Wait window ©R¥O来显¥Üª©权«H®§¡A创«Ø¦}¿E¬¡¤F¤@个简单ªºµæ单¡AµM¦Z创«Ø¤F¤@个ªí¦}浏览该ªí¡C这¤@¤Á³£¬O¦b§A©Ò¬Ý¤£见ªº±¡况¤U处²zªº¡A实现ªº¥N码¤]«Ü简单¡A¦p¤U¡G
void SETUP(ParamBlk* parm)
{
_Execute("SET SYSMENU TO");
_Execute("SET SYSMENU AUTOMATIC");
_Execute("DEFINE PAD Pad OF _MSYSMENU PROMPT \x022¤å¥ó\x022 COLOR SCHEME 3 MESSAGE \x022¥´开¤u§@ªí, 设¸m¥´¦LÉó, ©Î°h¥X¥»¨t统\x022");
_Execute("DEFINE PAD Edit OF _MSYSMENU PROMPT \x022编辑\x022 COLOR SCHEME 3");
_Execute("DEFINE PAD Administration OF _MSYSMENU PROMPT \x022维护\x022 COLOR SCHEME 3");
_Execute("DEFINE PAD Help OF _MSYSMENU PROMPT \x022帮§U\x022 COLOR SCHEME 3");
_Execute("ON PAD Pad OF _MSYSMENU ACTIVATE POPUP ¤å¥óf");
_Execute("ON PAD Edit OF _MSYSMENU ACTIVATE POPUP 编辑e");
_Execute("ON PAD Administration OF _MSYSMENU ACTIVATE POPUP 维护a");
_Execute("ON PAD Help OF _MSYSMENU ACTIVATE POPUP help");
_Execute("DEFINE POPUP ¤å¥óf MARGIN RELATIVE SHADOW COLOR SCHEME 4");
_Execute("DEFINE BAR 1 OF ¤å¥óf PROMPT \x022¥´开\x022");
_Execute("DEFINE BAR 2 OF ¤å¥óf PROMPT \x022\x05c\x02d\x022");
_Execute("DEFINE BAR 3 OF ¤å¥óf PROMPT \x022¥´¦L设¸m\x022");
_Execute("DEFINE BAR 4 OF ¤å¥óf PROMPT \x022\x05c\x02d\x022");
_Execute("DEFINE BAR 5 OF ¤å¥óf PROMPT \x022°h¥X\x022");
_Execute("ON SELECTION BAR 1 OF ¤å¥óf");
_Execute("ON SELECTION BAR 3 OF ¤å¥óf");
_Execute("ON SELECTION BAR 5 OF ¤å¥óf");
_Execute("ON SELECTION MENU _MSYSMENU");
_Execute("ON SELECTION POPUP ¤å¥óf");
_Execute("wait window \x028\x022 VFP SMART-FLL \x022\x029");
_Execute("create table temp \x028 id I,name c\x028 10\x029, salary n\x028 12,2\x029\x029");
_Execute("insert into temp \x028 id,name,salary \x029 values \x028 1,\x022James\x022,1200 \x029");
_Execute("insert into temp \x028 id,name,salary \x029 values \x028 2,\x022Tony\x022,1350 \x029");
_Execute("insert into temp \x028 id,name,salary \x029 values \x028 3,\x022Jacobs\x022 ,1300 \x029");
_Execute("Brow");
_Execute("USE IN TEMP");
_Execute("Delete file temp.dbf");
}
¥J细¬Ý¬Ý¤W±ªºµ{§Ç¡A¨ä实´N¬O VFP ¥N码ªºÂ½ª©¡C¦]¦¹¡Aªö¥Î¦¹¤èªk¡A§A¥i¥H简单¦a§â§Aªº关键ªº VFP ¥N码¥Î C++ 来写(¬Ý谁还¦³¥»¨Æ§â¥¦们¤Ï编译¦¨ VFP ·½¥N码,«¢«¢«¢«¢¡C)¡C经过¤@©wªº处²z¡A¥i¥H说¡A没¦³¤H¯à够¤Ï编译§Aªº¥N码¡C
¦n¤F¡A¤µ¤Ñ¥ý¨ì这¨½¡A¤U¤@¨B§Ú将³v¨B§i诉§A¦p¦ó¦b C++ ¤¤创«Ø¤@个 FLL¡C
¥¼§¹«Ý续......
----------------------------------------------
¦p¦óµn录§Úªº ftp?
¦b IE ¦a§}栏¤¤输¤J:
¢Ô¢â¢Þ¡G¡þ¡þ¢Ò¢Ý¢å¢Ü¡G¢Ò¢Ý¢å¢Ü¢I61.145.116.139¡þ
¨ä¤¤ªº¥þ¨¤¦r²Å请¤j®a¦Û¤v§ï¦¨¥b¨¤ªº¡C
从 IE ªº¡§¤å¥ó¡¨µæ单¤¤选择¡§µn录¡¨,¥Î户¦W¬O:down,±K码¬O:down,µM¦Z单击¡§µn录¡¨«ö钮
Ruey ¦b ¬P´Á¤G ¥|¤ë 27, 2004 2:21 am §@¤F²Ä 2 ¦¸×§ï |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 2 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤¤ë 02, 2003 4:36 pm ¤å³¹¥DÃD: |
|
|
(刦K)
¦b VFP 8.0 ¤¤¡A¥H¤U©R¥O¬Û当¤_¡G
if a=0
wait window "a=0"
else
wait window "a<>0"
endif
EXECSCRIPT("IF a=0"+CHR(13)+"wait window 'a=0'"+CHR(13)+"ELSE"+CHR(13)+"wait window 'a<>0'"+CHR(13)+"ENDIF") _________________ #############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 3 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤¤ë 02, 2003 4:37 pm ¤å³¹¥DÃD: |
|
|
(刦K)
¦b C++ ¤¤¡A§A¥i¥H这样写¡G
_Execute("a=0");
_Execute("EXECSCRIPT([IF a=0]+CHR(13)+[wait window 'a=0'] + CHR(13) + [ELSE]+CHR(13)+[wait window 'a<>0']+CHR(13)+[ENDIF])"); //将¦b¤@个 wait µ¡¤f¤¤显¥Ü a=0
_Execute("a=1");
_Execute("EXECSCRIPT([IF a=0]+CHR(13)+[wait window 'a=0'] + CHR(13) + [ELSE]+CHR(13)+[wait window 'a<>0']+CHR(13)+[ENDIF])"); //将¦b¤@个 wait µ¡¤f¤¤显¥Ü a<>0 _________________ #############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
garfield Site Admin
µù¥U®É¶¡: 2003-01-30 ¤å³¹: 2157
²Ä 4 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¤¤ë 02, 2003 6:39 pm ¤å³¹¥DÃD: |
|
|
§Ú¦³¤U¸ürmhªº´ú¸ÕÀÉ, ¤wÂনBIG5, ¥u¬O¤£ª¾¹D¦p¦ó§Q¥ÎC++²£¥Í.FLLÀÉ. _________________ §Q¥Î>>·j´M<<ªº¥\¯à·|¤ñ°ÝªºÁÙn§Ö±o¨ìµª®×. |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 5 ¼Ó
|
µoªí©ó: ¬P´Á¤G ¥|¤ë 27, 2004 2:07 am ¤å³¹¥DÃD: |
|
|
ExecScript¥i¥H¤Þ¥Î¥~³¡µ{¦¡.¯u¬O«Ü¦nªº¥\¯à
´ú¸Õ½X¦p¤U:
¥N½X: |
lc_String=FILETOSTR("program5.prg")
ll_RET=EXECSCRIPT(lc_String,1)
?ll_RET |
¥N½X: |
&&program5.prg µ{¦¡½X¦p¤U
lparameter a
*LOCAL a
*a=0
IF a=0
? 'a=0'
RETURN .F.
ELSE
? 'a<>0'
? 'a='+STR(a,5)
RETURN .T.
ENDIF |
_________________ #############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 6 ¼Ó
|
µoªí©ó: ¬P´Á¤T ¥|¤ë 28, 2004 12:17 am ¤å³¹¥DÃD: |
|
|
¨Ó·½:°Ý±M®a
http://www.china-askpro.com/msg12/qa62.shtml
¦p¦ó¥ÎVC6.0¥Í¦¨vfp6.0¥i½Õ¥Îªº°ÊºA³s±µ®w
½s¸¹¡GQA001162
«Ø¥ß¤é´Á: 1999¦~6¤ë12¤é ³Ì«áקï¤é´Á¡G1999¦~6¤ë12¤é
©ÒÄÝÃþ§O¡G
feixiangdong:
vc,vfp 6.0
Windows98
¦p¦ó¥ÎVC6.0¥Í¦¨vfp6.0¥i½Õ¥Îªº°ÊºA³s±µ®w,¨ãÅé¤èªk?
¦^µª:
VFP¥i¥H½Õ¥Îªº°ÊºA³s±µ®w¦³FLL©MDLL¨âºØ¡C
FLL¥u¯à¥Î©óVFP¡A½sµ{¸û¬°³Â·Ð¦ý¥i¥H§ó¦n¦a±±¨îVFP¤º³¡µ²ºc¡C½s¼gFLL©Ò»ÝªºÀY¤å¥ó¡B®w¤å¥ó©M¨Ò¤l¦bvfp98\api¥Ø¿ý¤U¡C
½s¼g´¶³qªºDLLªº°ò¥»¨BÆJ¦p¤U¡Gº¥ý¦bVC++¤¤¥Í¦¨Win32 DLL¤uµ{¡C¦b³oÓ¤uµ{¤¤²K¥[´XÓ¨ç¼Æ¨ÑVFP¥Î¤á½Õ¥Î¡C¤@ÓDLL¤¤ªº¨ç¼Æn·Q³QVFP½Õ¥Î¡A¥²¶·º¡¨¬¨âÓ±ø¥ó¡G¤@¬O½Õ¥Î¤è¦¡¬°stdcall¡A¥t¤@Ó¬O¥²¶·¬Oexportªº¡Cn°µ¨ì²Ä¤@±ø¡A¥u¶·¦b¨ç¼ÆÁn©ú«e¥[¤W__stdcallÃöÁä¦r¡C¦p:
short __stdcall sample(short nLen, short *buffer)
n°µ¨ì²Ä¤G±ø¡A»Ýn¦b*.def¤å¥ó¤¤¥[¤W¦p¤Uªº´X¦æ¡G
EXPORTS
sample @1
³o¸Ìªºsample¬O§An¦bVB¤¤½Õ¥Îªº¨ç¼Æ¦W¡A@1ªí¥Ü¸Ó¨ç¼Æ¦bDLL¤¤ªº½s¸¹¡A¨CÓ¨ç¼Æ³£¤£¤@¼Ë¡Cª`·N³o¸Ìªº¨ç¼Æ¦W¬O°Ï¤À¤j¤p¼gªº¡C
¦¹°ÝÃD¥Ñ§õ®ü¦^µª¡C _________________ #############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
wenjeon
µù¥U®É¶¡: 2005-09-13 ¤å³¹: 3
²Ä 7 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¥|¤ë 23, 2010 1:41 am ¤å³¹¥DÃD: |
|
|
¥ÎVC½s¼g¦bFOXPRO¤U±M¥ÎªºFLLÃþ®w
·s«Øtestadd¤å¥ó§¨
«þ¨©pro_ext.h¡Awinapims.lib¨ìtestadd¤å¥ó§¨
³o¨âÓ¤å¥ó¦b¡u½L²Å:\Program Files\Microsoft visual foxpro 9\Samples\API¡v¥Ø¿ý¤U
¦btestadd¤å¥ó§¨¸Ì·s«Øtestadd.c
// ª`·N¡G¤£n¥ÎÂQ¾É«Ø¦¨testadd.cpp
#include "pro_ext.h"
// ª`·N¡G¦pªG¼g¦¨#include <pro_ext.h>¡A»Ýn§âpro_ext.h«þ¨©¨ìVisul C++¤§Include¤å¥ó§¨
void TestAdd(ParamBlk FAR *parm)
{
int x1;
x1 = parm->p[0].val.ev_long + parm->p[1].val.ev_long;
_RetInt(x1,10);
}
FoxInfo myFoxInfo[] = {
{"TESTADD", (FPFI)TestAdd,2,"I,I"},
};
FoxTable _FoxTable={
(FoxTable *)0,sizeof(myFoxInfo)/sizeof(FoxInfo),myFoxInfo
};
ÂùÀ»testadd.c¥´¶}Visual C++ 6.0
Build
--> Rebuild All
Build
--> Set Active Configuration...
--> testadd - Win32 Release
Project
--> Setting...
C/C++
--> Porject Options:
--> §â /ML §ï¬° /MD
--> ¼W¥[ /Gr
// ª`·N¡G¦]Vfpn¨Dfastcall¡A¥²¶·¥[/Gr¿ï¶µ
Link
--> Object/library modules:
--> ¼W¥[ winapims.lib
--> Porject Options:
--> ¼W¥[ /dll
OK
Build
--> Rebuild All
¶i¤JvfpÅçÃÒ¤@¤U¡G
set libr to release\testadd.dll
?testadd(1,2)
¥i¥H¨ì¤U±³sµ²¤U¸ü 3¡BVisual C++ 6.0 §¹¾ã†ù¦âª©¡]30M¡^¡G ^¤å
http://hi.baidu.com/jsj08/blog/item/06abf0450d8aac85b3b7dc5a.html
´ú¸Õ¦¨¥\ |
|
¦^³»ºÝ |
|
|
wenjeon
µù¥U®É¶¡: 2005-09-13 ¤å³¹: 3
²Ä 8 ¼Ó
|
|
¦^³»ºÝ |
|
|
CCB2000
µù¥U®É¶¡: 2009-03-25 ¤å³¹: 95
²Ä 9 ¼Ó
|
|
¦^³»ºÝ |
|
|
syntech
µù¥U®É¶¡: 2003-05-16 ¤å³¹: 4212 ¨Ó¦Û: Taipei,Taiwan
²Ä 10 ¼Ó
|
µoªí©ó: ¬P´Á¤ ¥|¤ë 23, 2010 4:41 pm ¤å³¹¥DÃD: |
|
|
¦b VFP9 ¥i¥H³z¹L NET4COMµ¥§Þ³N½Õ°Ê.NET ¸ê·½ªº±¡ªp¤U,
³oÓ·d¤°»òVC+FLLªºÂ§޳N´N¥i¦³¥iµL¤F _________________ ¦pªG¤½¥q¦³¤U¦C§xÂZ:
1. §ä¤£¨ì«K©y,§Ö³t,²©öªº ¥Í²£±Æµ{³nÅé
2. ¤£ª¾¹D¦p¦ó§Ö³t±Æ©w ±ÄÁÊp¹º
3. ¦¨¥»§ì¤£·Ç,¦Û¤vºâ¤ñ³nÅéºâ¦³¥Î
4. ·Q¾Ç²ß¨t²Î³W¹º,·Q§ä¨t²Î¬[ºcªºÅU°Ý
½ÐÁpµ¸§ÚÌ,¤]³\§ÚÌÀ°±o¤W¦£ |
|
¦^³»ºÝ |
|
|
green
µù¥U®É¶¡: 2003-09-19 ¤å³¹: 136
²Ä 11 ¼Ó
|
µoªí©ó: ¬P´Á¤T ¤¤ë 19, 2010 8:57 pm ¤å³¹¥DÃD: |
|
|
ÁÙ¬O¦³WIndows 98n·ÓÅU |
|
¦^³»ºÝ |
|
|
|
|
±z µLªk ¦b³oÓª©±µoªí¤å³¹ ±z µLªk ¦b³oÓª©±¦^ÂФ峹 ±z µLªk ¦b³oÓª©±½s¿è¤å³¹ ±z µLªk ¦b³oÓª©±§R°£¤å³¹ ±z µLªk ¦b³oÓª©±¶i¦æ§ë²¼ ±z µLªk ¦b³oÓª©±ªþ¥[ÀÉ®× ±z µLªk ¦b³oÓª©±¤U¸üÀÉ®×
|
Powered by phpBB © 2001, 2005 phpBB Group ¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@
|