求解释关于在vb中const用法,如下所述

为什么可以这样用Const SPIF_UPDATEINIFILE = &H1??SPIF_UPDATEINIFILE本身不就是vb的一个常数吗(api函数 SystemParametersInfo的参数fuWinIni的一个可取常量),怎么还可以给他赋值呢??这个貌似跟const pi =3.14159不同啊,求高人指点啊。

互换的青春
浏览 411回答 3
3回答

婷婷同学_

是常量的意思,而VB中的常量还有以下几种:1)直接常量指在程序中直接给出值的数据,如:123、123&、123.45、1.234E2 、123D3分别表示整型、长整型、单精度浮点型(小数形式)、单精度浮点型(指数形式)、双精度浮点型。八进制常数: 在数值前加&O ,如 &O123十六进制常数:在数值前加&H ,如&H1232)用户声明的符号常量用Const来声明: Const 符号常量名 [As 类型] = 表达式如:Const PI=3.14159 '声明了常量PI,代表3.14159,单精度型Const MAX As Integer=&O144 ''声明了常量MAX,代表八进制数144,整型Const COUNT#=45.67 '声明了常量COUNT,代表45.67,双精度型3)系统提供的常量系统定义的常量位于对象库中,在对象浏览器中的Visual Basic(VB)和Visual Basic for Aplication(VBA)等对象库中列出了VB的常量。这些常量可以与应用程序的对象、方法、属性一起使用。如:Form1.WindowsState=vbMaximized 表示将窗口极大化。

慕的地6264312

Const SPIF_UPDATEINIFILE = &H1与const pi =3.14159是一样的。SPIF_UPDATEINIFILE是api中的常量,但她并不是VB的常量。所以在vb中还要定义。(api函数不是vb的一部分)

慕仙森

怎么不一样,都是定义常量的方法;API函数中传参中有的是一些固定的值,而定义为SPIF_UPDATEINIFILE 是为了更加的清晰和规范!调用API过程和常量的定义函数:Declare Function SystemParametersInfo Lib "user32"Alias "SystemParametersInfoA" (ByVal uAction As Long,ByVal uParam As Long, ByVal lpvParam As Any, ByValfuWinIni As Long) As LongfuWinIni 的值:SPIF_UPDATEINIFILE(值为1)Or SPIF_SENDWININICHANGE(值为2)SPIF_UPDATEINIFILE 和 SPIF_SENDWININICHANGE 这两个值在VB中还是需要定义的!API中变量和VB中式不冲突的!Const SPIF_UPDATEINIFILE =&H1Const SPIF_SENDWININICHANGE=&H2调用:SystemParametersInfo SPI_SETSCREENSAVEACTIVE,True,0&, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
打开App,查看更多内容
随时随地看视频慕课网APP