TEdit abhängig von TComboBox ?
-
Hi@all
Möchte folgende Function vereinfachen bzw. kompensieren .
TEdit1->Text=TComboBox1->Text;
TEdit2->Text=TComboBox2->Text;
usw. bis 10 oder mehrHabe folgendes probiert :
dynamic_cast<TEdit*>(Sender)->Text=dynamic_cast<TComboBox*>(Sender)->Text;
Das geht natürlich nicht !
Wie kann ich also eine TEdit abhängig von der dazugehörigen TComboBox füllen ohne für jede Feldkombination eine eigene Anweisung schreiben zu müssen ?
Thx@all
[ Dieser Beitrag wurde am 31.03.2003 um 13:50 Uhr von Prominenter editiert. ]
-
du könntest entweder die Edit-Felder und die ComboBoxen als Arrays machen und die Zuweisung über Index und For-Schleife laufen lassen oder du nimmst dir irgendeinen Container der die beiden Sachen logisch miteinander veknüpft..zB std::map aus der STL
-
Hi,
1. PropInfo
bool __fastcall PropertyToProperty(TObject *ADest, TObject *ASrc, const AnsiString APropertyName) { TPropInfo *piDest = GetPropInfo((TTypeInfo *)ADest->ClassInfo(), APropertyName); TPropInfo *piSrc = GetPropInfo((TTypeInfo *)ASrc->ClassInfo(), APropertyName); bool Result = false; if (piDest && piSrc) switch((*piDest->PropType)->Kind) { case tkLString : if ((*piSrc->PropType)->Kind == tkLString) { SetStrProp(ADest, piDest, GetStrProp(ASrc, piSrc)); return true; } break; case tkInteger : if ((*piSrc->PropType)->Kind == tkInteger) { SetOrdProp(ADesc, piDest, GetOrdProp(ASrc, piSrc)); return true; } break; //...usw default : return Result; } return Result; } // Example PropertyToProperty(Edit1, ComboBox1, "Text"); PropertyToProperty(Edit1, ComboBox1, "Tag");
2. dynamic_cast
(dynamic_cast<TEdit *>(Sender))->Text = (dynamic_cast<TComboBox *>(Sender))->Text;
[ Dieser Beitrag wurde am 31.03.2003 um 18:00 Uhr von Blazek Jaroslav editiert. ]
-
Hi,
schau mal FindComponentByName(AnsiString); oder so ähnlich in der Hilfe nach!Alexander Sulfrian
-
Hi@Blazek Jaroslav
Sieht gut aus.
Aber die PropInfo-Methode ist mir zu komliziert .Und die dynamic_cast Methode funktioniert leider nicht .
Edit1 = ComboBox1
Edit2 = Combobox2
Edit3 = ComboBox3 usw.also immer eine Combobox mit dazugehörigem Editfeld .
Ich dachte auch erst an dynamic_cast , aber wie sage ich dem jeweiligen Edit-Feld zu welcher ComboBox es gehört ???
Kann man die beiden Sachen irgendwie miteinander verknüpfen oder abhängig machen ???Und von wegen Hilfe - damit kann ich überhaupt nichts anfangen .
Danach müsste ich es ja auch für jedes Paar einzeln ausprogrammieren .Ich wollt eaber gern eine Sammelfunktion die selbsständig prüft welche Felder zusammengehören .
Trotzdem
Thx@all
-
Original erstellt von <Prominenter>:
Und von wegen Hilfe - damit kann ich überhaupt nichts anfangen .Doch, das kannst du! "FindComponent" heißt die Methode. Benutze sie in einer for-Schleife.