Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

edit   Найти похожие ветки 

 
jop   (2004-12-05 14:12) [0]

Здраствуйте.
Имеется ситуация(на форме 150 edits).
Скажите,как заполнить edits значениями, увелич. на 1
через for, не прибегая к заполения каждого edit.
напрмер, for i:=1 to 150 do
edit[i]:=inttostr(i);//не получается, чтобы edit компонент передавал упарвлению
другому эдиту и так до 150, не редактируя каждый.
Спaсибо.


 
TButton ©   (2004-12-05 14:15) [1]

for i:=1 to 150 do
 TEdit(Form1.FindComponent("Edit"+IntToStr(i))).Text:=IntToStr(i);


 
Anatoly Podgoretsky ©   (2004-12-05 14:16) [2]

Должно получаться


 
SergP ©   (2004-12-05 14:48) [3]


> for i:=1 to 150 do
> edit[i]:=inttostr(i);//


Если у тебя указатели єдитов в массиве edit[1..150] of TEdit, то
for i:=1 to 150 do
edit[i].text:=inttostr(i);

иначе [1]


 
TButton ©   (2004-12-05 14:49) [4]


> Если у тебя указатели єдитов в массиве edit[1..150] of TEdit,
> то

то
TEdit(^edit[i]).text...


 
begin...end ©   (2004-12-05 14:59) [5]

> [4] TButton ©   (05.12.04 14:49)

> TEdit(^edit[i]).text...

Чаво-чаво?


 
SergP ©   (2004-12-05 15:01) [6]


>  [4] TButton ©   (05.12.04 14:49)


Хм... Но ведь и так работает:


unit Unit1;

interface

uses
 Windows, SysUtils,  Classes,  Controls, Forms, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 edit:array[1..5] of Tedit;
implementation

{$R *.dfm}

// Создаем эдиты
procedure TForm1.Button1Click(Sender: TObject);
var
 i:byte;
begin
for i:=1 to 5 do
 begin
   edit[i]:=Tedit.Create(self);
   edit[i].Parent:=self;
   edit[i].Top:=i*20+10;
   edit[i].Left:=5;
   edit[i].Visible:=true;
 end;
end;

// Заполняем эдиты
procedure TForm1.Button2Click(Sender: TObject);
var
 i:byte;
begin
 for i:=1 to 5 do
   edit[i].Text:=inttostr(i);
end;

end.


 
begin...end ©   (2004-12-05 15:21) [7]

> jop   (05.12.04 14:12)

> чтобы edit компонент передавал упарвлению
> другому эдиту и так до 150, не редактируя каждый.

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   ...
   Edit150: TEdit;
   Button1: TButton;
   procedure FormCreate(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   I: Integer;
   procedure Change(Sender: TObject);
 end;

procedure TForm1.Change(Sender: TObject);
begin
 if I < 150 then
 begin
   Inc(I);
   (FindComponent(Format("Edit%d", [I])) as TEdit).Text := IntToStr(I)
 end
end;

procedure TForm1.FormCreate(Sender: TObject);
var
 J: Integer;
begin
 I := 0;
 for J := 0 to ControlCount - 1 do
   if Controls[J] is TEdit then
     (Controls[J] as TEdit).OnChange := Change;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.Text := IntToStr(I);
end.


:-)


 
TButton ©   (2004-12-05 17:21) [8]

повторяю
> Если у тебя указатели єдитов в массиве edit[1..150] of TEdit,
> то

то
TEdit(^edit[i]).text...

не знаю как вы воспринимаете слово указатель, я лично, мсключительно как Pointer


 
TButton ©   (2004-12-05 17:22) [9]


> Если у тебя указатели єдитов в массиве edit[1..150] of TEdit,
> то

оп. пардоньте, господа. слона то я и не приметил.


 
begin...end ©   (2004-12-05 17:27) [10]

> [8] TButton ©   (05.12.04 17:21)

> не знаю как вы воспринимаете слово указатель, я лично, мсключительно
> как Pointer

А зря, вот array of TEdit состоит как раз из указателей, можешь посмотреть размер каждого элемента, как раз 4 байта.


 
TButton ©   (2004-12-05 17:41) [11]


> А зря, вот array of TEdit состоит как раз из указателей,
> можешь посмотреть размер каждого элемента, как раз 4 байта.

абсолитно согласен. но все-таки. edit[n] для меня экземпляр класса, не поворачивается язык его указателем назвать. хотя по сути оно конечно так и есть.


 
SergP ©   (2004-12-06 06:33) [12]


> абсолитно согласен. но все-таки. edit[n] для меня экземпляр
> класса, не поворачивается язык его указателем назвать. хотя
> по сути оно конечно так и есть.


Тогда называй его указателем на экземпляр класса. :-)))


 
jop   (2004-12-06 07:02) [13]

Вобщем нашел инфу по теме.
http://www.amateurmonster.com/tgp/amateurs/homeporn3/hottable4781.html


 
SergP ©   (2004-12-06 07:30) [14]


>  [13] jop (он же Maxim_S~~)  (06.12.04 07:02)


Ну если нашел инфу, то молодец. Судя по УРЛу инфа как раз для тебя. Сиди и читай ее. А ссылки на всякое дерьмо нечего постить на форум.



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.036 c
1-1102303284
Anonim
2004-12-06 06:21
2004.12.19
Проблемы с WM_DEVICECHANGE...


3-1101201182
Oldster
2004-11-23 12:13
2004.12.19
Перекодировка символьных полей таблицы


1-1102067434
sloug
2004-12-03 12:50
2004.12.19
XPManifest


3-1101193679
first_may
2004-11-23 10:07
2004.12.19
Yaffil, сборка 885


14-1101589151
Piter
2004-11-27 23:59
2004.12.19
Придумал как обнаружить троянца