PB调用C++编写的读写dbf文件头的DLL
来源:互联网 发布:周璇 五月的风 知乎 编辑:程序博客网 时间:2024/06/05 00:51
编译工具:VC++6.0
rwdbffilehead.cpp
// rwdbffilehead.cpp : Defines the entry point for the DLL application.//#include "stdio.h"#include "stdafx.h"#include "rwdbffilehead.h" #include "afx.h"BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ return TRUE;}/**向DBF文件头里写入校验字符,在12-13字节上。jk.zheng@20151211*/extern "C" _declspec(dllexport) int __stdcall OnWriteDbfHead(const char* DbfFileName,char str[2]){char *ch=str;FILE * m_DbfFile_fp; //****Dbf文件指针 //打开dbf文件if((m_DbfFile_fp=fopen(DbfFileName,"rb+"))==NULL) { return 0; } //向备用地址写入两个字符'y','k',用来验证使用fseek(m_DbfFile_fp,12,0);int ret;ret = fwrite(ch,sizeof(char),2,m_DbfFile_fp);//printf("%d",ret);fclose(m_DbfFile_fp);return ret;}/**从DBF文件头12-13字节上读取校验字符。jk.zheng@20151211*/extern "C" _declspec(dllexport) char* __stdcall OnReadDbfHead(const char* DbfFileName,char str[2]){ char *ch=str;FILE* m_DbfFile_fp; //****Dbf文件指针 //打开dbf文件if((m_DbfFile_fp=fopen(DbfFileName,"rb+"))==NULL) { return ch; } //指针跳到第12个字节位置,开始准备读取校验字符fseek(m_DbfFile_fp,12,0);//char ch[2];fread(ch,sizeof(char),2,m_DbfFile_fp); //printf("%c%c",ch[0],ch[1]);fclose(m_DbfFile_fp);return ch;}
rwdbffilehead.h
extern "C" _declspec(dllexport) int __stdcall OnWriteDbfHead(const char* DbfFileName,char str[2]);extern "C" _declspec(dllexport) char* __stdcall OnReadDbfHead(const char* DbfFileName,char str[2]);
rwdbffilehead.def
LIBRARY "rwdbffilehead"EXPORTS OnWriteDbfHead @1 OnReadDbfHead @2
编译的时候会出现错误,自己百度调试吧 。或者在我之前的帖子里有修改方法。
PB调用方法:将编译好的DLL拷贝至pb程序根目录。
函数声明:
function string OnReadDbfHead(ref string filename,char str[2]) library "rwdbffilehead.dll"function long OnWriteDbfHead(ref string filename,char str[2]) library "rwdbffilehead.dll"
写入:
char yzm[2]yzm={'y','k'}//验证码int li_retli_ret = OnWriteDbfHead(ls_zkk,yzm)if li_ret<>2 thenmessagebox('提示','写入错误。')returnend ifmessagebox('提示',string(li_ret))
读取:
char yzm[2]yzm = OnReadDbfHead(ls_zkk,yzm)if yzm[1]<>'y' and yzm[2]<>'k' thenmessagebox('提示','读取错误。')returnend ifmessagebox('提示',string(yzm))
0 0
- PB调用C++编写的读写dbf文件头的DLL
- PB调用C#编写的DLL
- PB调用C#编写的DLL
- PB调用C#编写的DLL
- 调用C语言编写的DLL文件
- PB调用C/C++写的dll
- 用c读写dbf文件的简单实现
- 如何用VC编写供PB调用的DLL
- 如何用VC编写供PB调用的DLL (转)
- pb调用DLL文件
- PB中调用DLL文件中类的成员
- 编写C#调用的C++DLL
- 编写C#调用的C++DLL
- JAVA JNI调用C编写的dll
- 编写C#调用的C++DLL
- 编写自己的C语言头文件
- 编写自己的C语言头文件
- 编写自己的C语言头文件
- unity3d 使用GL 方式画线
- fedora 23下中文输入法Unable to keep Input Method runjning
- Android 线程优先级设置方法
- 高精度乘法
- IOS常用第三方框架
- PB调用C++编写的读写dbf文件头的DLL
- JQuery中对option的添加、删除、取值
- Android Studio利用Gradle导出包含assets文件夹的jar包
- ios文件路径
- Python日期各种处理方式
- CSocketClient.h
- Android实际开发问题02------PullToRefresh
- 小微企业需要CRM客户关系管理软件吗?
- 使用JAVA Robot 扩展Webdriver 模拟键盘鼠标操作