С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/113: Рейтинг темы: голосов - 113, средняя оценка - 4.91
Виктор
0 / 0 / 1
Регистрация: 28.04.2014
Сообщений: 2
1

Как программно создать компонент в Delphi 7 ?

16.08.2007, 02:42. Просмотров 20578. Ответов 10
Метки нет (Все метки)

В программе требуется создавать 'X' компонентов (например Edit1).
Как это реализовать?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2007, 02:42
Ответы с готовыми решениями:

Как оживить компонент ProgressBar с помощью Delphi 6.0?
Как оживить компонент ProgressBar с помощью Delphi 6.0

Как установить компонент TChromium в Delphi 10.1 Berlin?
Нужно установить компонент TChromium для Delphi 10.1 Berlin, но как это сделать...

Как программно поменять стандартные параметры страницы в delphi?
Прошу помощи! Как программно поменять стандартные параметры страницы в delphi,...

Как программно создать объект?
Проблема в следующем: Есть текстовый файл с какими-то строчками (не суть важно...

Как создать архив с паролем из Delphi
Всем привет. Подскажите пожалуйста как создать архив с паролем из Delphi....

10
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
16.08.2007, 07:23 2
Лучший ответ Сообщение было отмечено как решение

Решение

К примеру, можно вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.createedits(offset: integer);
var edit: tedit;
begin
edit := tedit.Create(form1);
edit.Parent := form1;
edit.Left:=10;
edit.Top := 30 * offset;
edit.Visible := true;
edit.Name := 'Edit'+inttostr(offset);
edit.text := 'Name is ' + edit.Name;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var i:byte;
const
x:integer = 2;
begin
for i := 0 to x do  begin
createedits(i);
end;
end;
4
Виктор
0 / 0 / 1
Регистрация: 28.04.2014
Сообщений: 2
17.08.2007, 03:05  [ТС] 3
Всё отлично, Спасибо!
0
05.09.2007, 15:27 4
А вот события придеться дописывать, а точнее переопределять дополнительно.
Кроме того если ты их будешь периодически удалять, то свойство edit.Name - вообще бесполезно. Вопшем, будут вопросы, спрашивайте
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
10.09.2007, 18:15 5
Кроме того если ты их будешь периодически удалять, то свойство edit.Name - вообще бесполезно.
Хм... А, если нам надо будет пройтись по коллекции компонентов на форме, то как удобнее всего нам отличить, какой edit и на что нам? Удобнее просто проверить имя и мы уже будем знать, какой именно это edit.
1
SerKo
0 / 0 / 0
Регистрация: 04.11.2008
Сообщений: 25
24.02.2009, 19:44 6
Подскажите,пожалуйста. Дело в том, что я создаю edit,
C++
1
2
3
4
for i:=1 to 4 do begin
    pole[i]:=tedit.Create(self);
    pole[i].Width:=300;
    pole[i].Parent:=form2; end;
и потом надо использовать содержимое этих edit, напр,label1.Caption:=pole[1].Text;
но в label ничего нет, почему?
0
Somebody
2802 / 1613 / 251
Регистрация: 03.12.2007
Сообщений: 4,215
Завершенные тесты: 3
25.02.2009, 20:09 7
Здесь 4 editа имеют одни и те же координаты, на самом верху - последний созданный; вероятно, тект вводился в него. Если текст вводить в соответствующий edit, всё работает.
0
sat123
0 / 0 / 0
Регистрация: 18.03.2009
Сообщений: 2
22.03.2009, 15:10 8
а как, используя эти две процедуры присваивать Едитам название а[i]?
где i - это j:=j+1;

Добавлено через 1 минуту 49 секунд
поднял старую тему
0
cristaloleg
148 / 49 / 3
Регистрация: 21.12.2008
Сообщений: 961
24.03.2009, 15:16 9
У мя не пашет!!!
Почему???
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var tab:TTabSheet;
     i:integer;
begin
  tab:=TTabSheet.Create(Form1);
  tab.Parent:=PageControl1;
  tab.Visible:=True;
  inc(i);
  tab.Caption:='tab'+IntToStr(i);
  tab.Name:='tab'+IntToStr(i);
end;
0
Nickothin
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 1
25.12.2010, 02:45 10
подскажите пожалуйста как переопределять события

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
procedure TForm1.FormCreate(Sender: TObject);
var i, j : byte;
    n    : integer;
    str  : string;
    but  : tbutton;
begin
  n := strtoint(Form1.Edit1.Text);
  if (n <= 0)  then
    form1.Close()
  else
  begin
  {EditBox}
    for i := 1 to n do
      for j := 1 to (n + 1) do
        Createedits(i,j);
  {button}
    but         := tbutton.Create(form2);
    but.Parent  := Form2;
    but.Left    := 20;
    but.Top     := Form2.Constraints.MaxHeight - 70;
    but.Caption := 'Go';
    but.Visible := true;
    but.Click(); //КАК ОПРЕДЕЛИТЬ СОБЫТИЕ
   {Label}
    for i := 1 to n do
      for j := 1 to n -1 do
      begin
        str := 'X'+inttostr(j)+'   +';
        CreateLabels(i,j,str);
      end;
    str := 'X'+inttostr(n)+'   =';
    for i := 1 to n do
      CreateLabels(i,n,str);
  end;
end;
0
Lord_Voodoo
Супер-модератор
8611 / 2248 / 133
Регистрация: 07.03.2007
Сообщений: 10,840
Завершенные тесты: 1
25.12.2010, 10:47 11
Delphi
1
Button2.OnClick := Button1Click;
0
25.12.2010, 10:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2010, 10:47

Компонент Delphi ListBox
помогите пожалуста с 15 вариантом, вообще не могу сделать.... вот ссылка на...

Компонент WordApplication в Delphi 2009
Доброго времени суток! Не могу найти в Delphi 2009 компонент для работы с Word,...

Компонент TrayIcon на Delphi 2010
Привет. Можете дать, пожалуйста, компонент CoolTrayIcon для Delphi 2010 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru