当前位置:编程学习 > VB >>

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个点,通过什么方式处理比较好,谢谢大家。
--------------------编程问答--------------------
引用 1 楼  的回复:
你那数据是五个值,不是4个

你要如何比对?比大小还是比相等?以哪个为主?


是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 ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,