勇芳软件 发表于 2020-1-14 23:05:54

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

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   
例: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等等。For I As Long = 0 To 100        ' For 可以直接在语句中声明变量。只在 For 范围内有效当一个函数内代码多时,就不需要为临时变量烦恼了,各用各的。

重新排版by @0xAA55

美俪女神 发表于 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。

勇芳软件 发表于 2020-1-15 19:20:01

美俪女神 发表于 2020-1-15 04:32
因为VB6不支持生成64位程序,10年前我跟你一样的纠结,尝试了N多号称能够替代VB6的软件,结果都是——白费 ...

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

美俪女神 发表于 2020-1-16 23:46:05

勇芳软件 发表于 2020-1-15 19:20
然而,你的是C,不是我们熟悉的B。
VFB 可以用我们熟悉的 VB 写出C 的感觉。
...

这就是我想解释的地方。

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

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

Ayala 发表于 2020-1-18 08:55:19

美俪女神 发表于 2020-1-16 23:46
这就是我想解释的地方。

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


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

0xAA55 发表于 2020-1-27 21:21:21

勇芳软件 发表于 2020-1-15 19:20
然而,你的是C,不是我们熟悉的B。
VFB 可以用我们熟悉的 VB 写出C 的感觉。
...

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

海南怪人 发表于 2020-2-18 09:01:01

美俪女神 发表于 2020-1-15 04:32
因为VB6不支持生成64位程序,10年前我跟你一样的纠结,尝试了N多号称能够替代VB6的软件,结果都是——白费 ...

可以生成在64位下运行就行!
页: [1]
查看完整版本: 【VFB】VisualFreeBasic:VisualBasic6望尘莫及之变量