Hallo,
Ich wollte aus "Sprit=1.03e7 //Hier wird der Verbrauch angegeben" (ohne "") das auslesen "1.03e7" in einer textbox mit StreamReader. Bei dem 1 Versuch bei der Konsole hat der Test funktionert und wollte nun für winform das machen. Allerdings bekomme ich nichts mehr ausgegeben. Aktuell hab ich es so:
Das ist der Code den ich bei der Konsole verwendet habe:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
static void Main(string[] args)
{
string Buffer = "Sprit=1.03e7 //Hier wird der Verbrauch angegeben";
string Neuer = "";
int Token = Buffer.IndexOf("=");
int Token2 = Buffer.LastIndexOf("//");
Neuer = Buffer.Substring(Token + 1, Token2 - Token - 1);
System.Console.WriteLine(Neuer);
System.Console.ReadKey();
}
|
Und das der Code den ich aktuell bei der WinForm habe:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
public string Filtern(string Input, string Search)
{
string Output = "";
if (Input.Contains(Search))
{
int Token = Input.IndexOf("=");
int Token2 = Input.LastIndexOf("//");
if (Token > 0 && Token2 > 0)
{
Output = Input.Substring(Token + 1, Token2 - Token - 1);
return Output;
}
}
return Output;
}
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "conf Datei (*.conf)|*.conf";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
Pfad = openFileDialog1.FileName;
StreamReader Reader = new StreamReader(Pfad);
while (!Reader.EndOfStream)
{
string Buffer = Reader.ReadLine();
textBox1.Text = Filtern(Buffer, "Sprit");
}
}
|
Und eigentlich müsste ich dann den wert von Sprit rausbekommen aber leider bekomme ich garnichts ausgegeben und auch keine Fehler. Ich hab schon mit dem Filtern geschaut aber auch leider vergebens. Wen ich nun noch die anderen ergänzen würde z.B. Speed=120 //Hier der ... dann würde ich auch da kein ergebnis bekommen.
Kann mir jemand sagen wo mein Fehler ist? Und wie ich es richtig mache?
Gruß
rFMG