Tengo un problema al ejecutar el siguiente código.
El nombre del archivo se obtiene bien por el diálogo pero después algo falla con el stream...
private StreamReader sr; // variable de clase
private void miFich_Click(object sender, System.EventArgs e)
{
if(ofdFich.ShowDialog()==System.Windows.Forms.DialogResult.OK && ofdFich.FileName!="")
{
string nom = ofdFich.FileName;
FPrincipal.ActiveForm.Text+= nom;
sr= new StreamReader(nom);
if(ap.suPista().estaLibre())
leerAvion();
}
}
public void leerAvion()
{
string cad=null;
do
{
cad=sr.ReadLine();
}
while(cad==null);
string[] cpo= cad.Split(',');
Avion av= null;
-- if( cpo[1].Trim().ToUpper().StartsWith("COM"))// ERROR INDICE
// FUERA DE LIMITES
{...}
}
La excepción se produce porque el Split solo guarda un string en cad y no existe cad[1].
En el debugger el contenido de cad al producirse la excepción es algo así:
" \0\0\0\0\0 \0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02 \0\0\0\0\0\0... (basura)
El contenido del fichero abierto es:
Boeing 747, comer, Valencia, Madrid, 20:45, 1234
Boeing 747, com, Valencia, BCN, 20:56, 1234
Boeing 747, pasa, Valencia, Paris, 20:59, 123, 25
Algo debe estar mal pero no lo veo...