Wybieranie komponentu na formie

0

Witam

Prawde mowiac nie szukalem za dobrze na forum bo nie wiem za bardzo pod jakim zapytaniem moglbym cos takiego znalezc, wiec jesli ktos rozpoznal problem i ma linka to niech go tu wstawi :)

W kazdym razie problem mam nastepujacy W bazie danych mam zapisana nazwe komponentu wraz z nazwa jego wlasciwosci (np. ComboBox1.text) W innej tabeli mam zapisana wartosc jaka chcialbym przypisac temu wlasnie komponentowi i tej wlasnie wlasciwosci (np. udalo sie) Czyli chcialbym zrobic tak, aby po odczytaniu danych z bazy uzyskac na formie w combobox1 wartosc udalo sie (ComboBox1.Text = 'Udalo sie')

Czy jest to mozliwe? Aktualnie mam problem w ogole z wybranie na formie komponentu (wraz z jego wlasciwoscia) ktorego nazwe zczytalem z bazy Nie wiem jak to zrobic

NazwaFormy.ADOQuery1.FieldByName('nazwa_komponentu').AsString wyraznie nie chce dzialac [cojest]

0

Nie wiem czy o to dokladnie chodziło, ale poniższy kod wyszukuje komponent o podanej nazwie i przypisuje mu wartość:

[code]var
I : Integer;
Nazwa : String;
begin
Nazwa := 'ComboBox1';
for I := 0 to Form1.ComponentCount - 1 do
if (Form1.Components[I] is TComboBox) and (Form1.Components[I].Name = Nazwa) then
(Form1.Components[I] as TComboBox).Text := 'Udało się';
end;[/code]

[cya]

0

No racja, takie rozwiazanie tez by moglo byc :-D

A czy masz moze pomysl jak zrobic zeby wybrac od razu wlasciwosc do ktorej chce przypisac odpowiednia wartosc? Wlasciwosc tez bym pobieral z bazy (np. Text, Enabled, itd)

0

Nie bardzo sie orientuje w bazach danych :-/ . W kazdym razie sposób który napisałem wcześniej jest dobry kiedy nie na formie znajdują sie komponenty których nie możesz jednoznacznie określić (tzn nie zawsze są takie same). W innym przypadku lepiej jest po prostu przypisywać konkretne wartości konkretnym komponentom.

0

Nie no, ten sposob ktory podales jest dobry, tzn mi wystarczy

Co do baz danych to to w sumie nie ma wiekszego znaczenia Zastanow sie moze po prostu jak zrobic cos takiego:
mam w zmiennej zmienna := 'Enabled'

i chce teraz ustawic na ta wlasnosc w comboboxie na True
Ale nie wiem jak to zrobic ;-|
ComboBox1.zmienna := true nie za bardzo chce dzialac ;-|

0

Nie wydaje mi się, aby to było możliwe.

0

Chyba że by przechowywać offset danej właściwości w obiekcie, ale to już są skomplikowane zabawy z pamięcią...

1 użytkowników online, w tym zalogowanych: 0, gości: 1