![]() |
Notenspiegel mit Hindernissen
Hi Leutz,
ich hab folgendes Problem: ich will einen Notenspiegel-Programm erstellen welches mir nach Eingabe der Noten den Durchschnitt aller Noten berechnet. Das ganze sieht bzw soll so aussehen: ![]() Um das ganze ausdrücklich zu sagen, es soll jeweils von den ausgefüllten Editfeldern eines Faches der Durchschnitt berechnet werden. Nun ich muss sagen ich hab kein großes Know-How in sachen Delphi - was man auch anhand dieser für einige hier leichten Aufgabe sieht. Was ich brauche ist ein Algorithmus der mir den Durchschnitt, wie oben bereits gesagt, ermittelt. Ich hoffe es kann mir jemand weiterhelfen!!! :-D :-D :-D Thx |
Re: Notenspiegel mit Hindernissen
Wenn wir dir den gesamten Algorithmus sagen, lernst du dabei herzlich wenig. Wo liegen denn deine Probleme? Mit den Funktionen IntToStr und StrToInt lässt sich das Problem eigentlich recht gut lösen. Aber wie weit bist du denn? An welcher Stelle hast du als erstes ein Problem?
|
Re: Notenspiegel mit Hindernissen
allerdings solltest du dir mal überlegen ob du die eingabe nichts lieber in ein StringGrid machst, ist einfach anzusprechen weil du ja ne schleife nehmen kannst, verbessert mich, aber Edit1 Edit2.. muss man ja jedes mal einzel schreiben, StringGrid.Cells[i,j] ist da imho einfacher
|
Re: Notenspiegel mit Hindernissen
Streng genommen sind Schulnoten eine Ordinal-Skala, bei der eine Durchschnittsbildung mathematisch verboten ist.
(aber das nur am Rande) Gruß Matthias |
Re: Notenspiegel mit Hindernissen
Zitat:
wenn ich nun allerdings mit stringgrids arbeite, kann ich doch nicht jedes einzelne feld dort editieren - zumindest nich per anklicken, eintragen und ausführen oder? Deshalb hab ich mich für editfelder entschieden was natürlich auch sehr aufwändig ist. kurz und knapp ich kenn mich mit schleifen nicht gut aus, da ich auch im großen und ganzen ein totaler anfänger bin und brauche daher eigendlich nur ein paar tips wie ich die schleife aufbauen müsste. :oops: |
Re: Notenspiegel mit Hindernissen
du kannst natürlich dem benutzer erlauben in das stringGrid zu schreiben, einfach im OI unter Optionen: read only = false setzen
|
Re: Notenspiegel mit Hindernissen
Hi
Möchtest du die Editfelder in einer Schleife sukzesive ansprechen, kannst du die Funktion ![]() |
Re: Notenspiegel mit Hindernissen
trotz der hilfefunktion von Delphi selber komme ich mit dem FindComponent befehl zurecht...
falls jemand die zeit finden sollte kann er mir gerne ein funktionierendes beispiel für mein programm geben...ansonsten werd ich den entwurf wohl verwerfen thx @ all |
Re: Notenspiegel mit Hindernissen
Nanu wer wird denn gleich so schnell aufgeben?
|
Re: Notenspiegel mit Hindernissen
Die Methode FindComponent der TForm-Klasse findet eine Komponenet anhand ihres Namens und gibt dir eine Referenz auf diese als TComponent zurück. Diese Referenz kann auf die wirkliche Klasse gecastet werden.
z.B.
Delphi-Quellcode:
(Form.FindComponnent('Edit1') as TEdit).Text := 'Bal Bla Bla';
|
Re: Notenspiegel mit Hindernissen
auch wenn ich Schläge bekomme,
hier mal ein kleiner Ansatz:
Delphi-Quellcode:
Beschreibung:
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; out_i: Integer; begin out_i := 0; for i := 1 to 2 do begin out_i := out_i + StrToIntDef((FindComponent('Edit' + IntToStr(i)) as TEdit).Text, 0); end; Edit3.Text := IntToStr(out_i div 2); end; Edit1 und Edit2 sind Eingabefelder für zwei Noten. Die Schleife hat deswegen auch nur zwei Durchläufe (wenn mehr Edits dann mehr Durchläufe). StrToIntDef konvertiert den String in ein Integer. Läuft das fehl, wird der Default-Wert zurückgegeben. Edit3 ist das Ausgabefeld für den Mittelwert. Dies soll nur ein kleiner Ansatz sein - es ist noch ausbaufähig. Z. B. könnte man das StrToIntDef gegen ein StrToInt austauschen, wenn die Edits nur Zahlen zulassen,................ |
Re: Notenspiegel mit Hindernissen
jetzt muss ich mir mal selber einen klaps auf den hinterkopf geben...
ich hatte die sache mit dem out_i := out_i + ... nicht reingeschrieben sondern hatte nur alles was hinter dem plus kam gut...jetzt bin ich schlauer dann sollte es auch was werden ein großes danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz