Hallo Community ich bin am verzweifeln.
Ich versuche die ganze Zeit eine IF Abfrage zu verschachteln? "Bin Anfänger in C#"
Nun weiss ich nicht wie ich diese Abfrage gestalten muss das etwas nicht dauerhaft gesendet wird. Sondern nur einmal es handelt sich hier um eine große Schleife wo viele Abfragen sind diese sollen auch an mein Board gesendet werden allerdings ist das mit meinem Code so das er ja immer sendet.
Wie müsste eine Abfrage aussehen wenn ich etwas vorher prüfe ob es nicht schon wahr oder unwahr ist. So das er es einmal sendet und er wieder sendet wenn es unwahr wird? Ich finde das jetzt irgendwie total komplex! Ich weiss nichtmal ob ich das hier richtig erklärt habe wie ich das meine.
if ((data.lightBits3 & 0x10000)!= 0)
{
serialPort1.Write("NOSEGEARDOWN\r"); // sende Fahrwerk ausgefahren Wert ist 1
}
else
{
serialPort1.Write("NOSEGEARUP\r"); // Sende Fahrwerk ausgefahren Wert ist 0
}
Es wäre nett wenn mir jemand dabei helfen könnte.
Gruß escape
Also abgesehen davon, dass du zwei Varianten machen kannst, nämlich
if(a != 0 && b != 0) {
}
// bzw.
if(a != 0) {
if(b != 0) {
}
}
würde ich dir doch die Grundlagen ans Herz legen: 🛈 📗
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Ich weiss nichtmal ob ich das hier richtig erklärt habe wie ich das meine.
Ich schon. NEIN 😃
Wenn du dir mal vorstellst du wärst jemand wie wir anderen hier, der keine Ahnung hat was du da machst, was rauskommen soll, was du mit dauerhaft senden usw. meinst, verstehst du sicher was ich meine.
Ich lese aus dem Shared Memory (PC Flugsimulator) Datensätze aus und diese sende ich dann einen Microcontroller der weiter an Schieberegister und die befeuern LED's.
Die Datensätze beinhalten 0 oder 1
Wenn ich nun dauerhaft etwas sende z.B. dauerhaft ne 1 ist das unsinn da dieser Wert zum einschalten einer LED nur einmal benötigt wird also warum zig tausendmal in der Sek. senden?
Also ich habe am Anfang den Wert 0 oder 1 was bedeutet das mein Fahrwerk ein oder ausgefahren ist. Nun gehen wir davon aus das ich in der Luft bin dann ist das Fahrwerk eingefahren und der Wert 0 ist gesetzt.
Nun Fahre ich mein Fahrwerk aus und der Wert 0 wird zu 1 nun soll mein Programm
eine 1 an den Microcontroller senden dieser wiederum reagiert darauf.
Das um deine Frage zu meinem Projekt zu beantworten.
Indem du dir merkst, was du vorher gesendet hast. Und beim nächsten mal prüfst ob der Wert sich geändert hat.
Lg XXX
Hallo escape,
speichere den Wert in eine Variable und frage ihn wieder ab:
public bool zustand
{
get
{
return zustand;
}
set
{
if(zustand != value)
{
//Aktionen
zustand = value;
}
}
}
//Aufruf: zustand = aktualisierter_status;
Gruß,
C#ler
In theory, there is no difference between theory and practice. But, in practice, there is.
The nice thing about the Java API is that if you don't like it, just wait two minutes — it will change. Doug Lyon
Egal wie ich es versuche, bekomme immer einen Fehler.
Ich dreh und wende es aber keine chance ... mir fehlt noch das fundierte Wissen dafür 😦 Ich verstehe nicht wie ich das realisieren(schreiben) soll würdet ihr mir da bitte helfen?
Gruß escape
Nein, wir erwarten, dass du dir die Grundlagen selbst aneignest. Siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
Hallo escape,
nehmen wir an, du hast eine Klasse namens Foo geschrieben, in der deine Methoden stehen. Da kannst du meinen Code von eben reinschreiben:
public class Foo { //... public bool Bar { get { return Bar; } set { if(Bar != value) { //Aktionen Bar = value; } } } //... }
Statt "//Aktionen" kannst du dann schreiben, was passieren soll, z.B.:
MessageBox.Show("Fertig!");/*oder*/Console.WriteLine("Fertig!");
je nach Projekttyp.
Du schreibst dann in deine Methode, wo der Wert geändert wird:
Foo.Bar = true; /* oder */ Foo.Bar = false; /* oder */
Foo.Bar = aktueller_Zustand_von_irgeneinem_bool; /*etc...*/
Dadurch rufst du den set-Accessor von Foo.Bar auf, der das, was bei "//Aktionen" steht, nur ausführt, wenn der Wert (value) ungleich dem bisherigen Wert ist und nur dann wird der Wert geändert.
Ich hoffe das hilft dir 😉
C#ler
In theory, there is no difference between theory and practice. But, in practice, there is.
The nice thing about the Java API is that if you don't like it, just wait two minutes — it will change. Doug Lyon
Hi und deine Erklärung finde ich einfach knülle 😄
Danke danke für deine Zeit ,... grins
Ich hoffe das hilft dir Augenzwinkern
Nein nicht wirklich g
Ehrlich gesagt stehe ich voll auf dem Schlauch!
Und noch ehrlicher gesagt bis vor wenigen Tagen hatte ich keine Ahnung
von Elektronik mein Board rennt dann musste ich Bascom lernen um meinen Prozi zu programmieren nun muss ich C# lernen damit ich so eine verdammte Abfrage hinbekomme. Ich bin noch etwas ehrlicher als ehrlich ich bin total ausgefrustet.
Ich mags garnicht schreiben sonst hagelt es sicherlich bösen Regen 😉
Ein Königreich für einen fertigen codeschnipsel hehehe Ich will es mal so sagen ich möchte kein komplettes C# lernen nur damit ich diese eine Abfrage gestalten kann.
Ich bin zumindest ehrlich!
In PHP wüsste ich wie ich es gestalte da würde ich die Daten aus der DB ziehen und in ein Array oder Variable schieben und dann einfach if/else elseif oder case und meinen Vergleichsoperatoren den Rutsch verarbeiten aber C# ist mir einfach nur ein Rätsel
Nur das PHP nichtmal Ansatzweise mit C# zu vergleichen ist 😃
Gruß escape
Nur das PHP nichtmal Ansatzweise mit C# zu vergleichen ist
Zum Glück!
In PHP wüsste ich wie ich es gestalte da würde ich die Daten aus der DB ziehen und in ein Array oder Variable schieben und dann einfach if/else elseif oder case und meinen Vergleichsoperatoren den Rutsch verarbeiten
Dann mach das doch so auch in C# - im einfachsten Fall merkst du dir in einer Variablen gesendet, ob du das Zeug schonmal gesendet hast.
Diese Variable kannst du dann auch sehr gut mit if
abfragen.
Und noch ehrlicher gesagt bis vor wenigen Tagen hatte ich keine Ahnung von Elektronik mein Board rennt dann musste ich Bascom lernen um meinen Prozi zu programmieren nun muss ich C# lernen damit ich so eine verdammte Abfrage hinbekomme.
Was erwartest du? Dass du in zwei Tagen Programmieren lernst?
Du musst dir wohl etwas mehr Zeit nehmen und dir in aller Ruhe ein paar Grundlagen anschauen.
Diese setzen wir hier nämlich voraus ==> Geschlossen.