Editfelder mit Koordinate identifizieren
-
Hallo zusammen,
ich habe folgendes Vorhaben der Identifizierung von Editfeldern mit ihrer Position in einer n*n Matrix. Hier erstmal das Formblatt:
http://img379.imageshack.us/img379/9607/prog14sy.png
Ich möchte jetzt das Editfeld der i-ten Zeile und der h-ten Spalte mit der Zahl i*10+h identifizieren, dafür benenne ich die einzelnen Editfelder manuell um, sodass sie dann Edit(i*10+h).
Wie kann ich jetzt den Button so programmieren, dass er folgendes tut (hier pseudocode:)
void __fastcall TForm1::Button1Click(TObject *Sender) { int a,b; i=random(17); h=random(17); Edit(i*10+h)->Color=clBlue; }Natürlich funktioniert Edit(a*10+b) nicht, wie macht man es richtig?
Eigentlich wäre es natürlich viel besser, ich könnte die Editfelder mit (i;h) identifizieren, denn ansonsten ist die Identifizierung der Editfelder mit i*10+h ab einem Quadrat von Editfeldern der Größe 11*11 nicht mehr umkehreindeutig. Was gibt es da für Möglichkeiten, kann man Objekte direkt mit einem geordneten Paar identifizieren?
fGruß
Huseyin
-
-
Hallo,
Wie wärs, wenn du deine Edits in ein Array packst und dann über den Index darauf zugreifst.
Siehe auch FAQ unter "Komponenten benutzen"
-
Du könntest Dir mal FindComponent() anschauen. Besser wäre es vielleicht aber, wenn Du Dir die Edit-Felder in
einem dynamischen Array o.ä. speicherst.Gruß,
Alexander