VB关于结构体
向大家请教一个问题,我定义了一个结构体,Public Type DatAlarm
Station As long
Transporter As long
point As long
State As long
End Type
然后有4个函数读取这4个元素的值
GetStarNeTSourceStation(),
GetStarNeTDestinationStation(),
GetStarNeTTransponderNumber(),
GetStarNeTPoint(),
GetStarNeTPointState()
Station Transporter Point State Defence
0 0 0 1 1
0 0 1 1 2
0 0 2 1 3
0 0 3 1 4
0 0 4 1 5
0 0 5 1 6
0 0 6 1 7
0 0 7 1 8
0 1 0 1 9
0 1 1 1 10
0 1 2 1 11
0 1 3 1 12
0 1 4 1 13
0 1 5 1 14
0 1 6 1 15
0 1 7 1 16
我需要将读取到的这4个值行比对,然后再赋值给Defence,请教大家一下,通过什么方式来做比较好。谢谢大家了!
--------------------编程问答-------------------- 你那数据是五个值,不是4个
你要如何比对?比大小还是比相等?以哪个为主? --------------------编程问答-------------------- 比如:
If (alarmdata.Station = 1 And alarmdata.Transporter = 1 and alarmdata.point=1 and alarmdata.State=OPEN ) Then
Text5.Text = "The Defence 1 is alarming"
但是我有500个点,通过什么方式处理比较好,谢谢大家。
--------------------编程问答--------------------
是4个,后面的 Defence 是我需要前面4个参数对比后将值赋给Defence的
比对只是我的一个想法,我想先建一个表,将读取到的参数和表对比,
比如
Station Transporter Point State Defence
0 0 5 1
那么Defence赋值6
通过数据库查询来做能实现不?
--------------------编程问答-------------------- 大家帮帮忙啊,提示一个解决办法,我自己去查
--------------------编程问答-------------------- 数组、循环。 --------------------编程问答-------------------- 结构都用了, 那就直接用类吧, 类里面用4个公共变量加一个方法函数. 函数就是你上面那个比较的过程.
然后定义该类的数组, 循环执行类的方法即可. --------------------编程问答-------------------- 仔细观察lz的例子,可以发现:
Station Transporter Point State Defence
这里前面4个变量确定了后面的defence,
defence大约有=state + point +8 * transporter +...
因为lz给的数据的规则没有完全说明,比如 0 0 1 0 和0 0 0 1是不是一个输出?
最高的station是多少权?
如果你能制定更详细的,可以不用查表只用运算就能得到defence.
如果4个变量的范围是0-9,那么这就是一个4位数而已,就不需要用结构了.建个表就足够了
如果4个变量的范围都是0-255,那么建立一个4位字符串的表,也不用结构...
补充:VB , 基础类