• Jueves 7 de Noviembre de 2024, 23:34

Autor Tema:  cadena de caracteres  (Leído 1016 veces)

Jesmi89

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
cadena de caracteres
« en: Jueves 2 de Octubre de 2008, 23:48 »
0
Hola, es que tengo un pequeño problemita con un codigo. Lo que necesito es que al ingresar una palabra cualquiera este me desfragmente, es decir, que si por ejemplo se tiene "codigo", aparezca asi: "co", luego, "cod", luego, "codi", luego, "codig" y "codigo". Yo lo he estado haciendo asi, pero me doy cuenta que solamente se reduce aun tamaño especifico de palabra (asi que no estoy muy segura si lo estoy haciendo bien).

Entonces quisiera saber, si me podrian ayudar con esto, es decir, como se haria para que sin importar el tamaño de la palabra que se ingrese la desfragmente.


Código: Text
  1. Public Class Form1
  2.  
  3.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4.  
  5.         Dim a As String
  6.  
  7.         a = TextBox1.Text
  8.  
  9.         For a = Len(TextBox1.Text) To 1 Step -1
  10.  
  11.  
  12.             TextBox2.Text = Strings.Left(TextBox1.Text, 2)
  13.             TextBox3.Text = Strings.Left(TextBox1.Text, 3)
  14.             TextBox4.Text = Strings.Left(TextBox1.Text, 4)
  15.  
  16.         Next
  17.     End Sub
  18. End Class
  19.  

Gracias  :ayuda:

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: cadena de caracteres
« Respuesta #1 en: Sábado 4 de Octubre de 2008, 01:42 »
0
Cita de: "Jesmi89"
Entonces quisiera saber, si me podrian ayudar con esto, es decir, como se haria para que sin importar el tamaño de la palabra que se ingrese la desfragmente.

Código: Text
  1. Public Class Form1
  2.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  3.         Dim a As String
  4.         a = TextBox1.Text
  5.  
  6.         For a = Len(TextBox1.Text) To 1 Step -1
  7.             TextBox2.Text = Strings.Left(TextBox1.Text, 2)
  8.             TextBox3.Text = Strings.Left(TextBox1.Text, 3)
  9.             TextBox4.Text = Strings.Left(TextBox1.Text, 4)
  10.         Next
  11.     End Sub
  12. End Class
  13.  

Gracias  :ayuda:
Veamos, en primer lugar la variable 'a' la declaras como string, y luego le asignas el contendio de un textbox.... luego ya no lo vuelves a usar como string...
2º  Declaras 'a' como string pero luego lo usas como integer para el contador del bucle, esto es una contradición.
3º un bucle se usa para no repetir código, por tanto si haces manualmente algo, el bucle carece de sentido.

El código debería quedar algo así como:
Código: Visual Basic
  1.  
  2.        Dim a As String = TextBox1.Text
  3.        dim k as integer=0
  4.  
  5.         For k = Len(a) To 1 Step -1
  6.             TextBox2.Text = Strings.Left(a, k)  ' cadena de la que se toma, cantidad que se toma
  7.         Next
  8.  
  9.  
«Ma non troppo»
----> ModoVacaciones = False<----