vb.net51,vb510

vb.net 时间统计问题

一楼风中的奶牛的做法很棒,建议楼主采纳他的回答。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的铁锋网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

只是其中有一个Bug,就是“倒数第二次累计分钟数为59,累计秒数达到60的时候,会出现**:60:**”。例如{"10:57:35", "2:02:51"},我这里做了修改,供参考。

另外,AddByInts中不需要进行循环和Select判断,可以简化。

同时,为了说明类和结构的关系,这里改用类。

也请一楼风中的奶牛勿怪罪在下啊!

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Dim str As String() = {"10:30:35", "2:02:51", "17:00:35", "2:02:51"}

Dim str As String() = {"10:57:35", "2:02:51"}

Dim time As TimeSerial = New TimeSerial

For Each dt As String In str

time.Add(dt)

Next

MsgBox(time.ToString)

End Sub

End Class

Public Class TimeSerial

Public Hour As Integer ' 时间的小时部分

Public Minute As Integer ' 时间的分钟部分

Public Second As Integer ' 时间的秒钟部分

' 合并添加新的时间值

' param name="value"文本时间格式(00:00:00)/param

Public Sub Add(ByVal value As String)

Dim arr As String() = Split(value, ":")

Dim dts(arr.Length - 1) As Integer

For i As Integer = 0 To arr.Length - 1

dts(i) = CInt(Val(arr(i)))

Next

AddByInts(dts)

End Sub

' 合并添加新的时间值

' param name="value"时间值(仅计算:时、分、秒)/param

Public Sub Add(ByVal value As Date)

Dim dts(2) As Integer

dts(0) = value.Hour

dts(1) = value.Minute

dts(2) = value.Second

AddByInts(dts)

End Sub

Private Sub AddByInts(ByVal value As Integer())

Second += value(2)

If Second = 60 Then

Minute += Int(Second / 60)

Second = Second Mod 60

End If

Minute += value(1)

If Minute = 60 Then

Hour += Int(Minute / 60)

Minute = Minute Mod 60

End If

Hour += value(0)

End Sub

' 获取时间的文本格式(00:00:00)

Public Overrides Function ToString() As String

Return Hour ":" Minute ":" Second

End Function

End Class

我是学网站开发的,ASP。NET(VB)可以用在51单片机开发上吗?

哈,先说一下单片机的开发语言吧,主要有 C 和 汇编,也有人用Ada的。由于 VB 不支持硬件操作,所以我还没听说过谁用VB来控制单片机的~~~~~~~~~~~不过网上说VB可以和单片机通讯,如果你的目的只是通讯而已那就简单了。通讯和控制,两者不一样吧?

ASP.Net,好像也不多人用VB吧,大都是 C# 。ASP 用 VBS,

也不是VB呵。

其实要开发单片机学好 C 和 单片机的结构就差不多了。作为一名专业人员,C 语言是必须要学的,不懂 C 的话~~~~不可能不学 C。

你还是花多点时间在 硬件知识上吧,C 用三两个月就可以学会了,

但是硬件知识就不是三两个月的事了。

你看着办吧,老大。

vb.NET一个找出数组最大最小值的程序有个小问题 谁看一下

你是不是应该对最大值和最小值赋初值(比如把 r(1) 赋给最大值和最小值)呢?不然最小值默认初始值是‘0’,后面的判断就不起作用了。你可以加个断点试试,他们的初始值是多少。。。

请教用VB.NET向网口发送16进制的数的方法.

很有意思。

原文数据全为:“00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ”

加密后变成了:“09 51 55 F4 FB 10 6F A4 D3 E8 87 46 F8 2F 49 CD ; ”

得出这样的结果是有很多方法都可以实现的:

比如每个原数上加上个常数就可以了。

00+09=09;得出第一组加密后的数值

00+51=51;得出第二组加密后的数值

...

00+CD=CD;得出第16组加密后的数值.

加密的方法还有很多,不过这种最简单。

还有就是你给的原文太单一了,不能够更好的分析数据的规律。

如果你能把原文改为如下这段代码再去加密一下,再把加密结果贴上来看一下就好多了。

00000140h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;

00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;

00000160h: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 ; 00000170h: 00 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0 ;

00000180h: 11 11 11 11 11 22 22 22 22 22 22 EE EE EE FF FF ;

以上是单片机高手团为您解答。

如果还没解决你的问题,可以加我百度HI账号。

vb.net 串口收发数据有问题

不知道你是不是用51单片机往串口发数据,是的话那是因为51的sbuf最多存放8个字节,所以你发12个字节会分成两次发完。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据。

老兄,提问还是给点悬赏分嘛,不要吝啬哪点分,知识是无价的,你给得越多,回答你的人才会越多。

vb.net 数组赋值问题

vb.net已经去掉了控件数组这个类,不过有个代替该方式的一个属性:tag,你可以把这些关联的tag属性设置为同一标记,如:a。然后遍历所有的checkbox并且tag为a的则选定:

protected

sub

chkall_click()

for

each

ctl

as

control

in

me.controls

''如果checkbox在一个容器里,比如groupbox,那可以用groupbox.controls

if

ctl.gettype().name.tolower()

=

"checkbox"

then

ctype(ctl,

checkbox).checked

=

checkbox3.checked

end

if

next

end

sub


分享文章:vb.net51,vb510
文章链接:http://scyanting.com/article/dsgpgge.html