Ranides napisał(a)
Nie możesz ogarnąć o co chodzi, ale czujesz, że "to jest to". Jak nawet nie wiesz "co to jest" ? :| Nieeee - w taki sposób donikąd nie zajedziesz... Ten fragment o VBA też najlepiej zdaje się pokazywać, że coś nie halo się orientujesz sam czego chcesz, bo ... WTF - czego Ty szukasz, że w zapytaniu o obsługę VCLa wyskakuje Ci Visual Basic?! Przecież VCL nawet na ten język przeniesiony nie jest...
Google = np. tablica kontrolek - same przykłady z VB. Dlatego napisałem, że nie wiem o co z tym chodziło... Bo pierwsze co mi się skojarzyło to tablica "DBLookupów" z chodzącym indeksem :-)
Ranides napisał(a)
W przykładowym kodzie należało rozumiem to legendarne DBLookupComboBoxi zastąpić. No to masz, zwykłe "kopiuj wklej" niemalże Cię czeka. Masz nawet przykład x razy trudniejszy uklepany ...
Tego kopiuj wklej właśnie chciałem uniknąć... Owszem mogę tak zrobić, ale wychodzi coś takiego:
switch (RadioGroup3->ItemIndex) {
case 0:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 1:
DBLookupComboBox2->Enabled=True;
DBLookupComboBox3->Enabled=True;
DBLookupComboBox4->Enabled=False;
DBLookupComboBox5->Enabled=False;
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Refresh();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 2:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox4->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 3:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox4->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox5->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
**Nie śmiać się - to tylko kod na pokaz! ;-) ** Wszystko fajnie działa, ale chyba nie o to w programowaniu chodzi... Chociaż może tak? Nie wiem - uczę się... Miałem nadzieję, że istnieje sposób żeby można było uszczuplić ten kod bo po prawdzie to ta sama operacja wykonywana z różnymi danymi z różnych combo... Wszelkie pytania uprzedzam - muszą być cztery comba i to cztery różne...
Ranides napisał(a)
Jeśli kontrolki na formę powstawiałeś, a teraz chcesz w nich grzebać... to dynamiczne tworzenie "czegokolwiek" jest absurdem.
A i owszem... Ale od samego początku to nie ja się przy takim rozwiązaniu upierałem... Leniem nie jestem bo "nieco" czasu spędziłem na poszukiwaniach (masz rację, że nie wiem czego szukam) głupotą braku wiedzy nazwać nie można, więc nie denerwuj się ;-) Chciałem po prostu dowiedzieć się jak takie coś rozwiązałby doświadczony programista...