Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Znoxther en 7 Mayo 2013, 21:12 pm



Título: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: Znoxther en 7 Mayo 2013, 21:12 pm
Ok, mi código se supone que debería de leer una linea de un archivo .txt, la linea que leyó meterla en una variable, a esa variable aplicarle el .split con el parámetro de '/', y lo resultante guardarlo en un arreglo y posteriormente imprimirlo en una serie de textbox.


se supone que debe leer esto

datos_cliente.txt:

11111/Juan Carlos/Lopez/Perez/gpe. victoria/331/las fuentes/81252/6688131547


Código
  1.     private void button6_Click(object sender, EventArgs e)
  2.        {
  3.            StreamReader rd = new StreamReader("C:\\datos_cliente.txt");
  4.            string linea;
  5.            bool encontrado = false;
  6.            char[] delimitantes = {'/'};
  7.            linea = rd.ReadLine();
  8.  
  9.            while (linea != null)
  10.            {
  11.                delimitantes = new char[] {'/'};
  12.                linea = rd.ReadLine();
  13.                string[] cadena = linea.Split(delimitantes);
  14.                if ( cadena[0] == txt_nocliente.Text)
  15.                {
  16.                    txt_nombre.Text = cadena[1];
  17.                    txt_appaterno.Text = cadena[2];
  18.                    txt_apmaterno.Text = cadena[3];
  19.                    txt_calle.Text = cadena[4];
  20.                    txt_num.Text = cadena[5];
  21.                    txt_colonia.Text = cadena[6];
  22.                    txt_codpostal.Text = cadena[7];
  23.                    txt_telefono.Text = cadena[8];
  24.                    encontrado = true;
  25.                }
  26.                else
  27.                {
  28.                    encontrado= false;
  29.                }
  30.  
  31.            }
  32.                if (encontrado == false)
  33.                {
  34.                    MessageBox.Show("Cliente no encontrado, verifique el numero porfavor");
  35.                }
  36.             rd.Close();
  37.        }
  38.  

El problema es que me dice que utilice la clave "new" para crear instancia del objeto justo en la linea de
Código
  1. string[] cadena = linea.Split(delimitantes);

Por favor, si alguien se tomase el tiempo de decirme que esta mal se lo agradecería, es un proyecto de la escuela y no ayo el porque del error :s.
Solo me marca ese error, gracias por su tiempo :).

(http://)


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: $Edu$ en 7 Mayo 2013, 21:32 pm
Dentro de tu codigo elimina esta linea: delimitantes = new char[] {'/'};
esta demas, porque ya declaraste antes. Tendria que andar.


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: Znoxther en 7 Mayo 2013, 21:33 pm
No me funciono amigo :S, pero muchas gracias.


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: $Edu$ en 7 Mayo 2013, 21:40 pm
Código
  1.  private void button6_Click(object sender, EventArgs e)
  2.        {
  3.            StreamReader rd = new StreamReader("C:\\datos_cliente.txt");
  4.            string linea;
  5.            bool encontrado = false;
  6.            linea = rd.ReadLine();
  7.  
  8.            while (linea != null)
  9.            {
  10.                linea = rd.ReadLine();
  11.                string[] cadena = linea.Split(new Char [] {'/');
  12.                if ( cadena[0] == txt_nocliente.Text)
  13.                {
  14.                    txt_nombre.Text = cadena[1];
  15.                    txt_appaterno.Text = cadena[2];
  16.                    txt_apmaterno.Text = cadena[3];
  17.                    txt_calle.Text = cadena[4];
  18.                    txt_num.Text = cadena[5];
  19.                    txt_colonia.Text = cadena[6];
  20.                    txt_codpostal.Text = cadena[7];
  21.                    txt_telefono.Text = cadena[8];
  22.                    encontrado = true;
  23.                }
  24.                else
  25.                {
  26.                    encontrado= false;
  27.                }
  28.  
  29.            }
  30.                if (encontrado == false)
  31.                {
  32.                    MessageBox.Show("Cliente no encontrado, verifique el numero porfavor");
  33.                }
  34.             rd.Close();
  35.        }

A ver ahi..


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: $Edu$ en 7 Mayo 2013, 21:41 pm
Sigue con error o es que no funciona como tiene que funcionar?


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: Znoxther en 7 Mayo 2013, 22:26 pm
Me arroja el siguiente error

Referencia a objeto no establecida como instancia de un objeto.

Te mandaría una foto pero no se como publicarla aquí xD


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: $Edu$ en 7 Mayo 2013, 23:20 pm
Me confundi aca: string[] cadena = linea.Split(new Char [] {'/');

No cerre bien el "{}"

Cambiala por:

string[] cadena = linea.Split(new Char [] {'/'});


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: Znoxther en 7 Mayo 2013, 23:28 pm
Muchisimas gracias, me funciono perfecto, gracias por tu tiempo :D!


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: $Edu$ en 8 Mayo 2013, 01:38 am
De nada, la proxima vez simplemente busca "Split() C#" en google xD


Título: Re: Necesito ayuda con un código, agradecería que me ayudasen. C# 2010
Publicado por: ABDERRAMAH en 20 Mayo 2013, 15:15 pm
Código:
 split("/".tochararray) 
debería de funcionar también. O incluso
Código:
split({"/"[0]})