Autor
|
Tema: Ayuda! Separadores en un textbox (Leído 21,000 veces)
|
birdez
Desconectado
Mensajes: 114
|
la movida sq no tengo codigo sobre los separadores :S porque os preguntaba a ver como se podia hacer xq no se me ocurre la forma de escribirlo creo q es algo con la funcion Split pro ns si es asi o no si quereis os paso todo el codigo que tengo pro ya os digo q de esa parte no tenog nada en principio solo me intereserarian 3 separadosres que serian el espacio, la coma y el punto
|
|
|
En línea
|
|
|
|
seba123neo
|
hay muchas formas de hacer esto, expresiones regulares como siempre en esto es lo mas facil. Imports System.Text.RegularExpressions Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim vCadenaSucia As String = "H,,...?¡¡¡¿¿¿}Çä⌂×♂||---***+++@o()/&(@)&^@#><>?:\:';=-+_%$#'l[]a" 'Hola Dim vCadenaLimpia As String = Regex.Replace(vCadenaSucia, "[^0-9a-zA-Z ]+", "") MsgBox(vCadenaLimpia) End Sub End Class
|
|
|
En línea
|
|
|
|
birdez
Desconectado
Mensajes: 114
|
uuuuuuuffff eso e smuy chungoo!!!
yo lo que busco es algo solamente para comas, espacios, y puntos y q no seas las expresiones regulares esas q nunca las e visto :S
muchas gracias de todas formas pro si sabeis algo mas sencillo.....
gracias!
|
|
|
En línea
|
|
|
|
seba123neo
|
mas facil que eso no hay, tambien tratar de aprender algo nuevo no viene mal tampoco, si queres algo lo mas basico posible, recorre el string y con substring() vas sacando caracter por caracter y lo vas volcando a un string temporal, y si el caracter es una coma, punto o espacio lo ignoras.
|
|
« Última modificación: 30 Mayo 2012, 23:39 pm por seba123neo »
|
En línea
|
|
|
|
birdez
Desconectado
Mensajes: 114
|
sq el problema es q si el profesor no nos a explicado eso y le entro algo asi seguramente pensara q lo e copiado y q no e hecho yo nada ni me lo e currado ni nada y la verdad q es parte si xq me lo as dicho tu pro el resto de las cosas me las estoy intentando currar jajajaja
intentare acer lo del substring y si es un espacio, coma o punto como lo ignoro?
gracias
|
|
|
En línea
|
|
|
|
birdez
Desconectado
Mensajes: 114
|
mi codigo es el siguiente lo que pasa q no funciona y no se xq alguien puede echarle un vistazo y ayudarme xfa? gracias Codigo: Private Sub ButtonTraducir_Click(sender As System.Object, e As System.EventArgs) Handles ButtonTraducir.Click If String.IsNullOrWhiteSpace(TextBoxTexto.Text) Then MessageBox.Show("Introduce Texto a Traducir", "Información", MessageBoxButtons.OK) TextBoxTexto.Focus() ElseIf (RadioButtonEs.Checked And ComboBoxIdioma.SelectedIndex = 1) Or (RadioButtonIn.Checked And ComboBoxIdioma.SelectedIndex = 0) Then MessageBox.Show("No Se pueden hacer traducciones porque ha seleccionado mismo idioma de entrada y de salida", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Else If ComboBoxIdioma.SelectedIndex = 1 Then TextBoxTraducción.Text = traducir(dicEsp, dicIng, TextBoxTexto.Text) End If End If End Sub
Private Function traducir(diccionario1 As String(), diccionario2 As String(), frase As String) As String Dim palabra As String = "" Dim traduccion As String = "" Dim posicion As Integer = 0 Dim letra As String = ""
While posicion < frase.Length letra = frase(posicion) While frase(posicion) <> " " Or frase(posicion) <> "," Or frase(posicion) <> "." letra = frase(posicion) palabra = palabra & letra End While If palabra <> "" Then Dim a As Integer a = buscar(palabra, diccionario1) If a >= 0 Then traduccion = traduccion & diccionario2(a) traduccion = traduccion & letra palabra = "" End If
End If
posicion += 1 End While
Return traduccion
End Function
Private Function buscar(palabra As String, diccionario As String()) As Integer Dim posicion As Integer = -1
For i As Integer = 0 To diccionario.Length - 1 If palabra = diccionario(i) Then posicion = i Return posicion End If Next Return posicion End Function
gracias de nuevo
|
|
|
En línea
|
|
|
|
Roboto
|
mi codigo es el siguiente lo que pasa q no funciona y no se xq alguien puede echarle un vistazo y ayudarme xfa? gracias Codigo: Private Sub ButtonTraducir_Click(sender As System.Object, e As System.EventArgs) Handles ButtonTraducir.Click If String.IsNullOrWhiteSpace(TextBoxTexto.Text) Then MessageBox.Show("Introduce Texto a Traducir", "Información", MessageBoxButtons.OK) TextBoxTexto.Focus() ElseIf (RadioButtonEs.Checked And ComboBoxIdioma.SelectedIndex = 1) Or (RadioButtonIn.Checked And ComboBoxIdioma.SelectedIndex = 0) Then MessageBox.Show("No Se pueden hacer traducciones porque ha seleccionado mismo idioma de entrada y de salida", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Else If ComboBoxIdioma.SelectedIndex = 1 Then TextBoxTraducción.Text = traducir(dicEsp, dicIng, TextBoxTexto.Text) End If End If End Sub
Private Function traducir(diccionario1 As String(), diccionario2 As String(), frase As String) As String Dim palabra As String = "" Dim traduccion As String = "" Dim posicion As Integer = 0 Dim letra As String = ""
While posicion < frase.Length letra = frase(posicion) While frase(posicion) <> " " Or frase(posicion) <> "," Or frase(posicion) <> "." letra = frase(posicion) palabra = palabra & letra End While If palabra <> "" Then Dim a As Integer a = buscar(palabra, diccionario1) If a >= 0 Then traduccion = traduccion & diccionario2(a) traduccion = traduccion & letra palabra = "" End If
End If
posicion += 1 End While
Return traduccion
End Function
Private Function buscar(palabra As String, diccionario As String()) As Integer Dim posicion As Integer = -1
For i As Integer = 0 To diccionario.Length - 1 If palabra = diccionario(i) Then posicion = i Return posicion End If Next Return posicion End Function
gracias de nuevo mira,haz una cosa.... coge el texbox y metele el evento onkeypressed para k cada vez k metes una letra o un caracter,entre. y haces una comprobacion del string: por ejemplo: metes la letra a y el evento lo checkea. onkeypressed(sender e......){ atraves del sender,compruebas la key k metio. if (key=="." || key==" "....){ pues compruebas y la anulas } } ---------------------------------------------------- sorry,volvi a leer y entendi lo k kerias. lo k tienes k hacer es meter todas las palabras en un array,te recomiendo un arraylist. tienes k usar la funcion split para ir cortando las palabras,segun " ".;,
|
|
« Última modificación: 31 Mayo 2012, 10:06 am por l Galo l »
|
En línea
|
|
|
|
birdez
Desconectado
Mensajes: 114
|
con el metodo Split entoences tengo que hacerlo? y si me encuentro un espacio, un punto o una coma? que tengo que hacer?
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Lo que te dice Galo es algo que talvez tu profesor no te pide, el dice de traducirlo en tiempo real, asi como el traductor de google. Tu profesor quiere una funcion que dado un texto, lo traduzca, asique tienes que hacer con Split si. Ya que traduciras palabras sueltas segun dijiste, no necesitas muchas vueltas, eso si, traducira cualquier cosa a veces xD fijate que el traductor de google no solo traduce palabras sueltas, sino que dependiendo de la forma en que se escribe la frase, pero eso es ya para un traductor mas avanzado, tu solo te pidieron que traduzcas palabras sueltas, hacele caso al profesor xD Si tienes un codigo ya y no sabes porque no funciona, tienes que empezar a debuggear, poner BreakPoints, ir traceando el programa, si no sabes hacerlo tendrias que aprender porque asi le encuentras los bugs a tus programas o en este caso el porque no funciona bien. Mientras vas debuggeando vas viendo el valor de las variables, asi sabras cuales se traducieron bien sin problemas, etc. Pero te digo que haria yo.. yo tomaria ese texto, le haria un split solo de espacios, asi guardara de esta forma: Erase una vez, en la era de los dragones, una princesa malvada. Esta princesa era una maldita; por eso lo de princesa malvada jeje jeje
Es decir, quedara un array asi, y si te pones a fijar quedan los puntos y las comas y punto y coma. Asi que luego de eso, recorres el array para remplazar esos simbolos por nada. array[i].Replace(",", "") array[i].Replace(".", "") array[i].Replace(";", "") array[i].Replace(" ", "") // yo lo pondria por si algo no salio bien xD
Asi ahora te quedara: Erase una vez en la era de los dragones una princesa malvada Esta princesa era una maldita por eso lo de princesa malvada jeje jeje
Y solamente tendras que hacer tu verificacion de si existe esa palabra en tu lista para poder traducirla. Yo me organizaria mejor a como te estas creando las funciones, estas creando una funcion para que te devuelva la posicion de la palabra, pero puedes hacer una unica funcion que devuelva la traduccion directamente, dentro de la funcion veras si podes traducirla o no, y si no podes, entonces devolves la misma palabra.
|
|
|
En línea
|
|
|
|
birdez
Desconectado
Mensajes: 114
|
No mi traductor traduce palabras sueltas pro en cuando pongo un separador no hace nada xq no es igual q en el array pro el que me pidio el profesor debe traducir frases x eso quiero utilizar el split para q me detecta puntos, comas y espacion para poder acer frases ( el orden de la frase no importa , x ejemplo si pongo coche rojo no tiene q ponerme red car sino car red )
el problema es que en el codigo que tengo me "peta" en un END WHILE que de ahi no pasa y no se porque la verdad
y otra cosa q n se como se hace por ejemplo yo si tengo una frase con espacion y comas si despues en la traduccion como me pone las comas y los puntos en su sitio de antes?
si me puedes poner un ejemplo mejor sq no se xq l metodo split no lo pillo y eso q no tiene q ser chungo eh :S
gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con TextBox
« 1 2 »
Programación Visual Basic
|
kakinets
|
12
|
4,161
|
8 Octubre 2005, 19:33 pm
por noob_Setup
|
|
|
ayuda con list y textbox
Programación Visual Basic
|
dark_soul
|
2
|
1,645
|
26 Mayo 2006, 04:55 am
por Krnl64
|
|
|
tomar de un textbox, cambiar y pegar en otro textbox
Programación Visual Basic
|
Nakp
|
9
|
5,423
|
2 Septiembre 2006, 18:42 pm
por Nakp
|
|
|
Ayuda con textbox
Programación Visual Basic
|
mariana_87
|
2
|
1,788
|
19 Marzo 2009, 15:37 pm
por mariana_87
|
|
|
ayuda con textbox
Programación Visual Basic
|
mariana_87
|
2
|
1,840
|
23 Mayo 2009, 23:42 pm
por xkiz ™
|
|