Gute Tag Kollegen Helfer, ich habe folgendes Problem: (Lauf MS Visual Community Edition 2015)Speicher Wert von Versuch für den Einsatz in zweitem Versuch C#
private void button4_Click(object sender, EventArgs e) // Senden
{
serialPort2.WriteLine("SR,00,002\r\n");
textBox1.Text = "gesendet";
textBox3.Text = "";
try
{
System.IO.StreamReader file = new System.IO.StreamReader("C:\\blub.txt");
String line = file.ReadToEnd();
string Hallo = line; \\in the beginning there is "0" in the file
file.Close();
decimal counter = Convert.ToDecimal(Hallo); \\just for testing
counter++;
string b = serialPort2.ReadLine();
string[] b1 = Regex.Split(b, "SR,00,002,"); \\cuts off unwanted input from device
decimal b2 = decimal.Parse(b1[1]); \\number like -3000
System.IO.StreamWriter test = new System.IO.StreamWriter("C:\\blub.txt");
test.WriteLine(counter);
test.Close();
textBox7.Text = "Das ist counter:" + counter;
}
catch (TimeoutException)
{
textBox3.Text = "Timeout";
throw;
}
}
Nun ist der Serialport ein Gerät, das eine lengthmeasurment zurückzugibt . Da es ein bisschen komisch ist, oder einfach so, wie es gebaut wird, beginnt es mit einer negativen Zahl (zwischen -5000 und -3370). Jetzt, da ich eine Messung auf dem Bildschirm erhalten möchte, die realistisch ist, möchte ich den Wert auf 0 setzen und den Unterschied berechnen.
Bedeutet: Ich beginne das Programm - drücke send - bekomme einen Wert (sag -3000) - drücke erneut send (nachdem du den Seonsor gedrückt hast) und erhalte den Wert, der in> 0 ist, addiere die Differenz zu 0 .
Ich lernte nur, Werte extern zu speichern, als ich einen C-Kurs ein Jahr zurück hatte, wie ich es innerhalb meines Programms tat. Gibt es eine Möglichkeit, den Wert aus der ersten Messung im Programm zu speichern, damit ich ihn beim nächsten Sende/Versuch verwenden kann?
Der Zähler war nur zum Testen und ich würde es für den „dezimal b2“
Ich hoffe, es auszutauschen dafür eine einfache Lösung ist, nicht wirklich ein Profi mit C# noch nicht, aber ich bin zu lernen eifrig. Ich danke den bereitwilligen Helfern im Voraus, MfG, Chris
Welche Art von C# -Programm ist das? – Liam
ah Entschuldigung, krank hinzufügen in. Ich benutze MSVisual Community editon 2105 –
Es gibt eine Menge, die über obigen Code (Parameternamen, Verwendung, Validierung, Fehlerprüfung, ..) gesagt werden könnte, aber die einfache Antwort auf Ihr Problem würde sei es, eine Eigenschaft (oder sogar ein Feld) auf Klassenebene zu definieren und diese aus dem try-Block zu setzen. – gd73