![]() |
Combobox
Einen wünderschönen Sonntag,
ich habe mal wieder eine Frage und zwar habe ich ein Projekt laufen das mir meine Abiturnote berechnet. Nur leider komme ich nicht mehr weiter, mein Problem ist folgendes, ich habe mir comboxen erstellt in denen ich mein fach auswählen kann und in der nächsten combobox meine punktzahl die ich erreicht habe. Nun würde ich gerne wissen, da es sehr viele comboxen sind und ich keine lust habe meine punkte im edit feld einzufügen, wie delphi die zahl die man ausgewählt in der combobox und die dann einem wert zugefügt wird. Also meinetwegen ich habe in deutsch 10 Punkte, dann soll delphi sagen combobox1 = 10 10= x ( um mit dem x noch weitere berechnungen zu machen) Hoffe ihr versteht was ich meine. Vielen Dank schon mal im vorraus und frohe Ostern |
Re: Combobox
Sry, aber zumindest ich persönlich hab das noch nicht ganz verstanden :gruebel:
|
Re: Combobox
Du kannst eine ComboBox genauso auslesen, wie ein Edit > .Text
oder man nimmt den .ItemIndex |
Re: Combobox
Genauer gesagt
ComboBox.Items[ComboBox.ItemIndex] |
Re: Combobox
Wenn man weiß, daß nur Zahlen in .Items vorkommen und diese auch noch sortiert sind, dann kann man auch direkt mit .ItemIndex rechnen. :angel2:
|
Re: Combobox
Wenn Text Zahlen zugeordnet werden soll (bsp. sehr gut => 1), dann könnte man auch Text mit "sehr gut" festlegen und der Eigenschaft "Tag" die 1 zuweisen und mit Tag direkt rechnen.
|
Re: Combobox
Tag?
Es gibt doch nur ein .Tag pro ComboBox. Meinst du nicht eher ComboBox1.Items.Objects ? :gruebel: [add] Zitat:
|
Re: Combobox
Schlimmstenfalls käme noch eine case-Abfrage in Betracht.
Delphi-Quellcode:
case ComboBox.ItemIndex of
0: Note := 1; 1: Note := 2; ... end; |
Re: Combobox
Zitat:
|
Re: Combobox
Zitat:
|
Re: Combobox
also ich glaube das ist nicht das was ich suche.
ich versuch es noch einmal zu erklären. Also meine Abiturnote setzt sich aus mehreren Notenpunkten zusammen, ich habe z.b. 24 grundkursfächer die ich einbringen muss in das abitur und es gibt auch noch weitere kriterien aber die sind ersteinmal unwichtig. Also ich habe nun viele comboboxen erstellt und kann dort auswählen von Deutsch über Mathe bis hin zu Sport (is nur wichtig für die Kriterien die noch erfüllt werden müssen) und dann habe ich noch comboboxen mit den zahlen von 0 bis 15. Wenn ich nun in der Combobox1 die zahl 12 auswähle soll diese zahl 12 meinetwegen den wert x erhalten, in der combobox2 wähle ich die zahl 7 aus so und dann kommt eine nicht so schwere gleichung x:= x + combobox2. (und dann fehlt mir der befehl für das auslesen/ ich habe auch kein start wo er erst dort auslesen soll, sondern gleich wenn man in der combobox etwas auswählt soll es im edit oder memo feld eingetragen werden) edit1.text:= strtoint (x) hoffe das das nun etwas deutlicher war und ihr mir helfen könnt, vll bin auch zu blöd um das zu verstehen was ihr mir schon hingeschrieben habt! DANKE |
Re: Combobox
Nochmal zum Verständnis: Du hast ComboBoxen mit den Fächern und dazugehörige Comboboxen mit den Punkten? Also dass jeweils 2 Comboboxen ein logisches Paar ergeben?
|
Re: Combobox
Ja genau, aber sie sind nicht miteinander verknüpft oder so!
ich habe es schon mit dem code versucht
Delphi-Quellcode:
aber dann hat er mir gesagt das bei x:= 0 srting und integer fehler aufgetreten istvar x :string; begin x:=0; x:= x + combobox1.text; x:= x + combobox2.text; x:= x + combobox3.text; edit1.text:= strtoint(x) dann habe ich einmal versucht mit value, das aber genauso wenig funzte |
Re: Combobox
@snears: Kannst du dem Beitrag bitte einen aussagekräftigeren Titel geben? :)
|
Re: Combobox
Die schnellste (im Sinne von Ergebnis erzielen) Möglichkeit wäre IMO
Delphi-Quellcode:
var x :integer;
begin x:=0; x:= x + StrToIntDef(combobox1.text,0); x:= x + StrToIntDef(combobox2.text,0); x:= x + StrToIntDef(combobox3.text,0); edit1.text:= IntToStr(x); |
Re: Combobox
also mein code sieht jetzt so aus
Delphi-Quellcode:
procedure TForm1.GrundkursbereichClick(Sender: TObject); var x :integer; begin x:=0; x:= x + StrToIntDef(comboBox25.text,0); x:= x + StrToIntDef(combobox26.text,0); x:= x + StrToIntDef(combobox27.text,0); edit1.text:= IntToStr(x); es funzt auch nur habe ich das in ein panel gemacht und muss nun damit etaws in das edit feld geschrieben wird immer erst noch auf das panel drücken kann man das umgehen, also das er das gleich anzeigt???? |
Re: Combobox
Drück Dich doch bitte etwas verständlicher aus. Ich rate jetzt einfach mal und werfe ein
![]() |
Re: Combobox
@snears: Ich bitte dich nochmals einen aussagekräftigen Titel zu wählen. Anhand deines jetzigen Titels kann man nur raten worum es in dem Beitrag geht. Dadurch finden später, Andere mit gleichem Problem, die Lösung nur schwer bist gar nicht und müssen erneut nachfragen.
|
Re: Combobox
ich glaube er will fragen, wie man es hinbekommt, dass die Prozedur, in der die Grundkurse zusammengezählt werden nicht mehr im OnClick des Panels ausgeführt wird. ist das soweit richtig?
dann musst du jetzt das alles, was du beim Klick auf das Panel machst, in das OnChange-Event des Edits zu packen (findest du im OI). dabei darauf achten, dass du immer integer-Zahlen im Edit stehen hast (dh. Abfrage, ob Edit.Text eine Zahl --> ![]() |
Re: Combobox
ah vielen Dank jetzt funzt es richtig!
Ich sollte mich nächstemal vll besser ausdrücken aber dennoch vielen Dank für die vielen Antworten. snears |
Re: Combobox
Nicht erst das nächste Mal! Ändere bitte den Titel, auch wenn das Problem schon gelöst ist!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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