Título: ayuda con instrucción
Publicado por: SγиtαxEяяoя en 6 Julio 2013, 04:51 am
Hola estoy intentando hacer algo por ejemplo Tengo un "Textbox" y un "Button" el cual cumple una funcion simple.. revisar si hay texto en el "Textbox" y si cumple un parametro el cual compara un texto Como lo logro hacer? EDITO:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Me.TextBox1.Text = "" Then 'Hey que paso ¿Falta la URL? MessageBox.Show("Inserte URL", "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error]) ElseIf Not ((Me.TextBox1.Text.Contains("https://soundcloud.com/")) Or (Me.TextBox1.Text.Contains("http://soundcloud.com/"))) Then 'Por si la pagina esta en https:// o en http:// MessageBox.Show("Esta no es una URL de Soundcloud", "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error]) End If End Sub
Título: Re: ayuda con instrucción
Publicado por: Eleкtro en 6 Julio 2013, 06:12 am
Te pasaste un poco al agrupar tantas veces las condiciones ((((()))), eso es lo que falla, están mal agrupadas, de todas formas te lo he mejorado un poco: Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles Button1.Click ' Creamos una expresión regular con el patrón de direcciones válidas. Dim SoundCloud_RegEx As New System.Text.RegularExpressions.Regex("(http://|https://)(www\.)?soundcloud.com/.+?") ' Patrón de búsqueda: ' http://soundcloud.com/Texto ' https://soundcloud.com/Texto ' http://www.soundcloud.com/Texto ' https://www.soundcloud.com/Texto ' Aquí almacenaremos la url del TextBox. Dim URL As Uri Try ' Seteamos la Url del TextBox. URL = New Uri(TextBox1.Text.ToLower) Catch 'ex As Exception MessageBox.Show("El formato de la URL no es correcto, intente de nuevo.", _ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try ' Comprobamos la longitud de la url del TextBox. Select Case URL.ToString.Length Case 0 ' La longitud es 0. MessageBox.Show("El campo de la URL está vacío, porfavor introduzca una URL.", _ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub Case Else ' La longitud es diferente a 0. ' Comprobamos si el RegEx encuentra coincidencias con la URL del TextBox. If Not SoundCloud_RegEx.IsMatch(URL.ToString) Then MessageBox.Show("La URL introducida no corresponde a Soundcloud, intente de nuevo.", _ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Select End Sub
EDITO: Aparte, una cosa sin importancia, pero que en el futuro puede darte error y no darte cuenta de la razón... los square brackets sobran [] aquí: Su uso es muy especial. EDITO 2: Si usases un RegEx quedaría más simplificado el código, pero bueno, tal como te lo dejé te sirve.EDITO 3: Dejo aquí posteada la versión antigua por si el regex de antes no funcionase con todas las urls: Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles Button1.Click ' Seteamos en un Array las urls que consideramos válidas. Dim Valid_URLs() As String = "http://www.soundcloud.com/ https://www.soundcloud.com/ http://soundcloud.com/ https://soundcloud.com/".ToLower.Split(ChrW(32)).ToArray ' Aquí almacenaremos la url del TextBox. Dim URL As Uri Try ' Seteamos la Url del TextBox. URL = New Uri(TextBox1.Text.ToLower) Catch 'ex As Exception MessageBox.Show("El formato de la URL no es correcto, intente de nuevo.", _ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try ' Comprobamos la longitud de la url del TextBox. Select Case URL.ToString.Length Case 0 ' La longitud es 0. MessageBox.Show("El campo de la URL está vacío, porfavor introduzca una URL.", _ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub Case Else ' La longitud es diferente a 0. For Each Valid_URL As String In Valid_URLs If URL.ToString.StartsWith(Valid_URL) Then ' Se encontró una URL válida, así que salimos del ciclo y de la subrutina. Exit Sub End If Next ' Si hemos llegado hasta aquí significa que no se encontró ninguna URL válida. MessageBox.Show("La URL introducida no corresponde a Soundcloud, intente de nuevo.", _ "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Select End Sub
Saludos
Título: Re: ayuda con instrucción
Publicado por: SγиtαxEяяoя en 6 Julio 2013, 07:18 am
Te pasaste un poco al agrupar tantas veces las condiciones ((((()))), eso es lo que falla, están mal agrupadas, de todas formas te lo he mejorado un poco: EDITO: Aparte, una cosa sin importancia, pero que en el futuro puede darte error y no darte cuenta de la razón... los square brackets sobran [] aquí: Su uso es muy especial. EDITO 2: Si usases un RegEx quedaría más simplificado el código, pero bueno, tal como te lo dejé te sirve. Saludos Esto porque lo vi en un tutorial del MSDN al usar los MessageBox Igual Electro... gracias tu codigo va todo perfecto justo lo que necesitaba
Título: Re: ayuda con instrucción
Publicado por: Eleкtro en 6 Julio 2013, 07:22 am
Igual Electro... gracias tu codigo va todo perfecto justo lo que necesitaba
De nada, mírate de nuevo el código le puse el regex. Saludos
|