C# Werte mit Grafik im Koordinatensystem verbinden?

Rossi-X

Lieutenant
Registriert
Jan. 2006
Beiträge
527
Guten Morgen,


wie oben schon angesprochen habe ich ein Problem mit C#. Für die Schule sollen wir ein Programm programmieren was nach eingabe der Stromstärke und der Spannung zum Beispiel die Leistung ausrechnet. (P=U*I). Ich kriege es aber einfach nicht hin die jeweiligen Eingaben mit einem Koordinatensystem zu verknüpfen, welches die Kurven anzeigen soll.

Kann mir dabei mal jemand helfen und mir Tipps geben?


Dazu muss ich sagen, dass es die Anfänge der Programmierung bei mir sind und ich noch nicht wirklich durchsehe.

Ich kann allerdings erst am Wochenende alles ausprobieren.

Danke schonmal im vorraus.



Gruß Rossi
 
AW: C# Werte mit Grafik im Koordinatensystem verbinden???

was willste denn eigentlich machen? nen graphen zeichnen?
 
AW: C# Werte mit Grafik im Koordinatensystem verbinden???

ja, ich möchte nach dem errechneten Ergebnis die dazugehörige Kurve darstellen. Ich werd es mal mit Canvas probieren.

noch einige fragen.

1. Wie kriege ich die Beschriftung des Koordinatensystems hin? also x-y Achse mit Werten bezeichnen?

2. Nach der Formel P=U*I werden die Werte ausgerechnet, allerdings mit zig kommastellen. Wie kann ich es auf drei Kommastellen runden?

3. Wie kann ich in einem Feld die Eingabe von einem Buchstaben verhindern? Momentan kann ich einen Buchstaben eingeben und wenn ich auf berechnen klicke steht dann: "Eingabe unzulässig" soweit ist es schon. Wie kann ich es von vornherein verhinder, dass man gar keinen Buchstaben eingeben kann.

Das wars erstmal. Danke schonmal!
 
Zu1.
Da musst du schon nen bisschen genauer werden :P.
Zu.2
Stichwort String.Format. Hab jetzt nicht die exatkte Syntax im Kopf, aber darüber geht das auf jeden fall.
Zu.3
Stichwort Regex. Expression prüfen und wenn die nicht stimmt, abfangen.
 
hi zu 3.
probiers mal so (ist die eingabe über textboxen wo nur bestimmte werte als ascii code abgefragt werden , denke mal du suchst sowas in der richtung)

// Ascii-Code der erlaubeten Tasten für die Textbox festlegen bzw ermitteln
private void tastenfilter(object absender, KeyPressEventArgs keyArgs)
{
int asc = (int)keyArgs.KeyChar;// für Key character wird Ascii verwendet
switch (asc)
{

case 44: break; // Ascii-wert des Kommas
case 48: break; // Ascii-wert von der Ziffer 0
case 49: break; // Ascii-wert von der Ziffer 1
(usw bis 57 oder so )
default:
keyArgs.Handled = true; break;
}
}

protected override void OnLoad(EventArgs e)//aufruf des Tastenfilters
{
textBox1.KeyPress += new KeyPressEventHandler(tastenfilter);//Tastenfilter wird für Textbox1 vorgegeben

base.OnLoad(e);
}



ist zwar umständlicher , aber bei nem projekt von mir hats funktioniert!

mit regex kannste aber die fehler besser abfangen und den error provider besser mit bestücken (wenn ichs mal so ausdrücken darf!)
mit dem koordinatensystem muss ich selbs nochmal nachschauen.
willst du immer neu kurven bekommen, oder soll aus mehreren werten eine kurve enstehen?
mfg topfi
 
Zuletzt bearbeitet:
Dein Tastenfilter würfte das Problem allerdings nicht lösen. Was wenn die Eingabe aus der Zwischenablage kommt? ;)

Die Geschichte mit dem Plot machste am besten indem du ein einfaches Steuerelement programmierst. Da kannste dann selbst zeichnen. Oder du nimmst ne fertige Bibliothek..
z.B. so eine hier http://www.codeproject.com/KB/graphics/zedgraph.aspx
 
Du kannst auch zB im TextChanged Event auf Buchstaben prüfen und sie bei Bedarf entfernen.
 
Zurück
Oben