elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda! Separadores en un textbox
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] 2 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda! Separadores en un textbox  (Leído 21,290 veces)
birdez

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Ayuda! Separadores en un textbox
« en: 30 Mayo 2012, 17:39 pm »

Hola buenas tardes a todos

Necesito saber como puedo detectar los espacios, comas, puntos, puntos apartes, ..... en un textbox ya que estoy realizando un traductor y solo consigo que me detecte palabras sueltas y las traduzca a otro textbox :S ,  en cuanto le pongo un separador no hace nada y era x si alguien me podría ayudar en este aspecto

muchas gracias a todos un saludo!


En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #1 en: 30 Mayo 2012, 18:01 pm »

Para detectar caracteres tipo coma, punto, espacio, punto y coma.. lo haría con expresiones regulares. Pero como no las domino, lo hago inicializando una Matriz que contendrá los Separadores. Una Matriz no es más que la colección de datos de un mismo tipo, separados u ordenados por índices.

Aquí te dejo el código, me funciona de madre ^^

Código
  1.    Private Sub Listar_Separadores(Byval Texto As String)
  2.        Dim Separadores() As Char = ";,. -_\/<>" 'Inicializamos la Matriz añadiendole varios Separadores, Puedes AÑADIR más
  3.        Dim Palabra As String = "ehnrules;" ' Deberias poner la variable Texto (yo aqui puse un ejemplo simplemente para probar que funcionaba)
  4.        For i As Int32 = 0 To Separadores.Length - 1
  5.            For j As Int32 = 0 To Palabra.Length - 1
  6.                If Separadores(i) = Palabra.Substring(j, 1) Then
  7.                    MsgBox("Se encontró un separador: " & Separadores(i))
  8.                End If
  9.            Next
  10.        Next
  11.    End Sub

Saludos.


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

birdez

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #2 en: 30 Mayo 2012, 18:16 pm »

gracias por el codigo pro yo lo que necesito es que vaya leyendo la palabra y al encontrar un separador detecte q es uno de esos y lo interprete cn forme es un espacio, por ejemplo, y siga leyendo la sieguiente palabra para traducirla

sabes lo q quiero decirte? sq alomejor no me explico bn y es x mi culpa q no entiendas bn lo q quiero decir xD
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #3 en: 30 Mayo 2012, 18:31 pm »

El código que te adjunte básicamente lista todos los Separadores encontrados en una palabra. Tu lo que quieres es identificar separadores para luego borrarlos y traducir la palabra sin los separadores. Bueno, piensa un poquito en como hacerlo y como adaptar el código :P

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

birdez

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #4 en: 30 Mayo 2012, 18:35 pm »

si algo asi yo lo q quiero es que me identifique solamente las palabras y no los separadores lo q pasa q no se me ocurre ninguna forma de hacerlo xq mi duda es como ago para eliminar ese separador y q luego al pasar la traduccion de la frase al segundo textbox me vuelva a poner los separadores que elimine anteriormente y me los coleque cada uno en su sitio xD
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: Ayuda! Separadores en un textbox
« Respuesta #5 en: 30 Mayo 2012, 19:22 pm »

HOLA!!!

Este codigo que hice el año pasado te sirve para lo que queres hacer...

Es para vb6 pero creo que es 100% compatible con VBNET

Se llama "MultiSplit"

Cita de: 79137913
HOLA!!!

Hoy queria hacer un split que devuelva un array con varios delimitadores y aparte tenga la opcion de guardar el delimitador... en fin... hice esta funcion, espero que les sirva.

Antes que el codigo Ejemplo:

Código
  1. Private Sub Ejemplo()
  2. Dim dels(3) As String
  3. Dim result() As String
  4. Const ss As String = "hola+como--andas(((esto====es+una--prueba"
  5.    dels(0) = "+"
  6.    dels(1) = "--"
  7.    dels(2) = "((("
  8.    dels(3) = "===="
  9.  
  10.    'sin preservar delimitadores
  11.    result = MultiSplit7913(ss, dels, False)
  12.    'result = ("hola";"como";"andas";"esto";"es";"una";"prueba")
  13.  
  14.    'preservando delimitadores
  15.    result = MultiSplit7913(ss, dels, True)
  16.    'result = ("hola";"+como";"--andas";"(((esto";"====es";"+una";"--prueba")
  17. End Sub

El Codigo

