stav0815
2008-07-15, 12:13:08
Hallo,
habe mal wieder ein Problem mit meinem Progrämmchen und komme nicht weiter. Und zwar unterscheide ich, was für eine Datei-Art geöffnet wird, anhand der Dateiendung. Dazu frag ich einfach die Endung ab.
Dies funzt auch bei einer PI-Datei:
if (typ == "pi" || typ == "PI")
{
if (path != null)
{
StreamReader ausles = new StreamReader(path);
{
Application.DoEvents();
string zeile;
while (zaehler <= 620000)
{
zaehler++;
zeile = ausles.ReadLine();
if (zeile == null)
{
ausles.Close();
break;
}
else
{
if (zeile.IndexOf("Time") != -1)
{
flag = true;
}
if (flag)
{
char[] sep = { ' ', '\t' };
string[] x = zeile.Split(sep, 6);
if (zeile == "" || x[0] == "Date" || (x[0] == "0" && x[1] == "0" && x[2] == "0"))
{
ausles.Close();
break;
zaehler = 2;
status.Value = 0;
}
else
{
//inhaltbox.Text += zeile + "\r\n";
ausgabe += zeile + "\r\n";
try
{
xachse[zaehler] = Convert.ToInt32(Convert.ToDouble(x[0]) * 1000);
yachse[zaehler] = Convert.ToInt32(x[3]);
yachse2[zaehler] = Convert.ToInt32(x[2]);
leistung[zaehler] = x[4];
alarm[zaehler] = Convert.ToInt32(x[5]);
}
catch
{
}
status.ProgressBar.Maximum = zaehler;
status.ProgressBar.Value++;
}
}
}
}
}
}
inhaltbox.Text = ausgabe;
Dabei werden auch die Werte schön in das Array geschrieben.
Bei einer TXT-Datei aber nicht:
if (typ == "txt" || typ == "TXT")
{
StreamReader ausles = new StreamReader(path);
{
Application.DoEvents();
string zeile;
while (zaehler <= 620000)
{
zaehler++;
zeile = ausles.ReadLine();
if (zeile == null)
{
ausles.Close();
break;
}
else
{
if (zeile.LastIndexOf("Emi") != -1)
{
flag = true;
}
if (flag)
{
char[] sep = { ' ', '\t' };
string[] x = zeile.Split(sep, 200);
if (zeile == "" )
{
ausles.Close();
break;
zaehler = 2;
status.Value = 0;
}
else
{
ausgabe += zeile + "\r\n";
try
{
xachse[zaehler] = Convert.ToInt32(Convert.ToDouble(x[28]));
yachse[zaehler] = Convert.ToInt32(x[29]);
}
catch
{
}
status.ProgressBar.Maximum = zaehler;
status.ProgressBar.Value++;
inhaltbox.Text = ausgabe;
}
}
}
}
}
}
Hier bleibt hingegen das Array leer.
Ich habe schon alles mögliche ausprobiert, komme aber ums verrecken nimmer weiter :(
Ich habe schon getestet, welche verschiedenen Werte bei x[ ] was ausgeben - aber nichts. Ich weiss einfach nimmer weiter
habe mal wieder ein Problem mit meinem Progrämmchen und komme nicht weiter. Und zwar unterscheide ich, was für eine Datei-Art geöffnet wird, anhand der Dateiendung. Dazu frag ich einfach die Endung ab.
Dies funzt auch bei einer PI-Datei:
if (typ == "pi" || typ == "PI")
{
if (path != null)
{
StreamReader ausles = new StreamReader(path);
{
Application.DoEvents();
string zeile;
while (zaehler <= 620000)
{
zaehler++;
zeile = ausles.ReadLine();
if (zeile == null)
{
ausles.Close();
break;
}
else
{
if (zeile.IndexOf("Time") != -1)
{
flag = true;
}
if (flag)
{
char[] sep = { ' ', '\t' };
string[] x = zeile.Split(sep, 6);
if (zeile == "" || x[0] == "Date" || (x[0] == "0" && x[1] == "0" && x[2] == "0"))
{
ausles.Close();
break;
zaehler = 2;
status.Value = 0;
}
else
{
//inhaltbox.Text += zeile + "\r\n";
ausgabe += zeile + "\r\n";
try
{
xachse[zaehler] = Convert.ToInt32(Convert.ToDouble(x[0]) * 1000);
yachse[zaehler] = Convert.ToInt32(x[3]);
yachse2[zaehler] = Convert.ToInt32(x[2]);
leistung[zaehler] = x[4];
alarm[zaehler] = Convert.ToInt32(x[5]);
}
catch
{
}
status.ProgressBar.Maximum = zaehler;
status.ProgressBar.Value++;
}
}
}
}
}
}
inhaltbox.Text = ausgabe;
Dabei werden auch die Werte schön in das Array geschrieben.
Bei einer TXT-Datei aber nicht:
if (typ == "txt" || typ == "TXT")
{
StreamReader ausles = new StreamReader(path);
{
Application.DoEvents();
string zeile;
while (zaehler <= 620000)
{
zaehler++;
zeile = ausles.ReadLine();
if (zeile == null)
{
ausles.Close();
break;
}
else
{
if (zeile.LastIndexOf("Emi") != -1)
{
flag = true;
}
if (flag)
{
char[] sep = { ' ', '\t' };
string[] x = zeile.Split(sep, 200);
if (zeile == "" )
{
ausles.Close();
break;
zaehler = 2;
status.Value = 0;
}
else
{
ausgabe += zeile + "\r\n";
try
{
xachse[zaehler] = Convert.ToInt32(Convert.ToDouble(x[28]));
yachse[zaehler] = Convert.ToInt32(x[29]);
}
catch
{
}
status.ProgressBar.Maximum = zaehler;
status.ProgressBar.Value++;
inhaltbox.Text = ausgabe;
}
}
}
}
}
}
Hier bleibt hingegen das Array leer.
Ich habe schon alles mögliche ausprobiert, komme aber ums verrecken nimmer weiter :(
Ich habe schon getestet, welche verschiedenen Werte bei x[ ] was ausgeben - aber nichts. Ich weiss einfach nimmer weiter