应怎样确定VB中定义的变量的类型? VB中dim定义的变量是什么类型?

vb\u4e2d\u5982\u4f55\u5224\u65ad\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b

typename

TypeName \u51fd\u6570 \u8fd4\u56de\u4e00\u4e2a String\uff0c\u63d0\u4f9b\u6709\u5173\u53d8\u91cf\u7684\u4fe1\u606f\u3002\u8bed\u6cd5TypeName(varname)\u5fc5\u8981\u7684 varname \u53c2\u6570\u662f\u4e00\u4e2a Variant\uff0c\u5b83\u5305\u542b\u7528\u6237\u5b9a\u4e49\u7c7b\u578b\u53d8\u91cf\u4e4b\u5916\u7684\u4efb\u4f55\u53d8\u91cf\u3002\u8bf4\u660eTypeName \u6240\u8fd4\u56de\u7684\u5b57\u7b26\u4e32\u53ef\u4ee5\u662f\u4e0b\u9762\u5217\u4e3e\u7684\u4efb\u4f55\u4e00\u4e2a\u5b57\u7b26\u4e32\uff1a\u8fd4\u56de\u5b57\u7b26\u4e32\u53d8\u91cf\u5bf9\u8c61\u7c7b\u578b\u7c7b\u578b\u4e3a objecttype \u7684\u5bf9\u8c61Byte\u4f4d\u503cInteger\u6574\u6570Long\u957f\u6574\u6570Single\u5355\u7cbe\u5ea6\u6d6e\u70b9\u6570Double\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570Currency\u8d27\u5e01Decimal\u5341\u8fdb\u5236\u503c Date\u65e5\u671fString\u5b57\u7b26\u4e32\u5e03\u5c14\u5e03\u5c14\u503cError\u9519\u8bef\u503cEmpty\u672a\u521d\u59cb\u5316Null\u65e0\u6548\u6570\u636eObject\u5bf9\u8c61Unknown\u7c7b\u578b\u672a\u77e5\u7684\u5bf9\u8c61 Nothing\u4e0d\u518d\u5f15\u7528\u5bf9\u8c61\u7684\u5bf9\u8c61\u53d8\u91cf\u5982\u679c varname \u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u5219\u8fd4\u56de\u7684\u5b57\u7b26\u4e32\u53ef\u4ee5\u662f\u4efb\u4f55\u4e00\u4e2a\u540e\u9762\u6dfb\u52a0\u4e86\u7a7a\u62ec\u53f7\u7684\u53ef\u80fd\u7684\u8fd4\u56de\u5b57\u7b26\u4e32\uff08\u6216 Variant\uff09\u3002\u4f8b\u5982\uff0c\u5982\u679c varname \u662f\u4e00\u4e2a\u6574\u6570\u6570\u7ec4\uff0c\u5219 TypeName \u8fd4\u56de "Integer()"\u3002

\u662f\u52a8\u6001\u7c7b\u578b,\u800c\u4e14\u662f\u79c1\u6709\u7684!\u5c31\u662f\u7a0b\u5e8f\u8fd0\u884c\u540e\u8f93\u51fa\u7684\u503c\u4e0d\u7ba1\u6309\u591a\u5c11\u6b21\u90fd\u662f\u4e00\u6837\u7684!\u4f46\u662f\u9759\u6001\u7684\u5c31\u4f1a\u7d2f\u79ef\u5728\u5185\u5b58\u4e0a,\u5728\u4e0a\u4e00\u6b21\u7684\u8fd0\u7b97\u7ed3\u679c\u518d\u7d2f\u52a0\u4e0a\u53bb!

变量

在 Visual Basic 中执行应用程序期间,用变量临时存储数值。变量有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。

可以把变量看作内存中存放未知值的所在处。例如,假定正在为水果铺编一个销售苹果的软件。在销售实际发生之前并不知道苹果的价格和销量。此时,可以设计两个变量来保存未知数— 将它们命名为 ApplePrice 和 ApplesSold。每次运行程序时,用户就这两个变量提供具体值。为了计算总的销售额,并且将结果显示在名叫 txtSales 的文本框中,代码应该是这样的:

