Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2014, 20:56   #1
KaDima28
Пользователь
 
Регистрация: 24.03.2014
Сообщений: 48
По умолчанию Динамическое удаление созданного

При открытии окна, появляются 133 панели. Я хочу что-бы они красиво уходили. (типо там открытие рисунка т. д.)
Ну не важно, важно то как удалить созданное имея его имя. Вот код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var d,d1,d2,d3,d4,d5,d6:integer;
var b:TPanel;

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;

begin
d:=50;
d1:=50;
d2:=50;
d3:=50;
d4:=50;
d5:=50;
d6:=50;
for i:=0 to 133 do begin
if d<>1000 then begin
d:=d+50;
 b:=TPanel.Create(Form1);
    b.Parent:=Form1;
    b.Name:='s'+IntToStr(i);
    b.Caption:='';
    b.bevelouter:=bvNone;
    b.Color:=clWhite;
    b.Left:=d;
    b.Top:=8;
    b.Width:=50;
    b.Height:=50;
end
else if d1<>1000 then begin
d1:=d1+50;
 b:=TPanel.Create(Form1);
    b.Parent:=Form1;
    b.Name:='s'+IntToStr(i);
    b.Caption:='';
    b.bevelouter:=bvNone;
    b.Color:=clWhite;
    b.Left:=d1;
    b.Top:=58;
    b.Width:=50;
    b.Height:=50;
end else if d2<>1000 then begin
d2:=d2+50;
 b:=TPanel.Create(Form1);
    b.Parent:=Form1;
    b.Name:='s'+IntToStr(i);
    b.Caption:='';
    b.Caption:='';
    b.bevelouter:=bvNone;
    b.Color:=clWhite;
    b.Left:=d2;
    b.Top:=108;
    b.Width:=50;
    b.Height:=50;
end else if d3<>1000 then begin
d3:=d3+50;
 b:=TPanel.Create(Form1);
    b.Parent:=Form1;
    b.bevelouter:=bvNone;
    b.Name:='s'+IntToStr(i);
    b.Caption:='';
    b.Color:=clWhite;
    b.Left:=d3;
    b.Top:=158;
    b.Width:=50;
    b.Height:=50;
end else if d4<>1000 then begin
d4:=d4+50;
 b:=TPanel.Create(Form1);
    b.Parent:=Form1;
    b.Name:='s'+IntToStr(i);
    b.Caption:='';
    b.bevelouter:=bvNone;
    b.Color:=clWhite;
    b.Left:=d4;
    b.Top:=208;
    b.Width:=50;
    b.Height:=50;
end else if d5<>1000 then begin
d5:=d5+50;
 b:=TPanel.Create(Form1);
    b.Parent:=Form1;
    b.Name:='s'+IntToStr(i);
    b.Caption:='';
    b.bevelouter:=bvNone;
    b.Color:=clWhite;
    b.Left:=d5;
    b.Top:=258;
    b.Width:=50;
    b.Height:=50;
end;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
 for i:=0 to 1 do
   begin

    if i=0 then //удаление панельки (s1)

   end;
end;

end.
Я имею их имена (s1, s2...), но делфи не находит её.
P.S: Я чет, это, затупил
P.S.S: Всем спасибо кто поможет.
KaDima28 вне форума Ответить с цитированием
Старый 08.04.2014, 21:01   #2
KaDima28
Пользователь
 
Регистрация: 24.03.2014
Сообщений: 48
По умолчанию

может просто менять визибл, но как найти саму панельку?
KaDima28 вне форума Ответить с цитированием
Старый 08.04.2014, 21:12   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

У формы есть метод FindComponent. Им можно
Есть индексированное свойство Controls. И по нему можно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.04.2014, 21:18   #4
KaDima28
Пользователь
 
Регистрация: 24.03.2014
Сообщений: 48
По умолчанию

Спасибо. Видно просто когда компилировал, оно еще не знала эту переменную.
KaDima28 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамическое создание и удаление компонентов obsession144 C# (си шарп) 1 01.04.2014 21:27
Динамическое создание и удаление сокетов The SCS Работа с сетью в Delphi 0 28.06.2012 21:08
динамическое удаление элементов маГГ85 JavaScript, Ajax 7 26.12.2011 20:42
Динамическое создание и удаление компонент ArtGrek Общие вопросы Delphi 23 13.05.2011 10:29
Динамическое удаление TCheckBox Maks57 Помощь студентам 9 24.11.2009 00:24