• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Joca

Exibir um numero numa ordem inversa em pares

2 mensagens neste tópico

Queria inverter um numero hexadecimal, como o referido no exemplo seguinte usando o número "354".

Dá para fazer essa inversão aos pares:

-> com uma função simples já disponível no Vb2005;

-> ou, com várias funções "Mid";

-> ou estou condenado a algo mais complexo?...

Public Class Form1

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

        ' Se eu escrevo "354" na RichTextBox1Decimal, 
        ' então, tenho de obter "62010000" na RichTextBox3HexInvertido...

        If RichTextBox1Decimal.Text = "" And RichTextBox2Hex.Text = "" Then

            MsgBox("Tem de introduzir valores!", _
            MsgBoxStyle.Exclamation, _
            "Aviso!")

        ElseIf RichTextBox1Decimal.Text <> "" Then

            RichTextBox2Hex.Text = Hex(RichTextBox1Decimal.Text)

        ElseIf RichTextBox2Hex.Text <> "" Then

            RichTextBox1Decimal.Text = CInt("&H" & RichTextBox2Hex.Text)

        End If


        Dim ParaInverterEmPares As String

        ParaInverterEmPares = RichTextBox2Hex.Text

        
        'RichTextBox3HexInvertido.Text = StrReverse(ParaInverterEmPares)
        RichTextBox3HexInvertido.Text = Mid(ParaInverterEmPares, 2)


        


    End Sub
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estava a substituir uma parte do código acima usando a função Format mas, se

eu escrever "354" na RichTextBoxDecimal a mesma não exibe os números "00000162"

na RichTextBoxHex. Alguém me sabe dizer o porquê?

Public Class Form1

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

        ' Se eu escrevo "354" na RichTextBox1Decimal, 
        ' então, tenho de obter "62010000" na RichTextBox3HexInvertido...

        If RichTextBox1Decimal.Text = "" And RichTextBox2Hex.Text = "" Then

            MsgBox("Tem de introduzir valores!", _
            MsgBoxStyle.Exclamation, _
            "Aviso!")

        ElseIf RichTextBox1Decimal.Text <> "" Then

            'RichTextBox2Hex.Text = Hex(RichTextBox1Decimal.Text)
            RichTextBox2Hex.Text = Format(Hex(RichTextBox1Decimal.Text), "00000000")
           
        ElseIf RichTextBox2Hex.Text <> "" Then

            RichTextBox1Decimal.Text = CInt("&H" & RichTextBox2Hex.Text)

        End If


        Dim ParaInverterEmPares As String

        ParaInverterEmPares = RichTextBox2Hex.Text

        
        'RichTextBox3HexInvertido.Text = StrReverse(ParaInverterEmPares)
        RichTextBox3HexInvertido.Text = Mid(ParaInverterEmPares, 2)



    End Sub
End Class

           

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora