![]() |
|
|
#1
|
|||
|
|||
|
Есть такой необычный вопрос.
Код:
procedure Edit1Change(Sender:TObject);
var
t:TEdit;
s:TObject;
begin
s:=Sender+... ;
{как мне к имени Sendera (здесь это Edit1) "прибавить" какую либо цифру ? Естественно компиллятор выдает ошибку на '+'}
t:=Sender as TEdit;
end;программировать начал недавно поэтому не пинайте за глупый вопрос. Последний раз редактировалось Admin, 25.04.2011 в 13:33. |
|
#2
|
||||
|
||||
|
Никак...
Если хочешь в одном обработчике работать с несколькими TEdit то можно, например, назначить им разные значения поля Tag и использовать это таким образом: Код:
procedure Edit1Change(Sender:TObject);
begin
case (Sender as TEdit).Tag of
1:(Sender as TEdit).Text:='Это первый Edit';
2:(Sender as TEdit).Text:='Это второй Edit';
3:(Sender as TEdit).Text:='Это третий Edit';
4:(Sender as TEdit).Text:='Это четвертый Edit';
....
n:(Sender as TEdit).Text:='Это н-ный Edit';
end;
end; |
|
#3
|
||||
|
||||
|
Код:
var
e: TEdit;
begin
e:=FindComponent('Edit1') as TEdit;
end; |
|
#4
|
|||
|
|||
|
оо, спс, то что нужно.
|
|
#5
|
|||
|
|||
|
попутный вопрос а возможно ли создать свой класс от Edita например
TEditN Код:
type TEditN = class(TEdit) private protected public number:integer; published end; так чтобы свойство number было видно и в Object Inspectore ? просто не хочу исспользовать Tag вместо этого. |
|
#6
|
||||
|
||||
|
ну таипа так:
Код:
... protected fProp:integer published Prop:integer read fProp write fProp; |
|
#7
|
|||
|
|||
|
ругается:
Published field 'Prop' not a class nor interface type чего-то не хватает можно поподробнее ? |
|
#8
|
||||
|
||||
|
ааа, ну да:
Код:
protected fProp:integer published property Prop:integer read fProp write fProp; |
|
#9
|
|||
|
|||
|
во, отлично.
всем большое спасибо. Ждите новых вопросов ![]() |