• Domingo 22 de Diciembre de 2024, 22:09

Autor Tema:  "split" Palabras  (Leído 4016 veces)

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
"split" Palabras
« en: Miércoles 5 de Marzo de 2008, 17:38 »
0
Necesito ayuda con algo muy sencillo, para mi por el momento no lo es, pero se que para los expertos si.
he disenado una tabla didactica con el abecedario para ninos en aprendizaje, en la que el nino escribe su nombre y apellido, por ejemplo PEPITO PREGUNTON:

formulario1, con 12 cajas de texto y un boton
en la caja1, se escribe PEPITO PREGUNTON
se oprime el boton entonces debe de hacer un "split" y ubicar cada una de las letras de PEPITO PREGUNTON en la caja correspondiente a cada letra:
por decir:

en la caja5 deben de aparecer 3 PPP
en la caja2 deben de aparecer 2 EE
.
.
.
y asi sucesivamente, he tratado varios codigos de lo que he ido aprendiendo pero no logro resultados, si alguien me pudiera orientar o darme una pista o ejemplo para ir desglosando esta inquietud, pues no soy EXPERTO, solo llevo poco tiempo y crei que con esta idea podia darle soltura a lo que he aprendido...

lo que he encontrado acerca de "split" es como tomar palabras de un texto y hacerles el "split", he tomado como ejemplo y no he podido acoplarlo a mi trabajo
gracias de antemano
noVBice .NET

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: "split" Palabras
« Respuesta #1 en: Miércoles 5 de Marzo de 2008, 21:47 »
0
Hola noVBice .NET!

El split solo te sirve si tienes un delimitador por el cual partira la cadena, pero en este caso no lo tienes. ^
Debes recorrer el largo de la cadena que digiten, tambien te ayudara para que cargue los textos exactos. Espero que te de alguna idea.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: "split" Palabras
« Respuesta #2 en: Miércoles 5 de Marzo de 2008, 22:39 »
0
Cita de: "Widark"
Hola noVBice .NET!

El split solo te sirve si tienes un delimitador por el cual partira la cadena, pero en este caso no lo tienes. ^
Debes recorrer el largo de la cadena que digiten, tambien te ayudara para que cargue los textos exactos. Espero que te de alguna idea.
De verdad que como novato me quede en las mismas, podrias darme un ejemplo en codigo...

Blizknight

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: "split" Palabras
« Respuesta #3 en: Viernes 7 de Marzo de 2008, 01:06 »
0
puedes aplicar un for en toda la cadena algo asi
con esto ya tienes un buen comienzo.

el split como ya dijeron solo te servira si tienes un delimitador
ejemplo =   "pepito-el-pregunton"

si tu cadena esta separada por delimitadores como '-' podras hacer un split
pero viendo lo que quieres no te servira pues tu quires comparacion de cada caracter.

saludos

Citar
for i as integer to cadena.length

// aca va la logica, debes utizar >>        cadena.chars(i)

next i

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: "split" Palabras
« Respuesta #4 en: Viernes 7 de Marzo de 2008, 06:19 »
0
Cita de: "Blizknight"
puedes aplicar un for en toda la cadena algo asi
con esto ya tienes un buen comienzo.

el split como ya dijeron solo te servira si tienes un delimitador
ejemplo =   "pepito-el-pregunton"

si tu cadena esta separada por delimitadores como '-' podras hacer un split
pero viendo lo que quieres no te servira pues tu quires comparacion de cada caracter.

saludos

Citar
for i as integer to cadena.length

// aca va la logica, debes utizar >>        cadena.chars(i)

next i
Gracias por tu indicaciones, pero veras que no puedo llegar tan lejos, tengo limitaciones por ser principiante, si pudiera ver un codigo mas concreto como ejemplo, primero para tratar de aplicarlo y asi practicar y aprender
gracias

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: "split" Palabras
« Respuesta #5 en: Viernes 7 de Marzo de 2008, 15:18 »
0
Que tal noVBice .Net!

Bueno, el ejemplo no es nada del otro mundo:
Código: Text
  1. If TextBox1.Text.Trim.Length > 0 Then
  2.             Dim iLetras As Integer = 0
  3.             Dim Pos1 As Integer = 48
  4.             Dim Pos2 As Integer = 64
  5.             Dim NombrePartido As Char() = TextBox1.Text.ToCharArray()
  6.  
  7.             For iLetras = 0 To NombrePartido.Length - 1
  8.                 Dim txt As New TextBox
  9.  
  10.                 txt.Name = "texto" + iLetras.ToString
  11.                 txt.Text = NombrePartido(iLetras)
  12.  
  13.                 txt.Location = New Point(Pos1, Pos2)
  14.                 Me.Controls.Add(txt)
  15.                 Pos2 += 30
  16.             Next
  17.         End If
  18.  
Creo que esto te puede dar una idea, aun falta que repita las letras en las cajas de texto, pero haz algo muchacho, jeje.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: "split" Palabras
« Respuesta #6 en: Viernes 7 de Marzo de 2008, 15:34 »
0
Cita de: "Widark"
Que tal noVBice .Net!

