技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 375|回复: 6
收起左侧

【VFB】VisualFreeBasic:VisualBasic6望尘莫及之变量

[复制链接]

51

主题

80

帖子

642

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
502 个
贡献
1 次
宅之契约
0 份
在线时间
22 小时
注册时间
2017-12-26
发表于 2020-1-14 23:05:54 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x
VisualBasic6:微软出品、简单易用,虽然几十年前的,依旧生命顽强,以下简称:VB6

VisualFreeBasic:集合VB6的易用和采用c语言的优点及编程底层操作,VB6高手的进阶语言,以下简称:VFB


对于数值变量:

VB6有: 8位 16位 32位 有符号变量
VFB有: 8位 16位 32位 64位 无符号和有符号变量,以及大量的类型别名。

对于字符、字符串变量:

VB6:有UNICODE字符串“String”,无ANSI字符串
VFB:有UNICODE字符串“wString”,且有ANSI字符串“String”

对于指针变量:

VB6:无
VFB:ptr,如:Long ptr、String ptr。ptr不能单独用,前面要加上变量类型或者Any,比如“any ptr”

对于变量声明方式,同类型连续变量声明:

VB6:Dim A As Long, b As Long, C As Long
VFB:Dim As Long A, B, C

对于变量作用范围:

VB6:全局用Public,过程内用Dim
VFB:全局用Dim Shared,过程、代码块内用Dim   
例:
[Visual Basic] 纯文本查看 复制代码
If xxx Then
	Dim A As Long 
	If xxx Then 
		Dim B As Long	'就在 IF 范围内,过后就消失
		' 这里可以用 A 变量
	End If 
	' B 变量已经销毁
	If xxx Then 
		Dim B As Long	'就在 IF 范围内,过后就消失
	End If
End If
备注:上文所说的“代码块”包括Do、For、While等等。
[Visual Basic] 纯文本查看 复制代码
For I As Long = 0 To 100	' For 可以直接在语句中声明变量。只在 For 范围内有效
当一个函数内代码多时,就不需要为临时变量烦恼了,各用各的。


重新排版by @0xAA55

回复

使用道具 举报

36

主题

161

帖子

7386

积分

用户组: 管理员

UID
77
精华
11
威望
126 点
宅币
6775 个
贡献
143 次
宅之契约
0 份
在线时间
121 小时
注册时间
2014-2-22
发表于 2020-1-15 04:32:06 | 显示全部楼层
因为VB6不支持生成64位程序,10年前我跟你一样的纠结,尝试了N多号称能够替代VB6的软件,结果都是——白费功夫。

最后老老实实用C,结合VB6F4C库(把VB6的内置函数用C语言实现一次)找到熟悉的编码感觉,以及私人定制版的A5WNDX做界面。

前者因为写得太烂(而且已经多年没有维护)所以没有公开;后者的公开版本见:https://www.0xaa55.com/thread-1421-1-1.html

51

主题

80

帖子

642

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
502 个
贡献
1 次
宅之契约
0 份
在线时间
22 小时
注册时间
2017-12-26
 楼主| 发表于 2020-1-15 19:20:01 | 显示全部楼层
美俪女神 发表于 2020-1-15 04:32
因为VB6不支持生成64位程序,10年前我跟你一样的纠结,尝试了N多号称能够替代VB6的软件,结果都是——白费 ...

然而,你的是C,不是我们熟悉的B。
VFB 可以用我们熟悉的 VB 写出C 的感觉。

36

主题

161

帖子

7386

积分

用户组: 管理员

UID
77
精华
11
威望
126 点
宅币
6775 个
贡献
143 次
宅之契约
0 份
在线时间
121 小时
注册时间
2014-2-22
发表于 2020-1-16 23:46:05 | 显示全部楼层
勇芳软件 发表于 2020-1-15 19:20
然而,你的是C,不是我们熟悉的B。
VFB 可以用我们熟悉的 VB 写出C 的感觉。
...

这就是我想解释的地方。

如果用C++,又是类又是模板,复杂的语法的确让用惯VB人不太习惯。

但是纯粹的C语言其实跟BASIC语言一样简单。

28

主题

185

帖子

2122

积分

用户组: 版主

UID
1821
精华
6
威望
67 点
宅币
1644 个
贡献
129 次
宅之契约
0 份
在线时间
350 小时
注册时间
2016-7-12
发表于 2020-1-18 08:55:19 | 显示全部楼层
美俪女神 发表于 2020-1-16 23:46
这就是我想解释的地方。

如果用C++,又是类又是模板,复杂的语法的确让用惯VB人不太习惯。

纯c语法确实很简单,如果是从汇编转向c语言的很快就理解了 但是从数学转向c语言就没basic那么容易理解了

1065

主题

2462

帖子

6万

积分

用户组: 管理员

一只技术宅

UID
1
精华
221
威望
378 点
宅币
19808 个
贡献
41127 次
宅之契约
0 份
在线时间
1873 小时
注册时间
2014-1-26
发表于 2020-1-27 21:21:21 | 显示全部楼层
勇芳软件 发表于 2020-1-15 19:20
然而,你的是C,不是我们熟悉的B。
VFB 可以用我们熟悉的 VB 写出C 的感觉。
...

我帮你把帖子稍微排了个版

2

主题

21

帖子

79

积分

用户组: 小·技术宅

UID
5625
精华
0
威望
2 点
宅币
54 个
贡献
0 次
宅之契约
0 份
在线时间
3 小时
注册时间
2020-2-18
发表于 2020-2-18 09:01:01 | 显示全部楼层
美俪女神 发表于 2020-1-15 04:32
因为VB6不支持生成64位程序,10年前我跟你一样的纠结,尝试了N多号称能够替代VB6的软件,结果都是——白费 ...

可以生成在64位下运行就行!

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图  

GMT+8, 2020-9-28 03:27 , Processed in 0.101534 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表