Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' New Packet Structure & Functions Library
- ' Developer: Tony Araújo (OrochiElf)
- ' Version: 0.0.1
- ' Compress/Tested Date: 27/12/2015 - 3PM | 15H (BRA)
- Public Class Packet
- Public packetData As String = Nothing ' Armazena os valores em uma linha de texto
- Private readerPos As Integer = 1 ' Início da leitura dos valores da linha de texto
- Public Sub New(ByVal _packetData As String)
- Me.packetData = _packetData
- End Sub
- Public Function write(ByVal _writeValue As Object) ' Escreve um novo valor na memoria do packet
- If Me.packetData = Nothing Then
- Me.packetData = "|"
- End If
- Me.packetData = Me.packetData & _writeValue.ToString & "|"
- Return True
- End Function
- Public Function read(ByVal index As Integer) ' Faz leitura e separação de cada valor da memoria
- If Me.packetData.ToString = Nothing Then
- Return False
- End If
- Dim packetValues As String() = Me.packetData.Split(New Char() {"|"})
- If index > 0 Then
- Return packetValues(index).ToString
- End If
- Return packetValues.Length
- End Function
- Public Function length() As Integer ' retorna o tamanho total do packet
- Return read(0)
- End Function
- Public Function readInteger() As Integer ' retorna um valor numérico de dentro do packet de acordo com a posição do leitor
- Dim retInt As New Integer
- If readerPos > read(0) Then
- retInt = read(readerPos)
- Me.readerPos += 1
- Return retInt
- End If
- Me.readerPos = 0
- Return Nothing
- End Function
- Public Function readString() As String ' ' retorna um valor de texto de dentro do packet de acordo com a posição do leitor
- Dim retStr As String
- If readerPos < read(0) Then
- retStr = read(readerPos)
- Me.readerPos += 1
- Return retStr
- End If
- Me.readerPos = 0
- Return Nothing
- End Function
- Public Function readBoolean() As Boolean ' retorna um valor booleano de dentro do packet de acordo com a posição do leitor
- Dim retBool As New Boolean
- If readerPos < read(0) Then
- retBool = read(readerPos)
- Me.readerPos += 1
- Return retBool
- End If
- Me.readerPos = 0
- Return Nothing
- End Function
- Public Function readPacket() As Packet ' retorna um valor em formato de packet do packet de acordo com a posição do leitor
- Dim retPckt As New Packet("")
- If readerPos < read(0) Then
- retPckt.write(read(readerPos))
- Me.readerPos += 1
- Return retPckt
- End If
- Me.readerPos = 0
- Return Nothing
- End Function
- Public Function toBytes() As Byte() ' transforma o packet em bytes
- Dim retBytes() As Byte = System.Text.Encoding.UTF8.GetBytes(Me.packetData)
- Return retBytes
- End Function
- Public Function toPacket(ByVal _bytes As Byte()) ' transforma as bytes em packet
- Me.packetData = System.Text.Encoding.UTF8.GetString(_bytes)
- Return True
- End Function
- End Class
Add Comment
Please, Sign In to add comment