| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2223 人关注过本帖
标题:VFP调用外部函数问题
只看楼主 加入收藏
jxwcy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-5-16
收藏
得分:0 
本人只是这个设备的使用者,因为工作需要增加一些功能,以前做过类似东西,没想到这个厂家DLL会是这种函数,十几年前学过点程序设计,各种语言都不精,类以前几乎没用过,大侠给的例子更是真心看不太懂,正在努力补习中,不知道能理解多少。谢谢二位了!
2013-05-17 14:04
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
以下是引用jxwcy在2013-5-17 13:37:07的发言:

我曾试过用一个长度足够的string变量作为参数,但只能取到一个name的值,用substr()也读不到这个变更name后面的内容,是不是以string变更做参数,只能被赋予第一个name的内容,后面传递不回来啊?
说白了就是这样
假设参数为 lcString

name = substr(lcString,1,32)
sex = substr(lcString,33,4)
nation = substr(lcString,37,20)
.............................

下面会了吧

个性太多,无法显示
2013-05-17 14:04
jxwcy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-5-16
收藏
得分:0 
我早就这么试过,不行啊,只有第一个name有内容,后面都取不到。
lcstring=space(300)
fpath="fname.bmp"
getpersonmsga(@lcstring,@fpath)
name=substr(lcstring,1,32)
sex=substr(lcstring,33,4)
......



[ 本帖最后由 jxwcy 于 2013-5-17 14:24 编辑 ]
2013-05-17 14:08
jxwcy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-5-16
收藏
得分:0 
大侠们帮忙直接写下代码吧,真心的学不会了,别再让我参照例子学习了
2013-05-17 15:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
你先测试一下这3个字符串:
程序代码:
cBuffer = SPACE(296)
GetPersonMsgA(@cBuffer, "文件名字符串")
cTemp = LEFT(cBuffer, 32)
cName = LEFT(cTemp, AT(CHR(0), cTemp, 1) - 1)
cBuffer = SUBSTR(cBuffer, 33)
cTemp = LEFT(cBuffer, 4)
cSex = LEFT(cTemp, AT(CHR(0), cTemp) - 1)
cBuffer = SUBSTR(cBuffer, 1, 5)
cTemp = LEFT(cBuffer, 20)
cNation = SUBSTR(cTemp, AT(CHR(0), cTemp) - 1)

授人以渔,不授人以鱼。
2013-05-17 18:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你把用GetPersonMsgA(@cBuffer, "文件名字符串")读到的cBuffer写到低级二进制文件中传上来,多弄些数据,一个接一个写即可。知道怎么弄吗?

[ 本帖最后由 TonyDeng 于 2013-5-17 19:40 编辑 ]

授人以渔,不授人以鱼。
2013-05-17 19:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用jxwcy在2013-5-17 14:04:38的发言:

本人只是这个设备的使用者,因为工作需要增加一些功能,以前做过类似东西,没想到这个厂家DLL会是这种函数,十几年前学过点程序设计,各种语言都不精,类以前几乎没用过,大侠给的例子更是真心看不太懂,正在努力补习中,不知道能理解多少。谢谢二位了!

这是什么设备有警察和验证码的?

授人以渔,不授人以鱼。
2013-05-17 19:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
还是把数据弄上来再说吧

授人以渔,不授人以鱼。
2013-05-18 11:03
jxwcy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-5-16
收藏
得分:0 
终于搞定,其实我最早的方法就已经读到数据,只是忽略了那个结束符,造成了后面的显示以及其他字符串运算上结果不正确,以后得千万记得要把这个“\0”干掉再玩别的
感谢版主以及回帖的大侠!

[ 本帖最后由 jxwcy 于 2013-5-20 13:12 编辑 ]
2013-05-20 13:09
快速回复:VFP调用外部函数问题
数据加载中...
 
   



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

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