NOTA: El programa completo (tanto el que fue creado originalmente en Visual Basic 2005 como el que fue convertido a Visual Basic 2008), incluido el código fuente, archivo msflxgrd.ocx y documento Word se encuentran disponibles para descargar en http://www.jaimemontoya.com/networking/subneteovisualbasic.php
Este programa fue originalmente creado en Visual Basic 2005, y luego ejecutado en Visual Basic 2008, simplemente generando la conversión que ofrece Visual Basic 2008:
Primeramente, este programa requiere del objeto FlexGrid. Para incorporarlo, copiar el archivo msflxgrd.ocx en la carpeta C:Windowssystem en Windows Vista, o C:WindowsSystem32 en Windows XP. Este archivo tiene las siguientes propiedades:
Luego, para que Visual Basic 2008 tenga acceso a este recurso, se debe hacer lo siguiente:
Tools > Choose Toolbox Items…
Clic en la pestaña COM Components, luego clic en Browse… y buscar el archivo C:Windowssystemmsflxgrd.ocx en Windows Vista o C:WindowsSystem32msflxgrd.ocx en Windows XP, que se debe haber ubicado ahí previamente. Al haber encontrado el archivo, hacer clic en Open.
Este es el archivo que debe aparecer con un cheque una vez se haya encontrado y abierto mediante el botón Browse…:
Hacer clic en OK.
Código del Programa (utilizando el programa que fue convertido a Visual Basic 2008)
Código en Form1.vb
Imports System.Text
Public Class Form1
Private Sub TextBoxocteto1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBoxocteto1.KeyPress
If (Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Then "Los únicos caracteres que se permitirá introducir en el TextBoxocteto1 serán los números del 0 al 9 (ASCII del 48 al 57) y el retroceso de espacio o backspace para borrar números introducidos, que es el ASCII 8.
Dim numdigitosocteto1 As Integer = Len(TextBoxocteto1.Text) "Para contar cuántos dígitos hay en el TextBoxocteto1.
If numdigitosocteto1 = 3 And (Asc(e.KeyChar) <> 8) Then "Si ya hay tres dígitos, ya no se podrá escribir otro, pues el máximo que se puede escribir es 255, pero siempre se podrá usar la tecla Backspace.
e.KeyChar = "" "Borra el dígito que se ha digitado.
End If
Else "Si la tecla presionada es diferente de un dígito o de la tecla Backspace.
e.KeyChar = "" "Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos.
End If
End Sub
Private Sub TextBoxocteto1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBoxocteto1.KeyUp
End Sub
Private Sub TextBoxocteto1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxocteto1.TextChanged
End Sub
Private Sub TextBoxocteto2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBoxocteto2.KeyPress
If (Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Then "Los únicos caracteres que se permitirá introducir en el TextBoxocteto2 serán los números del 0 al 9 (ASCII del 48 al 57) y el retroceso de espacio o backspace para borrar números introducidos, que es el ASCII 8.
Dim numdigitosocteto2 As Integer = Len(TextBoxocteto2.Text) "Para contar cuántos dígitos hay en el TextBoxocteto2.
If numdigitosocteto2 = 3 And (Asc(e.KeyChar) <> 8) Then "Si ya hay tres dígitos, ya no se podrá escribir otro, pues el máximo que se puede escribir es 255, pero siempre se podrá usar la tecla Backspace.
e.KeyChar = "" "Borra el dígito que se ha digitado.
Página siguiente |