Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.10.2013, 23:22
Andrey_Ryzhov Andrey_Ryzhov вне форума
Прохожий
 
Регистрация: 02.09.2013
Адрес: Новгородская обл. пгт Пролетарий
Сообщения: 10
Версия Delphi: Lazarus, ECDXE3
Репутация: 10
Печаль Управление объектом массива

И опять здравствуйте. Переехал тут на Lazarus, решил ощутить все прелести FreePascal. Есть проблема. Моя задача, создать n-ое количество компонентов TImage, и сделать так, что-бы они двигались после создания. Решил забацать массив, массив-то работает (пока создает только 1 TImage (ну это так пока и задумывается)), но как сделать так, что-бы созданный имейдж начал сдвигаться? Я знаю, как это сделать со статическим Image на форме, но не понимаю, как передать ему свойство left, когда он динамический. Определенно, думаю, без таймера никуда... но ... не получается...
На просторах паутины нашел множество примеров, пробовал, пробовал... - вспотел. Хотелось бы услышать мудрый совет.... Спасибо.
И, да... ещё.. есть 2 пустых таймера, один из них, наверно и должен двигать имейджи, а второй - зарезервирован на потом.

Собственно - кодец:

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Timer1: TTimer;
    Timer2: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

 const N= 1;
var
  Form1: TForm1;
  Img: array[1..N,1..N] of TImage;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
  var i,j: Integer;
    C: Integer;
begin
  for i := 1 to 1 do
    begin
      for j := 1 to 1 do
        begin
          Img[i,j] := TImage.Create(Self);
          Img[i,j].Parent := Self;
          Img[i,j].Left := i*100;
          Img[i,j].Top := j*80;
          Img[i,j].Width := 30;
          Img[i,j].Height := 30;
          Img[i,j].Picture.LoadFromFile(IntToStr(i)+'.bmp');
          Timer2.Enabled:= true;
      end;
        end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
end;

end.

Последний раз редактировалось Andrey_Ryzhov, 23.10.2013 в 23:24.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025