| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 347 人关注过本帖
标题:FLL这么写吗?如果多个函数怎么写?
只看楼主 加入收藏
ljb8864
Rank: 1
等 级:新手上路
帖 子:169
专家分:7
注 册:2023-6-4
结帖率:2.78%
收藏
已结贴  问题点数:20 回复次数:4 
FLL这么写吗?如果多个函数怎么写?
#include  <pro_ext.h>
#define nl _PutChr('\n')

long FAR CTest()
{
   long rc,rec;
   int workarea = -1;
   int flag = 0;
   int rn,recn;

   rc = _DBRewind(workarea);
   _PutStr("top");  nl;
   rc = _DBSkip(workarea, 5);
   _PutStr("skipped 5");  nl;
   
   rc = _DBAppend(workarea,flag);
   _PutStr("Appending"); nl;
   rc = _DBRewind(workarea);
   _PutStr("top");  nl;
   rn = _DBRecCount(workarea);
   _RetInt(rn, 10);
   rec = rn;
   return rn;
}

FoxInfo myFoxInfo[] = {
   {"CTEST", (FPFI) CTest,0 , ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *)0, sizeof(myFoxInfo) / sizeof(FoxInfo), myFoxInfo
};



缺少文件?pro_ext.h
如果多个函数怎么写?
有没有大神指教一二

[此贴子已经被作者于2023-8-30 09:12编辑过]

搜索更多相关主题的帖子: 多个 sizeof 函数 int flag 
2023-08-30 08:45
sxzjbb
Rank: 2
等 级:论坛游民
威 望:1
帖 子:23
专家分:98
注 册:2010-3-25
收藏
得分:10 
一样的,同样写多个函数,然后在FoxInfo myFoxInfo[] = {
   {"CTEST", (FPFI) CTest,0 , ""},
   {"CTEST1", (FPFI) CTest1,0 , ""},
   {"CTEST2", (FPFI) CTest2,0 , ""},
   {"CTEST3", (FPFI) CTest3,0 , ""},
};    我用过,调用函数名CTEST(),具体忘了
2023-08-30 10:57
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:343
专家分:500
注 册:2013-5-14
收藏
得分:10 
像这个怎么先写个Hello
// include the library construction header file
#include <pro_ext.h>

void hello(ParamBlk  *parm) // the function definition
    {
    _PutStr("\nHello, World!\n"); //print the message
    }

// the FoxInfo structure registers the function
FoxInfo myFoxInfo[] = {
    {"HELLO",(FPFI) hello, 0, ""},
};

// the FoxTable structure
FoxTable _FoxTable = {
    (FoxTable  *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
2023-08-30 11:17
ljb8864
Rank: 1
等 级:新手上路
帖 子:169
专家分:7
注 册:2023-6-4
收藏
得分:0 
以下是引用sxzjbb在2023-8-30 10:57:14的发言:

一样的,同样写多个函数,然后在FoxInfo myFoxInfo[] = {
   {"CTEST", (FPFI) CTest,0 , ""},
   {"CTEST1", (FPFI) CTest1,0 , ""},
   {"CTEST2", (FPFI) CTest2,0 , ""},
   {"CTEST3", (FPFI) CTest3,0 , ""},
};    我用过,调用函数名CTEST(),具体忘了



可以的。


#include "pro_ext.h"



void FAR NewVarEx(ParamBlk FAR *parm)
{
   char FAR *varName;
   Locator loc;
   int flag;
   int retValue;

   // Null 终止字符串
   if (!_SetHandSize(parm->p[0].val.ev_handle,
      parm->p[0].val.ev_length+1))
   {
      _Error(182); // "内存不足"
   }
   _HLock(parm->p[0].val.ev_handle);
   varName = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle);
   varName[parm->p[0].val.ev_length] = '\0';
   loc.l_subs = parm->p[1].val.ev_long;
   loc.l_sub1 = parm->p[2].val.ev_long;
   loc.l_sub2 = parm->p[3].val.ev_long;
   flag = parm->p[4].val.ev_long; //0 public 1 private
   if ((retValue = _NewVar(varName, &loc, flag)) < 0){
      // _NewVar() 返回负的 Visual FoxPro 错误号
      _Error(-retValue);    }
   _HUnLock(parm->p[0].val.ev_handle);
}



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[] = {
   {"XNEWVAR", (FPFI) NewVarEx, 5, "C,I,I,I,I"},
        {"TESTADD", (FPFI) TestAdd, 2, "I,I"}

};


FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
 



#define NV_PUBLIC   0
#define NV_PRIVATE   1
= xNewVar('var', 0, 0, 0, NV_PUBLIC) &&变量
DISPLAY MEMORY LIKE var
= xNewVar('onedim', 1, 5, 0, NV_PUBLIC) &&一维
DISPLAY MEMORY LIKE onedim
= xNewVar('twodim', 2, 5, 6, NV_PUBLIC) &&二维

[此贴子已经被作者于2023-8-30 12:40编辑过]

2023-08-30 12:22
ljb8864
Rank: 1
等 级:新手上路
帖 子:169
专家分:7
注 册:2023-6-4
收藏
得分:0 
以下是引用iswith在2023-8-30 11:17:22的发言:

像这个怎么先写个Hello
// include the library construction header file
#include <pro_ext.h>


void hello(ParamBlk  *parm) // the function definition
    {
    _PutStr("\nHello, World!\n"); //print the message
    }

// the FoxInfo structure registers the function
FoxInfo myFoxInfo[] = {
    {"HELLO",(FPFI) hello, 0, ""},
};

// the FoxTable structure
FoxTable _FoxTable = {
    (FoxTable  *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};





以下也是:
#include <pro_ext.h>

void FAR chars(ParamBlk FAR *parm)
{
   char message[] = "Hello, world";
   _RetChar(message);
}
FoxInfo myFoxInfo[] = {
   {"CHARS", (FPFI) chars, 0, ""}
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
2023-08-30 13:34
快速回复:FLL这么写吗?如果多个函数怎么写?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015610 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved