Siema. Tak jak w temacie. Mam np. 20 RadioButtonów i pod każdym label z opcją no i jak zrobić, że jak user zaznaczy np. RadioButton7 i gdy kliknie na Button to na Edit1 pojawia się jakiś napis? Prosiłbym o kod, ponieważ nie mam pojęcia jak to zrobić... Z góry dzięki ;d
Lazarus też powinien mieć TRadioGroup
. Wtedy tam dodajesz sobie Itemy jako kolejne przycisku do wyboru i masz je ideksowane od 0 we własności Items
. Poza tym na tak nieprecyzyjne pytanie, że chcesz coś wyświetlić, to odpowiem tak. W OnClick
dla przycisku dajez po prostu JakisTwojEdit.Text := 'Jakiś tekst';
. Sprecyzuj co chcesz tam wyświetlić. A jeżeli chcesz mieć osobne TRadioButton'y
to trzymaj je w talicy, ewentualnie posługuj się funkcją FindComponent
aby łatwo sprawdzić, który TRadioButton
jest Checked
. Więcej informacji na ten temat - wygoogluj sobie. A temat prznoszę do działu Newbie, bo według mnie dotyczy banalnych podstaw. Na przyszłośc jednak za tagowanie "z d__py" będę "nagradzał" Koszem.
RadioButton1 "Label - kolor żółty"
Radiobutton2 "Label - kolor zielony"
Radiobutton3 "Label - kolor czerwony"
Button
"Edit1 - wybrałeś..."
W zależności od tego co zaznacze pojawi się na Edit1.
Naprościej pod OnClick
dla Buttona dać coś takiego jak poniżej. Z tym, że nazywanie przycisków domyślną nazwą i trzymanie ich 20 jest mało eleganckie. Także lepiej trzymaj je w tablicy. Ewentualnie najprościej było by się posłużyć TRadioGroup, o którym już wspominałem. I wtedy odnosił byś się do jego własności
Items`.
//...
const
Max_RB_Count = 20;
RB_Name = 'RadioButton';
var
I : integer;
RB : TRadioButton;
begin
for I := 1 to Max_RB_Count do
begin
RB := TRadioButton(Self.FindComponent(RB_Name + IntToStr(I)));
if RB <> nil then
begin
if RB.Checked then
begin
Edit1.Text := 'Wybrałeś ' + RB.Caption;
Break;
end;
end;
end;
end;
Dzięki ziomek. Zrobiłem troche po swojemu i pomęczyłem się z if i then :P
Spoko. To pozwoliłem sobie zaakceptować swój powyższy post jako rozwiązanie. A i mając taki kod, przy domyślnych nazwach dla komponentów - nie trzeba było nic kombinować z if
then
. Ponieważ według mnie działa on tak, jak opisałeś, że ma działać.