txtSales.txt = ApplePrice * ApplesSold

每次根据用户提供的数值,这个表达式返回不同的金额。由于有了变量,就可以设计一个算式,而不必事先知道实际的输入是多少。

在这个例子中,ApplePrice 的数据类型是货币,而 ApplesSold 的数据类型是整数。变量还可以表示许多其它数值,比如:文本数值、日期、各种数值类型,甚至对象也在此列。

存储和检索变量中的数据
用赋值语句进行计算,并将结果赋予变量:

ApplesSold = 10 '将值 10
'传给变量。
ApplesSold = ApplesSold + 1 '变量值
'增一。

注意,例子中的等号是赋值符,并不是等于操作符;它将数值 (10) 赋予变量 (ApplesSold)。

声明变量
声明变量就是事先将变量通知程序。要用 Dim 语句声明变量,Dim 语句提供了变量名:

Dim variablename [As type]

在过程内部用 Dim 语句声明的变量,只有在该过程执行时才存在。过程一结束,该变量的值也就消失了。此外,过程中的变量值对过程来说是局部的— 也就是说,无法在一个过程中访问另一个过程中的变量。由于这些特点,在不同过程中就可使用相同的变量名,而不必担心有什么冲突和意想不到变故。

变量名:

必须以字母开头。

不能包含嵌入的句号或者嵌入的类型声明字符。

不得超过 255 个字符。

在同一个范围内必须是唯一的。范围就是可以引用变量的变化域— 一个过程、一个窗体等等。
由于 Dim 语句中的可选的 As type 子句,可以定义被声明变量的数据类型或对象类型。数据类型定义了变量所存储信息的类型。String、Integer 和 Currency 都是数据类型的例子。变量也可以包含来自 Visual Basic 或其它应用程序的对象。Object、Form1 和 TextBox 都是 Visual Basic 对象类型或类的实例。

详细信息 关于对象的更详细的信息,请参阅“用对象编程”和“用部件编程”。在本章后面的“数据类型”部分将详细讨论数据类型。

声明变量的其它方式:

不在过程内部,而在窗体、标准或类模块的声明段声明变量,这将使变量对模块中的所有过程有效。

用 Public 关键字声明变量,这将使变量在整个应用程序中有效。

用 Static 关键字声明一个局部变量,那么,即使过程结束,变量的值也仍然保留着。
隐式声明
在使用一个变量之前并不必先声明这个变量。 例如,可以书写这样一个函数,在其中就不必在使用变量 TempVal 之前先声明它:

Function SafeSqr (num)
TempVal = Abs (num)
SafeSqr = Sqr (TempVal)
End Function

Visual Basic 用这个名字自动创建一个变量,使用这个变量时,可以认为它就是显式声明的。虽然这种方法很方便,但是如果把变量名拼错了的话,会导致一个难以查找的错误。例如,假定写了这样一个函数:

Function SafeSqr (num)
TempVal = Abs (num)
SafeSqr = Sqr (TemVal)
End Function

乍看起来,这两段代码好象是一样的。但是因为在倒数第二行把 TempVal 变量名写错了,所以函数总是返回 0。当 Visual Basic 遇到新名字,它分辨不出这是意味着隐式声明了一个新变量呢,还是仅仅把一个现有变量名写错了,于是只好用这个名字再创建一个新变量。

显式声明
为了避免写错变量名引起的麻烦,可以规定,只要遇到一个未经明确声明就当成变量的名字,Visual Basic 都发出错误警告。

要显式声明变量,请

在类模块、窗体模块或标准模块的声明段中加入这个语句:
Option Explicit
—或—

在“工具”菜单中选取“选项”,单击“编辑器”选项卡,再复选“要求变量声明”选项。这样就在任何新模块中自动插入 Option Explicit 语句,但不会在已经建立起来的模块中自动插入;所以在工程内部,只能用手工方法向现有模块添加 Option Explicit。

