Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.036 c