Autor Beitrag
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.01.03 17:32 
Zitat:
Und wie heißt das Ergebnis einer Auswahl aus einer Combobox in Delphi
*räusper* versuch's mal mit OnSelect.

Zitat:
also mit welcher Eigenschaft o.ä. nehme ich auf das Ausgewählte Bezug
Die Nummer des ausgewählten Eintrages erhälst Du mit ItemIndex (beginnend mit 0). Damit sollte auch schon klar sein, dass Du das Array nicht durchlaufen musst, um die anderen zugehörigen Eigenschaften zu finden, oder?

Fehlermeldung: mein Fehler: schreib' mal das CloseFile(myfile) mit in den Quelltext, der ausgeführt wird, wenn die IF-Bedingung erfüllt ist. Dann sollte es funktionieren.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ecthelion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 57



BeitragVerfasst: Mi 08.01.03 18:32 
Heißt das also, in der ComboBox stehen nicht nur die "Name"-Einträge sondern "dahinter" sind auch die anderen Einträge des Records enthalten? Also brauch ich gar kein Array?

OnSelect wäre übrigens nur das Ereignis für die Auswahl eines Elements. Wie aber heißt dann das Element selber?

So wie wenn ich in ein Edit-Feld was eingebe, dann ist OnChange (oder ne andre) dann sowas wie OnSelect, EditFeld.Text aber ist der Eintrag mit dem danach weitergearbeitet wird. Wie heißt jenes bei der ComboBox?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.01.03 19:05 
Zitat:
OnSelect wäre übrigens nur das Ereignis für die Auswahl eines Elements.
Oh, sorry, ich habe "Ereignis" anstatt "Ergebnis" gelesen. Den Text des ausgewählten Elementes kannst Du auch über die Eigenschaft ItemIndex erfahren. Der Text ist:
ausblenden Quelltext
1:
ComboBox1.Items[ItemIndex]					


Zitat:
Heißt das also, in der ComboBox stehen nicht nur die "Name"-Einträge sondern "dahinter" sind auch die anderen Einträge des Records enthalten? Also brauch ich gar kein Array?
Nein. In der Combobox steht nur der Name. Aber ItemIndex ist die Nummer des ausgewählten Items in der ComboBox. Und da Du die Items alle nacheinander aus dem Array "eingefüllt" hast, muss das auch gleichzeitig die Nummer des entsprechenden Elementes im Array sein, gelle? Damit musst Du also nicht nach dem Element, welches zur Auswahl in der ComboBox gehört suchen, sondern ItemIndex gibt Dir sofort dessen Nummer.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ecthelion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 57



BeitragVerfasst: Mi 08.01.03 20:31 
Kewl, das macht Sinn, dann nur noch formelle Fragen:

1. Das erste Item einer ComboBox, hat das den Index 0 oder den Index 1?

2. Wenn ich ein Array also vergrößern Will, setze ich das neue Item einfach an Position High(array)+1?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 08.01.03 21:02 
Prima, dass es jetzt klar ist!

zu 1: das erste Item hat den Index 0

zu 2: fast. Du musst für ein neues Item erst "Platz schaffen". Du musst also die Länge des Arrays um eins erhöhen und dann an die dadurch neu erstellte Position Deine Daten schreiben. Also so:
ausblenden Quelltext
1:
SetLength(my_array,Length(my_array)+1);					

Das neue (leere) Element wird hinten drangehängt, hat als nun den Index High(my_array). In Bezug auf die alte Länge des Arrays ist das, wie Du ganz richtig geschrieben hast, die Position High(my_array)+1. Nur das das nicht funktionieren würde, da High(my_array) Dir ja gerade den Index des letzten ansprechbaren Elements gibt. Dann ein Element anzusprechen zu versuchen, welches darüber liegt, geht natürlich nicht. Dafür die Verlängerung des Arrays.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ecthelion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 57



BeitragVerfasst: Sa 11.01.03 14:53 
www.auq.de/viewtopic.php?t=5711

Irgendwie läuft's immer noch nich so recht. Beim schreiben in das Array hängt er sich irgendwie auf (auch wenn mittlerweile OT)