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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2011, 16:22
Muaz Muaz вне форума
Прохожий
 
Регистрация: 07.05.2011
Сообщения: 4
Репутация: 10
Стрелка UML редактор на Delphi

Редактор должен работать только с диаграмой классов, что упрощает задание. Нужно создать два Класса : "TClass" и "TArrow". прошу помочь разобраться с классами, почему то переменные члены-класса нормально не работают не пойму что не так.
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TClass = class
    PtA,PtB,PtC,PtD: TPoint; //  <--- ПРОБЛЕМНЫЕ ПЕРЕМЕННЫЕ
    str: record name,atr,oper: string; end;
    procedure Paint;
    procedure Size;
    //procedure Delete;
  end;

type
  TArrow = class
  //
  end;

var
  Form1: TForm1;
  DClass: Array [1..10] of TClass;
  i: integer;
  procedure Redisigner;

implementation

{$R *.dfm}

procedure TClass.Size;
begin
  PtA.X:=15;
  PtA.Y:=15;
  PtB.X:=PtA.X+150;
  PtB.Y:=PtA.Y+50;
  PtC.X:=PtA.X;
  PtC.Y:=PtB.Y+50;
  PtD.X:=PtA.X+150;
  PtD.Y:=PtC.Y+50;
end;

procedure TClass.Paint;
begin
  Image1.Canvas.FrameRect(Rect(PtA.X,PtA.Y,PtB.X,PtB.Y));  //вывод 1  прямоугольника
  Image1.Canvas.FrameRect(Rect(PtB.X,PtB.Y,PtC.X,PtC.Y));  //2-го
  Image1.Canvas.FrameRect(Rect(PtC.X,PtC.Y,PtD.X,PtD.Y));  //3-го
  Image1.Canvas.FrameRect(Rect(PtA.X,PtA.Y,PtD.X,PtD.Y));  //обвод
end;

procedure Redisigner;
begin
  DClass[i].Paint;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  i:=i+1;
  Image1.Canvas.Brush.Color:=clBlack;
  DClass[i].Create;
  DClass[i].Size;
  Redisigner;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i:=0;
end;

end.
Админ: Пользуемся тегами для оформления кода!

планируется езменение размера полей с помощью изменения PtB,PtC,PtD: TPoint

Последний раз редактировалось Admin, 07.05.2011 в 17:14.
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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