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 |