Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#1

Komponenten zur Laufzeit oder Entwicklungszeit

  Alt 30. Jan 2011, 09:54
Hallo zusammen,

ich habe mal ein Grundlegende Frage. Ich benötige eine Oberfläche mit mehrer TabSheets und 500 Edit´s, 100 ALed´s. Diese Oberfläche im Designmodus zu erstellen, wäre ja möglich. Allerdings fehlt mir da ein Punkt, den ich später benötigen werde. Ich versuche das ganze mal zu beschreiben.

Ich habe verschieden Systemzustände (Hardware), Funktionszustände (Hardware) und Mengen (Hardware).

Diese Systemzustände sollen Ihren Funktionszustand an Hand der Edit und Led Komponenten anzeigen. Der Systemzustand wäre eine Text -> Edit Komponente, Der Funktionszustand wäre ein Bool -> Led Komponente und die Menge ist Hardwareabhängig. Desweiteren sind die Systemzustände in der Hardware frei konfigurierbar, wodurch es sein kann, das nicht die Systemzustände 1-30 vorhanden sind, sondern die Systemzustände 1,23,50,20,....usw. Und hier ensteht, genau mein Gedanken Problem, hätten die Systemzustände eine Vortlaufende Nummer, könnte ich einfach mit

tEdit(FindComponente('Edit'+IntToStr(Systemzustand)... auf die Komponente zugreifen. Da ich aber dann unter umständen ein ziemlich ungeordnete Oberfläche hätte, würde ich diese geren vermeiden. Somit gibt es für mich jetzt zwei Möglichkeiten, ich erstellen die Edit´s mit einers SystemID erst zur Laifzeit, wenn die Systemzustände bekannt sind, allerdings stelle ich mir das sehr aufwendig vor und vorallem bei 500 Edit´s unübersichtlich.

Die zweit wäre eventuell alle Edit´s etc. zur Laufzeit mit einer Art ID zuversehen, oder die Edit´s die benötigt werden und die übrigen auf Visible = false zu belassen.

Das Problem ist, bei der Zuweisung eines Systemwertes, möchte ich aber irgendwie vermeiden immer alle Komponenten zu initialisieren. Da möchte ich nu auf die Komponente zugreifen die gerade gefordert wird. Also irgendwie sowas...

Edit(Systemzustand).Text := 'Ich bin der Systemwert'; Ist sowas irgendwie möglich. Oder wie würde man an sowas programmieren.

Ich hoffe ich konnte mein Problem so einigermaßen beschreiben.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat