Цитата:
Сообщение от lmikle
А зачем так сложно? RTTI для чего сделан?
1. Прописываешь Tag у TMemo
2. Прописываешь Tag у TButton
3. Далее делаешь вот такой обработчик и присваиваешь его ВСЕМ 20 кнопкам:
Код:
procedure TForm1.ButtonClick(Sender: TObject);
var
AButtonTag : Integer;
I : Integer;
begin
If Sender Is TButton Then
Begin
AButtonTag := (Sender As TButton).Tag;
If Not (Tag In [1..20]) Then Exit; // Здесь проверка на то, что Tag от 1 до 20
For I := 0 To ComponentCount-1 Do
If Components[i] Is TMemo Then
(Components[i] As TMemo).Visible := (Components[i] As TMemo).Tag = AButtonTag;
End;
end;
При этом имена контролов могут быть любые. Можно без Tag, но тогда придется "зашиваться" на имена.
|
Подчёркивает var красным !!!
А в первом случае, подчёркивает строчку --- for i:=1 to 20 do