Código
  1. Private Function MultiSplit7913(expression As String, Delimiter() As String, PreserveDel As Boolean) As String()
  2. Dim DelCount    As Long
  3. Dim lExp        As Long
  4. Dim X           As Long
  5. Dim Pos         As Long
  6. Dim DelPos()    As Long
  7. Dim AuxArr()    As String
  8. Dim LastPos     As Long
  9. Dim LastLen     As Long
  10. Dim LastInstr   As Long
  11.  
  12.    expression = expression & Delimiter(0)
  13.    lExp = Len(expression)
  14.    DelCount = UBound(Delimiter)
  15.    ReDim DelPos(lExp)
  16.  
  17.    For X = 0 To DelCount
  18.        Pos = 1
  19.        LastInstr = InStr(Pos, expression, Delimiter(X))
  20.        Do While LastInstr <> 0
  21.            DelPos(LastInstr) = X + 1
  22.            Pos = LastInstr + Len(Delimiter(X)) + Pos
  23.            LastInstr = InStr(Pos, expression, Delimiter(X))
  24.        Loop
  25.    Next
  26.  
  27.    ReDim AuxArr(0)
  28.  
  29.    LastPos = 1
  30.  
  31.    For X = 0 To lExp
  32.        If DelPos(X) <> 0 Then
  33.            ReDim Preserve AuxArr(UBound(AuxArr) + 1)
  34.            If PreserveDel Then
  35.                AuxArr(UBound(AuxArr) - 1) = Mid$(expression, LastPos, X - LastPos)
  36.            Else
  37.                AuxArr(UBound(AuxArr) - 1) = Mid$(expression, LastPos + LastLen, X - LastPos - LastLen)
  38.                LastLen = Len(Delimiter(DelPos(X) - 1))
  39.            End If
  40.            LastPos = X
  41.        End If
  42.    Next
  43.  
  44.    ReDim Preserve AuxArr(UBound(AuxArr) - 1)
  45.  
  46.    MultiSplit7913 = AuxArr
  47.  
  48. End Function

GRACIAS POR LEER!!!

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
birdez

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #6 en: 30 Mayo 2012, 19:38 pm »

:S

no entiendo la mayoria de las cosas que aparecen ahi jajajajaja

muchas gracias por paasarmelo pro no entiendo mucho la verdad mirare a ver si consigo comprender algo pro ya te digo q la mayoria de cosas no me suenan jajajaja

si quereis os paso el codigo que tengo asi mas o menos os podeis imaginar como tengo montado el "traductor" este jajajajaja

gracias a todos de nuevo x la ayuda
En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #7 en: 30 Mayo 2012, 20:02 pm »

Postea una parte del código, así vemos como interpretas cada cosa, como la plasmas y si hay algun error de código.

@79137913: Tu código extrae los Separadores y los borra, no? Si le echas un vistazo al code que adjunté comprobaras que lista cada separador. Sólo faltaría añadirle que borrara el separador extraído, cosa que no ocupa más que una linea xD

P.D=No es recomendable emplear sintaxis de VB6 en .NET

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: Ayuda! Separadores en un textbox
« Respuesta #8 en: 30 Mayo 2012, 20:06 pm »

HOLA!!!

@Kub0x: No, mi codigo no extrae los Separadores y los borra...

Mi codigo lo que hace es tomar un string cualquiera y seararlo por los separadores colocados en el array "Delimiter()" y vuelca todos los items resultantes en un nuevo array (resultado de la funcion).

Si sabes lo que hace la funcion Split, lo vas a entender, sino no.

Testeala y lee bien el ejemplo.

Y por que no es recomendable? ...  Utilizo funciones fuera del framework, osea mejor!

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Ayuda! Separadores en un textbox
« Respuesta #9 en: 30 Mayo 2012, 20:19 pm »

@79137913: En un principio no lei tu code completamente. Lo que creo que hace es separar cada palabra de otra añadiendole un separador, formando una cadena con el siguiente formato (ejemplo): Palabra;Palabra2;Palabra3; Funciona de esta forma?

No es recomendable dicha combinación por el hecho de que .NET es la evolucion de VB6 y trabaja con el Framework de .NET , el cual ofrece infinidad de clases para trabajar dentro del lenguaje, cosa que VB6 no contiene. Si vas a emplear sintaxis de VB6 en .NET , mejor que agarres VB6 xD (ironic mode). No, pero por ahí escuché críticas de algunos métodos de VB6 que están obsoletos en .NET

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Páginas: [1] 2 3 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con TextBox « 1 2 »
Programación Visual Basic
kakinets 12 4,186 Último mensaje 8 Octubre 2005, 19:33 pm
por noob_Setup
ayuda con list y textbox
Programación Visual Basic
dark_soul 2 1,656 Último mensaje 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,457 Último mensaje 2 Septiembre 2006, 18:42 pm
por Nakp
Ayuda con textbox
Programación Visual Basic
mariana_87 2 1,796 Último mensaje 19 Marzo 2009, 15:37 pm
por mariana_87
ayuda con textbox
Programación Visual Basic
mariana_87 2 1,844 Último mensaje 23 Mayo 2009, 23:42 pm
por xkiz ™
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines