VB 怎样用变量代替常量
#####################开始###################
Dim FocusValue '记录焦点坐标的变量
Dim ColFoValue '记录取色点坐标的变量
FocusValue = Val(Text5.Text)'接收坐标值并赋值到变量
ColFoValue = Val(Text6.Text)'接收坐标值并赋值到变量
SetCursorPos FocusValue '把焦点定在指定的位置(报错,提示"必选参数")
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
h = GetDC(0) '取得整个屏幕的DC
Colr = GetPixel(h, ColFoValue) '取指定坐标的颜色(报错提示"必选参数")
ReleaseDC 0, hdc '释放hDC
###################结束####################
因为这两个坐标值是变化的,需要通过填Text才能确定具体是多少,不能定成具体的常量数据.但是用变量又会报错,怎么办呢?
如果SetCursorPos FocusValue
Colr = GetPixel(h, ColFoValue)
中的FocusValue和ColFoValue改成具体的坐标如100, 200就能通过测试了...但是又不符合要求了
不行呃...还是提示“必选参数”
唉...改了后还是提示“必选参数” 展开
变量和常量使用:
在 Visual Basic 中执行应用程序期间,用变量临时存储数值。变量有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。
可以把变量看作内存中存放未知值的所在处。例如,假定正在为水果铺编一个销售苹果的软件。在销售实际发生之前并不知道苹果的价格和销量。此时,可以设计两个变量来保存未知数— 将它们命名为
ApplePrice 和 ApplesSold。每次运行程序时,用户就这两个变量提供具体值。为了计算总的销售额,并且将结果显示在名叫 txtSales 的文本框中,代码应该是这样的:txtSales.txt = ApplePrice * ApplesSold
变量是用来存储值的所在处;它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
根据缺省规定,如果在声明中没有说明数据类型,则令变量的数据类型为 Variant。Variant 数据类型很象一条变色龙—
它可在不同场合代表不同数据类型。当指定变量为 Variant 变量时,不必在数据类型之间进行转换,Visual Basic 会自动完成各种必要的转换。如果知道变量确实总是存储特定类型的数据,并且还声明了这种特定类型的变量,则 Visual Basic
会以更高的效率处理这个数据。例如,存储人名的变量最好表示成 String 数据类型,因为名字总是由字符组成。常量(常数),使用在程序代码中反复出现的很难记住的数字或字符串。这些情况下,可用常数大幅度地改进代码的可读性和可维护性。常数是有意义的名字,取代永远不变的数值或字符串。
Const 语句,声明用于代替文字量的常数。
Const 语句示例:
该示例使用 Const 语句来声明用于代替文字值的常数。Public
常数在标准模块的通用部分声明,而不是在类模块中声明。Private 常数可以在任何模块类型的通用部分声明。'缺省情况下常数是私有的。
Const MyVar = 459
'声明公用常数。
Public Const MyString = "HELP"
'声明私有的整数常数。
Private Const MyInt As Integer = 5
'在一行中声明多个常数。
Const MyStr = "Hello", MyDouble As Double = 3.4567
Dim FocusValue '记录焦点坐标的变量
Dim ColFoValue '记录取色点坐标的变量
FocusValue = Val(Text5.Text)'接收坐标值并赋值到变量
ColFoValue = Val(Text6.Text)'接收坐标值并赋值到变量
SetCursorPos Val(Text5.Text) '把焦点定在指定的位置(报错,提示"必选参数")
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
h = GetDC(0) '取得整个屏幕的DC
Colr = GetPixel(h, Val(Text6.Text)) '取指定坐标的颜色(报错提示"必选参数")
ReleaseDC 0, hdc '释放hDC
估计是这个函数搞的鬼,
一般来讲SetCursorPos x,y 是这样子用的