Hola buenas tardes a todos
mi pregunta es la siguiente como puedo hacer para "evitar" las mayusculas o minusculas ?
mi problema es el siguiente estoy programando un traductor el cual contiene dos arrays uno en ingles y el otro en español, estos arrays contienen palabras como por ejemplo Hola, casa, perro Gato, .... y en el otro la traduccion d cada palabra.
Pues bn mi duda es cm podria acer paque que "pasase" de las mayusculas ya q si introduzco la palabra "Hola" me la traduce xq es la misma q la de mi array pro si introduzco "hola" no me la traduce xq no es igual
alguien puede ayudarme?
gracias!! un saludo!
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim vPalabra1 As String = "Hola"
Dim vPalabra2 As String = "hola"
MessageBox.Show(CBool(String.Compare(vPalabra1, vPalabra2, False)))
End Sub
End Class
http://msdn.microsoft.com/en-us/library/aa904311(v=vs.71).aspx
Usa el metodo ToLower()
pro el ToLower ami me aparece como una funcion no como un metodo es lo mismo?
o debo acer una funcion y pasarle pa matriz donde estan las palabras?
Cita de: birdez en 30 Mayo 2012, 22:17 PM
pro el ToLower ami me aparece como una funcion no como un metodo es lo mismo?
o debo acer una funcion y pasarle pa matriz donde estan las palabras?
al recorrer tu arreglo debes pasar todo a minuscula incluyendo todo lo que compares de esta forma no habrà problemas al comparar.
aca otro ejemplo
http://www.dotnetperls.com/tolower
yo para recorrer mi array ago esto :
Dim palabra As String = String.Format(TextBox1.Text)
For i As Integer = 0 To matrizesp.GetUpperBound(0)
If matrizesp(i) = cad Then
TextBox2.Text = matrizing(i)
Exit For
Else
TextBox2.Text = palabra
End If
Next
donde cad = a la palabra correguida por si x ejemplo se introduce perrrro que lo corrija
si quereis os paso todo el copdigo que tengo lo que pasa q tneog varios procedimientos y eso pro si os enterais mejor viendolo todo no tenog nignun problema en pasaroslo
gracias
Coloca todo y en codigo geshi por favor, yo realmente no manejo la sintaxis de visual basic pero igual si colocas todo podre intentarlo xD (me da fobia visual basic xD)
Codigo:
Imports System.Text.RegularExpressions
Imports System.IO
Public Class Form1
Dim matrizesp As String() = {"Hola", "casa", "perro", "gato"}
Dim matrizing As String() = {"Hello", "home", "dog", "cat"}
Dim nuevoarray As String() = {}
Dim texto As String
Dim espacio As String = " "
Dim coma As String
Dim punto As String
Dim nuevodialogo As New Dialog1
Dim nuevoform As New Form2
Dim nuevoformu As New Form3
Dim cad As String
''' <summary>
''' Al cargar el formulario introducimos los items en el combobox
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Add("Seleccione un idioma")
ComboBox1.Items.Add("Español")
ComboBox1.Items.Add("Ingles")
ComboBox1.SelectedIndex = 0
End Sub
Private Sub BotonTraducir_Click(sender As System.Object, e As System.EventArgs) Handles BotonTraducir.Click
Dim palabra As String = String.Format(TextBox1.Text)
If String.IsNullOrEmpty(TextBox1.Text) Then
MessageBox.Show("Debe introducir un texto para traducirlo")
TextBox1.Focus()
ElseIf ComboBox1.SelectedItem = "Seleccione un idioma" Then
MessageBox.Show("Debe elegir un idioma original")
ElseIf ComboBox1.SelectedItem = "Español" Then
texto = TextBox1.Text
corregir(texto)
If RadioButtonIng.Checked = True Then
For i As Integer = 0 To matrizesp.GetUpperBound(0)
If matrizesp(i) = cad Then
TextBox2.Text = matrizing(i)
Exit For
Else
TextBox2.Text = palabra
End If
Next
Else
MessageBox.Show("Debe elegir un idioma para traducir")
End If
ElseIf ComboBox1.SelectedItem = "Ingles" Then
texto = TextBox1.Text
corregir(texto)
If RadioButtonEsp.Checked = True Then
For i As Integer = 0 To matrizing.GetUpperBound(0)
If matrizing(i) = cad Then
TextBox2.Text = matrizesp(i)
Exit For
Else
TextBox2.Text = palabra
End If
Next
Else
MessageBox.Show("Debe elegir un idioma para traducir")
End If
End If
End Sub
Private Sub BotonSalir_Click(sender As System.Object, e As System.EventArgs) Handles BotonSalir.Click
Me.Close()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
If ComboBox1.SelectedItem = "Seleccione un idioma" Then
RadioButtonEsp.Enabled = False
RadioButtonIng.Enabled = False
End If
If ComboBox1.SelectedItem = "Español" Then
RadioButtonEsp.Enabled = False
RadioButtonIng.Enabled = True
End If
RadioButtonIng.Checked = False
If ComboBox1.SelectedItem = "Ingles" Then
RadioButtonIng.Enabled = False
RadioButtonEsp.Enabled = True
End If
RadioButtonEsp.Checked = False
End Sub
Private Sub ButtonAñadir_Click(sender As System.Object, e As System.EventArgs) Handles ButtonAñadir.Click
nuevodialogo.ShowDialog()
End Sub
Private Sub ButtonVerGuardadas_Click(sender As System.Object, e As System.EventArgs) Handles ButtonVerGuardadas.Click
nuevoform.ShowDialog()
End Sub
Private Sub ButtonModificacion_Click(sender As System.Object, e As System.EventArgs) Handles ButtonModificacion.Click
nuevoformu.ShowDialog()
End Sub
Public Function corregir(cadena As String) As String
cad = TextBox1.Text
cad = Regex.Replace(cadena, "(.)\1{1,}", "$1")
Return cad
End Function
hay teneis el codigo de lo q tengo echo hasta ahora a ver si podeis ayudarme gracias :)
viste mi respuesta ?
si lo q pasa q no la entiendo mb xq tal y como lo pusiste tu deberia hacer otro array con todas las palabras en español y antes de buscarlas compararla no?
lo q pasa q en un paso de mas adelante tengo q añadir palabras y claro si lo ago como creo q tu me lo as peusto deberia añadirlas a los 4 arrays y seria un poco liante no?
creo que esta claro, yo lo que te puse es para que veas como comparar 2 palabras e ignorar si esta en minuscula o mayusculas, es una linea de codigo nomas, no creo que sea dificil entender eso, despues vos adaptalo a los arrays que tenes en tu proyecto, nadie te lo va a hacer aca.
no no quiero q me lo hagan sino luego no se ni como se hace yo bsucaba la solucion del problema x si abia algun metodo o algo y me dijeron que el de ToLower y para q me explicaran como funciona
Cita de: birdez en 30 Mayo 2012, 23:54 PM
no no quiero q me lo hagan sino luego no se ni como se hace yo bsucaba la solucion del problema x si abia algun metodo o algo y me dijeron que el de ToLower y para q me explicaran como funciona
El to lower solo hace que tus letras pasen a minusculas y asi sean iguales pero debes pasar lo que entras y la variable. Es mas elegante lo que dice seba.
ok pues entocnes muchas gracias a los dos por vuestra informacion