Bueno, el ejemplo no es nada del otro mundo:
Código: Text
  1. If TextBox1.Text.Trim.Length > 0 Then
  2.             Dim iLetras As Integer = 0
  3.             Dim Pos1 As Integer = 48
  4.             Dim Pos2 As Integer = 64
  5.             Dim NombrePartido As Char() = TextBox1.Text.ToCharArray()
  6.  
  7.             For iLetras = 0 To NombrePartido.Length - 1
  8.                 Dim txt As New TextBox
  9.  
  10.                 txt.Name = "texto" + iLetras.ToString
  11.                 txt.Text = NombrePartido(iLetras)
  12.  
  13.                 txt.Location = New Point(Pos1, Pos2)
  14.                 Me.Controls.Add(txt)
  15.                 Pos2 += 30
  16.             Next
  17.         End If
  18.  
Creo que esto te puede dar una idea, aun falta que repita las letras en las cajas de texto, pero haz algo muchacho, jeje.
ya veremos como me va con esto, pues  algo parecido y muchas cosas mas

MAS RISA si vieras los formulario que he comenzado y las lineas y lineas de codigos, soy de pensar igual siempre trato personalmente y cuando tengo atrancones es que acudo a solicitar ayuda

gracias

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: "split" Palabras
« Respuesta #7 en: Viernes 7 de Marzo de 2008, 17:08 »
0
No te preocupes, todos pasamos por eso, igual estamos aqui para colaborar. Espero que te funcione.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: "split" Palabras
« Respuesta #8 en: Sábado 8 de Marzo de 2008, 01:04 »
0
Cita de: "Widark"
No te preocupes, todos pasamos por eso, igual estamos aqui para colaborar. Espero que te funcione.
Si el codigo que me mandaste da un efecto, con los controles y he tratado de acomodarlo para que tome el rumbo adecuado de que cada letra vaya a su respectivo textbox,  pero aun no doy...

gracias

Blizknight

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: "split" Palabras
« Respuesta #9 en: Sábado 8 de Marzo de 2008, 13:07 »
0
Hola nobvice
el codigo de widark lo que hace es poner cada letra en un textbox si no me equivoco asi se repitan las letras estas iran a un texbox

tal ves si se agregara un hashtable para contener los chars
y compararlos cada ves que se ejecute el for principal asi si la letra se repite solo se modificara el value del hashtable evitando repeticion de letras.

espero que te sirva  :hola:

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: "split" Palabras
« Respuesta #10 en: Sábado 8 de Marzo de 2008, 18:10 »
0
Cita de: "Blizknight"
Hola nobvice
el codigo de widark lo que hace es poner cada letra en un textbox si no me equivoco asi se repitan las letras estas iran a un texbox

tal ves si se agregara un hashtable para contener los chars
y compararlos cada ves que se ejecute el for principal asi si la letra se repite solo se modificara el value del hashtable evitando repeticion de letras.

espero que te sirva  :hola:
Que tal Blizknight?

Efectivamente ya trate lo del hashtable y funciona.
Lo que me ha estado dando duro es el figurar de como usar los "textBox" (11) que ya tengo dentro del formulario para que cada letra(s) respectivamente quede alli, en vez de usar "CONTROL"

gracias

Blizknight

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: "split" Palabras
« Respuesta #11 en: Sábado 8 de Marzo de 2008, 19:53 »
0
No entendi lo que quisite decir con los CONTROL
el codigo que puso widark
funciona para todo tipo de cadena asi esta contenga mas de 11 letras
pero si tu quires que todas tengan el mismo tamaño trabaja con el .size del textbox y setealo a 11 puntos
saludos

noVBice .NET

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: "split" Palabras
« Respuesta #12 en: Domingo 9 de Marzo de 2008, 03:16 »
0
Cita de: "Blizknight"
No entendi lo que quisite decir con los CONTROL
el codigo que puso widark
funciona para todo tipo de cadena asi esta contenga mas de 11 letras
pero si tu quires que todas tengan el mismo tamaño trabaja con el .size del textbox y setealo a 11 puntos
saludos
Bueno como veras el alias que uso lo dice todo noVBice, novato aprendiz, por lo tanto quizas cuando hable del Control, de pronto me refiere en forma  impropia:

formulario1 + un boton y 11 textBox

Al usar el codigo aca en mencion, si me da las letras en unos textboxes que yo le ???llamo??? control? pero ignora los los que yo puse en el formulario por lo que deduzco es  que los que yo puse sobran, lo veo como una manera avanzada del diseno, pero aun no manejo tan bien el VB, me toca jugar un poco mas con esto e ir acomodando el codigo para que me de el efecto que yo deseo,
por el tamno y posicion eso si lo manejo bien

gracias y suerte

Blizknight

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Re: "split" Palabras
« Respuesta #13 en: Domingo 9 de Marzo de 2008, 04:17 »
0
asi es lo llamas con control
digamos que ya tienes tu hashtable de esta forma

KEY | VALUE
P       3
E       2
I       1
.       .
.       .
.       .

entonces al final haces otro for
que diga que mientras la cnatidad del hash ... mejor te pongo algo

for i as integer = 0 to hashtable.count
// y aca vas creando los textbox y poniendo en cada uno values con sus keys y listo
next

espero que te de una idea xP
si te diera el codigo ya hecho no aprenderias mucho asi que mejor te hago pensar XP
saludos