Autor Tema: Calculadora IP  (Leído 2701 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado erc2762

  • PIC10
  • *
  • Mensajes: 3
Calculadora IP
« en: 21 de Marzo de 2012, 15:08:53 »
Hola que tal, espero que este tema no esté ya por ahí, he buscado y no encontré nada.

Bueno primero que nada me encargaron en la escuela realizar una calculadora IP, esto es que yo le de la IP la máscara y al presionar un botón me dé tanto el network id, host id, #redes, #host.

Por la simplicidad de Visual Basic opte por este lenguaje solo que tengo unos problemas. Al momento de querer  hacer una AND con dos valores, primero que nada, como hacerle para que al poner mi IP la tome como un numero binario? Segundo como hacer una AND entre este número binario y  la máscara.
Pongo lo que tengo de programación, Saludos

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Class FormPrincipal

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

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub LabelMascaras_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelMascaras.Click

    End Sub

    Private Sub TextMascara_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextMascara.TextChanged

    End Sub

    Private Sub ButtonIP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonIP.Click
        Dim numero As Integer
        numero = Val(TextMascara.Text)

        TextNetwork.Text = Bin(numero) * TextIP.Text
 End Sub
   

    Function Bin(ByVal Numero As Integer) As String
        Dim Binario As String
        Dim Inicial() As String
        Dim Final() As String
        Dim Contador As Integer
        Dim I As Integer
        Dim J As Integer
        Dim K As Integer
        Do
            Binario = Binario & CStr(Numero Mod 2)
            Numero = Numero \ 2
            Contador = Contador + 1
        Loop Until Numero < 1
        ReDim Inicial(Contador)
        ReDim Final(Contador)
        Binario = Trim(Binario)
        For I = 1 To Contador
            Inicial(I) = Mid$(Binario, I, 1)
            Debug.Print(Inicial(I))
        Next I
        Binario = ""
        For J = 1 To Contador
            Final(J) = Inicial(Contador + 1 - J)
        Next J
        For K = 1 To Contador
            Binario = Binario & Final(K)
        Next K
        Bin = Binario
    End Function

End Class