首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QB64中的冲突字段语句

QB64中的冲突字段语句
EN

Stack Overflow用户
提问于 2019-05-08 07:15:27
回答 1查看 94关注 0票数 2

当运行此代码时,testfile.000似乎包含"00“,testfile.001包含"99",那么,为什么这些文件之间没有冲突??它应该抛出一个“重复定义”吗?

代码语言:javascript
复制
file1$ = "testfile.000"
file2$ = "testfile.001"
OPEN file1$ FOR RANDOM AS #1 LEN = 2
FIELD #1, 2 AS x$
OPEN file2$ FOR RANDOM AS #2 LEN = 2
FIELD #2, 2 AS x$
LSET x$ = "99"
PUT 1, 1
PUT 2, 1
END
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-04 14:06:06

在您的代码中,第二个FIELD声明将重写第一个FIELD声明。在基本情况下,FIELD语句中声明的变量应该是不同的。

如果您使用下面的代码,您会看到一个有趣的结果:

文件testfile.000将包含1212 (只有第一个LSET设置文件#1的字段x$ )

001文件将包含1488 (两个LSET都设置文件#2的字段x$ )。

代码语言:javascript
复制
file1$ = "testfile.000"
file2$ = "testfile.001"
OPEN file1$ FOR RANDOM AS #1 LEN = 2
FIELD #1, 2 AS x$
LSET x$ = "12"

OPEN file2$ FOR RANDOM AS #2 LEN = 2
FIELD #2, 2 AS x$
LSET x$ = "14"

PUT #1, 1: REM This puts 12 into the 1st file#1 record.
PUT #2, 1

LSET x$ = "88"
PUT #1, 2: REM this puts 12 into the 2nd file#1 record
PUT #2, 2

CLOSE #1
CLOSE #2
END

在QB中,可以使用二进制文件,如下面的代码所示。此模式允许您在多个文件上写入相同的变量。

当您使用这类文件时,您将完全控制数据在文件中的大小和位置。

代码语言:javascript
复制
file1$ = "testfile.000"
file2$ = "testfile.001"
OPEN file1$ FOR BINARY AS #1
OPEN file2$ FOR BINARY AS #2

x$ = "29"
PUT #1, 1, x$
PUT #2, 1, x$

CLOSE #1
CLOSE #2
END
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56035423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档