![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите, please, разобраться с TEdit [D5, Win2k]
Codec © (2002-10-30 18:57:00)Доброго времени суток, Мастера!
Похоже меня переклинило, но не могу сообразить, выручайте, пожалуйста!
Проблема в следующем: имеется 10 Edit"ов (класс TEdit): Edit1,Edit2,...Edit10.
Как можно (если можно вообще) организовать запись значений из них в цикле вроде:
for i:=1 to 10 do Edit[i].Text := A[i];
"Edit[i].Text" - глупость, конечно, и работать не будет, но я думаю, смысл того, что я хочу сделать понятен.
Заранее СПАСИБО!!!
Codec (2002-10-30 22:49:00) [1]
> k ©
СПАСИБО БОЛЬШОЕ !!!Если что, и я помогу, чем смогу!
:-)
k (2002-10-30 19:21:00) [2]а можно как МВо предложил
function GiveMyEdit(num:integer):TEdit;
var EditName:string;
begin
EditName := "Edit" + inttostr(num);
Result := findcomponent(EditName) as TEdit;
end;
то есть для номера 1 вернет Edit1 и т.п.
это упрощенный вариант
k (2002-10-30 19:11:00) [3]вместо Edit1,Edit2,...Edit10 объявляй массив:
Edits:array[1..10] of TEdit;
а дальше динамическое создание/уничтожение...
создание:
procedure CreateEdits;
var i :integer;
begin
for i:=1 to 10 do
begin
Edits[i]:= TEdit.Create(Self);
Edits[i].Parent := Self;
Edits[i].Visible := true;
//размеры, стили, положение
//события можно так обработать
Edits[i].OnChange := MyProc;
//где MyProc объявляешь как procedure MyProc(Sender:TObject);
end;
end;
ан-но все остальное... уничтожение,
принцип ясен, надеюсь
MBo (2002-10-30 19:06:00) [4]findcomponent, inttostr, is, as