标题:typedef struct 来对译一下C的结构,VFP如何表达,高手请进
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
要解释结构,先要了解结构成员的属性:数据类型、大小。
有些特别另类的结构还要搞清楚“对齐”的问题,否则VFP读写此结构有可能会不正确。
2022-12-20 16:24
iswith
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:154
专家分:101
注 册:2013-5-14
得分:0 
然后我需要怎么做才能把结构在VFP生成?
2022-12-21 12:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 12楼 iswith
就是一块连续的内存空间依次存放着各成员数据
2022-12-21 12:44
iswith
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:154
专家分:101
注 册:2013-5-14
得分:0 
以下是引用donotspam在2022-12-21 13:09:03的发言:



有没有V 表说明!我看着头晕
2022-12-21 16:31
pvm2000
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:24
帖 子:159
专家分:256
注 册:2022-12-22
得分:7 
你可以将整个结构定义为一个字符串,自己知道哪些字节是为哪些成员分配的就可以操作了
2022-12-23 17:30
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
得分:0 
C的结构就是以0值结尾(chr(0))或者是.null.的字串,在VFP中也是可以表示的。某些Win32函数调用,需要传入结构类型的数据。如设置系统时间,需求传入日期时间类型的结构,结构体不一样在VFPP中的组装方式也会不一样的。在VFP中利用SetLocalTime函数调用设置系统日期或时间
  set date ansi
  set century on
  set hours to 24
  *假定设置系统日期、时间为:1999,9,1
  nDate=ctod('1999-09-01')
  oldtime=TIME()             &&取当前时间
  nHo=VAL(subs(oldtime,1,2))       &&取当前时间-时
  nSe=VAL(SUBSTR(oldtime, 4, 2))     &&取当前时间-分
  nMi=VAL(SUBSTR(oldtime, 7, 2))     &&取当前时间-秒
  nMM=VAL(RIGHT(oldtime, 2))       &&取当前时间-毫秒
  cBuf=h2str(YEAR(nDate))+h2str(MONTH(nDate))+h2str(DOW(nDate) - 1)+;
    h2str(DAY(nDate))+h2str(nHo)+h2str(nSe)+h2str(nMi)+h2str(nMm)
  *&&将转换后的二进制字符连接
  DECLARE SHORT SetLocalTime IN win32api STRING SystemTime
    =SetLocalTime(cBuf)       &&设置系统日期
  Retu
2022-12-26 02:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510979-1-1.html




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

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