Pues mira, he creado dos labels para identificar cada valor, y tengo dos textbos para q el usuario introduzca los valores del Vector A y B, ademas he creado dos botones el de calcular y salir. En el boton de calcular he puesto este codigo:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'En esta parte he puesto que el valor del textbox 1 y 2 sean mayores o igaules a 0 y menores o iguales q a 15
If Val(TextBox1.Text >= 0 And Val(TextBox2.Text <= 15)) Then
'
'Iniciamos las listas a ordenar (puede sustituir este proceso
'por otro de lectura con el fin de tomar los datos de entrada
'estandar)
Dim VectorA() As Integer = {"0", "2", "4", "6", "8", "10", "12", "14", "16", "18", "20"}
Dim VectorB() As Integer = {"10", "20", "30", "40", "50", "60", "70", "80", "90", "100"}
'Declarar la matriz que va a almacenar el resultado de
'fusionar las dos anteriores
Dim vectorC(VectorA.Length + VectorB.Length) As Integer
'Fusionar VectorA y VectorB y almacenar el Resultadoen VectorC
'El metodo "Fusionar" devolvera un 0 cuando no se pueda
'realizar la funcion.
Dim ind, r As Double
r = Fusionar(VectorA, VectorB, vectorC)
'Escribir la matriz resultante
If (r <> 0) Then
For ind = 0 To VectorB.Length - 1
MessageBox.Show("La suma de los vectores es: " & vectorC(ind))
Next
Else
MessageBox.Show("Error")
End If
Else
'Como podras ver aqui le he puesto que si el usuario introduce un valor q no esta en el rango permitido, que le muestre un msj, de la indicacion y q cierre el programa
MessageBox.Show("Ha introducido valores no permitidos")
MessageBox.Show("Intente de nuevo")
MessageBox.Show("Solo se permite un valor maximo de 15")
Me.Close()
End If
End Sub
**Cabe destacar que los label no permiten letras, ya que para eso encontre una funcion que pude emplear a la perfeccion, dicha funcion esta hecha en un modulo y es la siguiente:
Module Module1
Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
End Module
**Y luego lo invoco en cada uno de los labels, de la siguiente manera:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
KeyAscii = CShort(SoloNumeros(KeyAscii))
If KeyAscii = 0 Then
e.Handled = True
End If
**Y para que la funcion trabaje a la perfeccion se invoco de la siguiente manera
Public Class Form1
Inherits System.Windows.Forms.Form
'Aqui es en donde se invoca
Public KeyAscii As Short
Y eso es todo el codigo que tengo hasta el momento, nose si hay de mas o falta algo o nose si esta bien en la forma que se los he planteado, espero que me puedand ayudar amigos de este Gran foro, les estare eternamente agradecidos
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'En esta parte he puesto que el valor del textbox 1 y 2 sean mayores o igaules a 0 y menores o iguales q a 15
If Val(TextBox1.Text >= 0 And Val(TextBox2.Text <= 15)) Then
'
'Iniciamos las listas a ordenar (puede sustituir este proceso
'por otro de lectura con el fin de tomar los datos de entrada
'estandar)
Dim VectorA() As Integer = {"0", "2", "4", "6", "8", "10", "12", "14", "16", "18", "20"}
Dim VectorB() As Integer = {"10", "20", "30", "40", "50", "60", "70", "80", "90", "100"}
'Declarar la matriz que va a almacenar el resultado de
'fusionar las dos anteriores
Dim vectorC(VectorA.Length + VectorB.Length) As Integer
'Fusionar VectorA y VectorB y almacenar el Resultadoen VectorC
'El metodo "Fusionar" devolvera un 0 cuando no se pueda
'realizar la funcion.
Dim ind, r As Double
r = Fusionar(VectorA, VectorB, vectorC)
'Escribir la matriz resultante
If (r <> 0) Then
For ind = 0 To VectorB.Length - 1
MessageBox.Show("La suma de los vectores es: " & vectorC(ind))
Next
Else
MessageBox.Show("Error")
End If
Else
'Como podras ver aqui le he puesto que si el usuario introduce un valor q no esta en el rango permitido, que le muestre un msj, de la indicacion y q cierre el programa
MessageBox.Show("Ha introducido valores no permitidos")
MessageBox.Show("Intente de nuevo")
MessageBox.Show("Solo se permite un valor maximo de 15")
Me.Close()
End If
End Sub
**Cabe destacar que los label no permiten letras, ya que para eso encontre una funcion que pude emplear a la perfeccion, dicha funcion esta hecha en un modulo y es la siguiente:
Module Module1
Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
End Module
**Y luego lo invoco en cada uno de los labels, de la siguiente manera:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
KeyAscii = CShort(SoloNumeros(KeyAscii))
If KeyAscii = 0 Then
e.Handled = True
End If
**Y para que la funcion trabaje a la perfeccion se invoco de la siguiente manera
Public Class Form1
Inherits System.Windows.Forms.Form
'Aqui es en donde se invoca
Public KeyAscii As Short
Y eso es todo el codigo que tengo hasta el momento, nose si hay de mas o falta algo o nose si esta bien en la forma que se los he planteado, espero que me puedand ayudar amigos de este Gran foro, les estare eternamente agradecidos