如果对包含 SafeSqr 函数的窗体或标准模块执行该语句,那么 Visual Basic 将认定 TempVal 和 TemVal 都是未经声明变量,并为两者都发出错误信息。随后就可以显式声明 TempVal。

Function SafeSqr (num)
Dim TempVal
TempVal = Abs (num)
SafeSqr = Sqr (TemVal)
End Function

因为 Visual Basic 对拼错了的 TemVal 显示错误信息,所以能够立刻明白是什么问题。由于 Option Explicit 语句有助于抓住这些类型的错误,所以最好在所有代码中使用它。

注意 Option Explicit 语句的作用范围仅限于语句所在模块,所以,对每个需要 Visual Basic 强制显式变量声明的窗体模块、标准模块及类模块,必须将 Option Explicit 语句放在这些模块的声明段中。如果选择“要求变量声明”,Visual Basic 会在后续的窗体模块、标准模块及类模块中自动插入 Option Explicit,但是不会将它加入到现有代码中。必须在工程中通过手工将 Option Explicit 语句加到任何现有模块中。

首先,是声明变量的时候声明为什么类型。
其次,就是变体变量,在变体变量中储存什么类型数据,就是什么类型。

索性Dim a (后面什么都不写,变体型,省事。)

typeof不行么?

  • VB缂栫▼:Dim a, b As Integer璇彞瀹氫箟鐨勫彉閲绫诲瀷涓哄摢涓?
    绛旓細鍏剁粨鏋滄槸锛歜琚0鏄庝负Integer绫诲瀷锛岃宎涓虹己鐪佺殑Variant绫诲瀷銆傚湪Visual Basic涓紝瀹氫箟鍙橀噺鐨鍏抽敭瀛楁湁Dim銆丼tatie銆丷eDim銆丳ublic鎴朑lobal锛屽畠浠湪浣跨敤涓婃槸涓嶅悓鐨勶細Dim鐢ㄤ簬鏍囧噯妯″潡銆佺獥浣撴ā鍧楁垨杩囩▼涓畾涔鍙橀噺鎴栨暟缁勶紱Static鐢ㄤ簬鍦ㄨ繃绋嬩腑瀹氫箟闈欐佸彉閲忔垨鏁扮粍锛汸ublic鎴朑lobal璇彞鐢ㄤ簬鍦ㄦ爣鍑嗘ā鍧椾腑瀹氫箟鍏ㄥ眬鍙橀噺鎴栨暟缁...
  • VB閲屽彉閲鍜屾暟鎹绫诲瀷鎬庝箞鏇村ソ鐨勭悊瑙?
    绛旓細閭d箞浣犲彲浠ヤ换浣曠獥浣撱佺被锛屾ā鍧椾腑浣跨敤姝ゅ彉閲 鍙橀噺鏄敤鏉ヤ繚瀛樻暟鎹殑锛屾牴鎹暟鎹殑绫诲瀷鏉ラ夋嫨鍙橀噺鐨勭被鍨锛屾瘮濡 1234 浣犲彲浠ョ敤Integer鏁村瀷鏉ヤ繚瀛 锛屽鏋滄槸杈冮暱鐨勫 123456 鍙互鐢↙ong闀挎暣鍨 褰撶劧瀛楃涓茬被鍨婼tring涔熷彲浠ヤ繚瀛橈紝浣嗗畠浼氬崰鐢ㄥ緢鍦ㄧ殑鍐呭瓨绌洪棿锛屾墍浠ヤ竴瀹氳鏍规嵁瀹為檯鎯呭喌浠ュ強鏁版嵁绫诲瀷閫夋嫨鍙橀噺绫诲瀷 鍙橀噺瀹氫箟 ...
  • VB浠涔堟槸绫籚B閲岄潰绫鐨勬蹇垫槸浠涔
    绛旓細銆傜劧鍚庡彲浠ヨ皟鐢ㄥ璞$殑瀹炰緥鏂规硶瀹炵幇涓浜涘姛鑳姐傜浉鍚岀被鐨勫疄渚嬪叡浜浉鍚岀殑瀹炰緥鏂规硶銆傞櫎浜嗗疄渚嬪彉閲忓拰鏂规硶锛岀被涔熷彲浠瀹氫箟绫鍙橀噺鍜岀被鏂规硶銆傚彲浠ヤ粠绫荤殑瀹炰緥涓垨鑰呯洿鎺ヤ粠绫讳腑璁块棶绫诲彉閲鍜屾柟娉曘傜被鏂规硶鍙兘鎿嶄綔绫诲彉閲 - 涓嶅繀璁块棶瀹炰緥鍙橀噺鎴栧疄渚嬫柟娉曘傜郴缁熷湪绗竴娆″湪绋嬪簭涓亣鍒颁竴涓被鏃朵负杩欎釜绫诲缓绔嬪畠鐨勬墍鏈夌被鍙橀噺鐨鎷疯礉...
  • VB涓dim瀹氫箟鐨勫彉閲鏄粈涔堢被鍨?
    绛旓細鏄姩鎬佺被鍨,鑰屼笖鏄鏈夌殑!灏辨槸绋嬪簭杩愯鍚庤緭鍑虹殑鍊间笉绠℃寜澶氬皯娆¢兘鏄竴鏍风殑!浣嗘槸闈欐佺殑灏变細绱Н鍦ㄥ唴瀛樹笂,鍦ㄤ笂涓娆$殑杩愮畻缁撴灉鍐嶇疮鍔犱笂鍘!
  • vb涓畾涔璇彞 dim i 鍏朵腑,鍙橀噺i绌剁珶鏄粈涔堢被鍨?
    绛旓細涓鑸琩im璇彞鐨勬牸寮忎负锛歞im <鍙橀噺鍚> [as 鏁版嵁绫诲瀷]鍏朵腑锛氬彉閲忓悕涓虹鍚VB瑙勫畾鐨勬湁鏁堝悕绉帮紝濡傦細A锛宨锛孒1锛孲hu锛...鏁版嵁绫诲瀷鏈夛細鏁村瀷锛坕nteger)锛岄暱鏁村舰锛坙ong)锛屽崟绮惧害鏁帮紙single)锛屽瓧绗︿覆锛坰tring)锛屽竷灏斿瀷锛坆oolean)銆佸彉浣撶被鍨嬶紙variant)绛夌瓑 涓嫭鍙穂 ]鍐呯殑鍐呭鍙互鐪佺暐锛岃繖鏃讹紝榛樿鍙橀噺鐨勭被鍨涓...
  • 绠杩VB甯搁噺鍙鍙橀噺鐨勫畾涔
    绛旓細锛1锛塪im锛氱敤浜庡湪鏍囧噯妯″潡路绐椾綋妯″潡涓畾涔鍙橀噺鍜屾暟缁勩傜敤as string鍙互瀹氫箟鍙橀暱瀛楃涓插彉閲忥紝涔熷彲浠ュ畾涔夊畾闀垮瓧绗︿覆鍙橀噺銆傚彉闀垮瓧绗︿覆鍙橀噺鏈韩鐨勯暱搴﹀彇鍐充簬璧嬬粰瀹冪殑瀛楃涓插父閲忕殑闀垮害锛屽畾闀垮瓧绗︿覆鍙橀噺鐨闀垮害閫氳繃鍔犱笂鈥*鏁板尖濇潵纭畾銆傛敞鎰忥細褰撳湪涓涓猟im璇彞涓畾涔夊涓彉閲忔椂锛屾瘡涓彉閲忛兘瑕佺敤as瀛愬彞澹版槑鍏剁被鍨...
  • 1.鍦VB涓,鑻ヨ姹傚己鍒舵寚瀹鍙橀噺鐨鏁版嵁绫诲瀷,搴旇鍦ㄤ唬鐮佺獥鍙d腑鐨勭敤澹版槑娈...
    绛旓細Option Explicit銆丳reserve Option Explicit 璇彞鍦ㄦā鍧楃骇鍒腑浣跨敤锛屽己鍒舵樉寮忓0鏄庢ā鍧椾腑鐨勬墍鏈夊彉閲忋侽ption Explicit 璇彞蹇呴』鍐欏湪妯″潡鐨勬墍鏈夎繃绋嬩箣鍓嶃傚鏋滄ā鍧椾腑浣跨敤浜 Option Explicit锛屽垯蹇呴』浣跨敤 Dim銆丳rivate銆丳ublic銆丷eDim 鎴 Static 璇彞鏉ユ樉寮忓0鏄庢墍鏈鐨勫彉閲銆傚鏋滀娇鐢ㄤ簡鏈0鏄庣殑鍙橀噺鍚嶅湪缂栬瘧鏃朵細鍑虹幇...
  • 鍦VB涓浣曞畾涔夊彉閲?
    绛旓細C椤规槸鍚堟硶鐨勩傚湪VB6涓紝鍙橀噺鐨鍛藉悕蹇呴』閬靛惊浠ヤ笅瑙勫垯锛1銆佸彉閲忓悕蹇呴』浠ュ瓧姣嶆垨涓嬪垝绾挎墦澶达紝鍚嶅瓧涓棿鍙兘鐢卞瓧姣嶃佹暟瀛楀拰涓嬪垝绾库淿鈥濈粍鎴愶紱鏈鍚庝竴涓瓧绗﹀彲浠ユ槸绫诲瀷璇存槑绗︼紱2銆佸彉閲忓悕鐨勯暱搴︿笉寰楄秴杩255涓瓧绗︼紱3銆佸彉閲忓悕鍦ㄦ湁鏁堢殑鑼冨洿鍐呭繀椤绘槸鍞竴鐨勩4銆佸彉閲忓悕涓嶈兘鏄VB涓殑淇濈暀瀛楋紙鍏抽敭瀛楋級锛屼篃涓嶈兘鏄湯灏...
  • 鍦vb涓庝箞纭畾杩欎釜鏄璞鍙橀噺,鐢ㄤ粈涔堝尯鍒嗘櫘閫氬彉閲忓拰瀵硅薄鍙橀噺
    绛旓細dim a if isobject(a) then msgbox "a is object var"else msgbox "not"end if vartype(exp)鍙互鍒ゆ柇鍙橀噺鏄粈涔堢被鍨嬪寘鎷槸鏁扮粍涔嬬被鐨 杩樻湁涓涓猼ypename(exp)寰楀埌鐨勬槸绫诲瀷鏂囨湰 姣斿 dim a as string msgbox typename(a)杩斿洖鐨勬槸 String 娉ㄦ剰杩欎釜缁撴灉鏄尯鍒嗗ぇ灏忓啓鐨勶紝濡傛灉浣犺寰楁曞嚭閿欏彲浠ヨ浆鎹负鍏...
  • 鍦VB璇█涓,浠涔堟槸姝g‘鐨勫彉閲忓畾涔璇彞,鎬鍒ゆ柇
    绛旓細鐒跺悗 渚嬪瀹氫箟涓涓彉閲廰 鍏舵牸寮忎负 dim(瀹氫箟锛塧锛堝彉閲忥級as锛堝睘浜庯級integer锛堟暣褰 绫诲瀷锛 鍙橀噺鐨琛ㄨ揪寮忎负 鍙橀噺=琛ㄨ揪寮 锛屼緥濡 a= text1.text 鍏朵腑text1.text 涓哄璞$偣灞炴у悕 瀵硅薄.灞炴у悕=灞炴у=琛ㄨ揪寮 杩欏氨鏄悎娉鐨勫彉閲琛ㄨ揪寮 甯屾湜妤间富閲囩撼 ...
  • 扩展阅读:在利用visual basic ... vb正确的变量名 ... vba public变量 ... vb定义一个变量 ... 在vb中变量的默认类型是 ... vb标签内容怎么输入 ... excel vba 宣告变数 ... vb定长数组 ... vb定义变量的方法有几种 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网