Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.058 c
14-1101675462
OneFragLeft
2004-11-28 23:57
2004.12.19
Чё за дрянь?


4-1099327420
Dionis
2004-11-01 19:43
2004.12.19
Визуальный компонент для работы с COM-портом


4-1099905979
ZedeS
2004-11-08 12:26
2004.12.19
Работа со CMOS в Win XP


14-1101958957
080D:07BBh
2004-12-02 06:42
2004.12.19
Кажется опять студенты пошли со своими лабараторными.


6-1096999715
santey
2004-10-05 22:08
2004.12.19
как поменять ip local host





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский