|
|
发表于 2007-3-13 22:54:00
|
显示全部楼层
Re:VB.net中使用XNA的学习站
啊啊阿啊啊阿啊啊阿啊啊~
真是无聊~
c#和vb.net根本就是一门语言,那就是.net,只是编译工具不同而已~
任何一个c#编写的程序,不用我去改写代码,用reflector就自己转换成相应的vb.net代码了,真不知道有什么好争的,举一个c#能办到,vb.net办不到的例子来(别来啥int *aa;此类代码,不是说做不到,vb.net中麻烦点而已)
PS,我最近研究操作系统中,前段时间用vb.net编写了一个我自己设计的文件系统镜像的读写(支持软驱或者硬盘)Post一小段代码,格式化的(完全没优化,代码很乱):
Public Sub Format(ByVal volume As String)
Dim tmp As Integer
tmp = Me.Kapazitaet \ 1024 \ 1024
If tmp >= 0 And tmp < 10 Then
Me.SectorsPerCluster = 1
ElseIf tmp >= 10 And tmp < 100 Then
Me.SectorsPerCluster = 4
ElseIf tmp >= 100 And tmp < 500 Then
Me.SectorsPerCluster = 8
ElseIf tmp >= 500 And tmp < 4000 Then
Me.SectorsPerCluster = 16
ElseIf tmp > 4000 Then
Me.SectorsPerCluster = 32
End If
CalculateSectorsPerFat()
Dim ran As New Random
Me.ID = ran.Next(&H10000000)
Me.Volume = volume
Dim tmp2 As New Int8P
Dim buffer() As Byte = StrToBytes("MY OS ")
Dim tmp3 As New ByteP(buffer)
Dim tmp4 As New ByteP(12)
tmp4.Value = StrToBytes(Me.Volume)
Dim stream As New Stream.Stream(m_fs)
stream.Position = 0
stream = stream << tmp2 << tmp2 << tmp2 << tmp3 << m_bytespersector
stream = stream << Me.m_sectorspercluster << Me.m_totalsectors << Me.m_media
stream = stream << Me.m_sectorsperFAT << Me.m_sectorsperTrack << Me.m_tracks << Me.m_heads
stream = stream << Me.m_ID << tmp4 << StrToBytes(Driver.m_FSType)
Dim tmp5 As New Int8P
tmp5.Value = 1
stream = stream << tmp5
stream.Position = 510
stream = stream << &HAA55
m_fs.Position = m_fs.Position - 2
Dim I As Integer
For I = 1 To Me.m_totalclusters
m_fs.WriteByte(253)
m_fs.WriteByte(255)
m_fs.WriteByte(255)
m_fs.WriteByte(255)
Next
Dim sec As UInteger
sec = 1 + Me.SectorsPerFAT
sec = sec * Me.BytesPerSector
stream.Position = sec
ReDim buffer(Me.BytesPerSector - 1)
For I = 1 To Me.SectorsPerFAT
m_fs.Write(buffer, 0, buffer.Length)
Next
RaiseEvent Formatted()
End Sub
|
|