Kopiuj
foreach (string linia in tekst)
{
if (linia.StartsWith("\"FS\""))
{
licznik = 0;
slowo = linia.Split(new string[] { ",", ",\"", "[", "\r\n" }, StringSplitOptions.None).ToArray();
#region FS
string kij = (
slowo[21].Substring(0, 8) + " "
+ slowo[6].Trim(new char[] { '\"' }).PadRight(16).Substring(0, 16) + " "
+ slowo[13].Trim(new char[] { '\"' }).PadRight(40).Substring(0, 40) + " "
+ slowo[15].Trim(new char[] { '\"' }).PadRight(6).Substring(0, 6) + " "
+ slowo[14].Trim(new char[] { '\"' }).PadRight(12).Substring(0, 12) + " "
+ slowo[16].Trim(new char[] { '\"' }).PadRight(20).Substring(0, 20) + " "
+ slowo[17].Trim(new char[] { '\"' }).PadRight(15).Substring(0, 15) + " "
+ slowo[19].Trim(new char[] { '\"' }).PadRight(38).Substring(0, 38) + " "
+ Convert.ToString(index).PadLeft(3).Substring(0, 3) + " "
+ "NFN"
);
#endregion
listBox1.Items.Add(kij);
index++;
}
else
{
licznik++;
if (licznik == 3)
{
zawartosc = linia.Split(new string[] { ",", ",\"", "[", "\r\n" }, StringSplitOptions.None).ToArray();
;
string kij = (
slowo[22].PadRight(8).Substring(0, 8) + " "
+ slowo[25].PadLeft(3).Substring(0, 3) + " "
+ "N" + " " + " "
+ zawartosc[1].PadRight(5).Substring(0, 4).Replace('.', ',') + " "
+ slowo[27].PadRight(14).Substring(0, 12).Replace('.', ',') + " "
+ "V" + " " + " "
+ zawartosc[1].PadRight(5).Substring(0, 4).Replace('.', ',') + " "
+ slowo[28].PadLeft(14).Substring(0, 12).Replace('.', ',') + " "
+ "Z"
);
listBox1.Items.Add(kij);
listBox1.Items.Add("\n");
}
}
}
#endregion
W string kij zapisuje mi odpowiednie slowa w odpowiednich formatach. Chodzi o odczyt linii.
Schemat Lini dobrej to
[NAGLOWEK]
"FS",1,0,,,"tekst1",tekst2,tekst 3 i jego ciąg dalszy,"tekst 4, w którym są przecinki, ale dalej to tekst 4", itp.
A jeżeli linia jest "załamana" czyli
[NAGLOWEK]
"FS",1,0,,,"tekst1",tekst2,tekst 3
i jego ciąg dalszy,"tekst 4, w którym są przecinki, ale dalej to tekst 4", itp.
Wyświetla błąd **IndexOutOfRangeException was unhandled **
i chcę, żeby w catch otworzył mi ten plik w notatniku i pokazał która to linia, żebym mógł ręcznie usunąć to "załamanie"