Создание модульной программы в среде Delphi

Автор работы: Пользователь скрыл имя, 13 Декабря 2010 в 19:49, курсовая работа

Краткое описание

Данный проект разработан, для того чтобы показать, каким образом можно обращаться к программам, разработанных в различных языках программирования, объединив их в один комплекс программ, разработанного в качестве простейшего меню в языке Borland Delphi. Таким образом, данная программа полезна в обучающем процессе (для ознакомления с возможностью представления комплекса программ в одном простейшем меню, разработанного различными способами).

Содержание работы

1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 4
1.1 Введение 4
1.2 Назначение разработки 4
1.3 Требования к программе или программному изделию 5
1.3.1 Аппаратные требования, требования к совместимости 5
1.3.2 Процессы обработки 6
1.3.3 Результирующие компоненты изделия 6
1.4 Требования к программной документации 7
2 ТЕХНИЧЕСКИЙ ПРОЕКТ 8
2.1 Назначение и область применения 8
2.2 Разработка структуры приложения 8
2.3 Описание частей программы 9
2.3.1 Подсистема построения эллипса 9
2.3.2 Подсистема динамический список 9
2.3.3 Подсистема графический редактор «Окружности» 9
2.3.4 Подсистема информации о странах мира 10
2.3.5 Подсистема-тест 10
2.4Инструкции, включающие в себя средства для работы с программой 10
3 РАБОЧИЙ ПРОЕКТ 16
3.1 Общие сведения 16
3.2 Основная программа Курсовой проект 16
3.2.1 Создание меню 16
3.3 Программа «Эллипс» 17
3.4 Программа динамического списка 17
3.5 Программа графический редактор «Окружности» 18
3.6 Программа информация о преподавателях ВУЗа 20
3.7 Программа-тест 21
3.8 Методика испытаний 21
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 25
ПРИЛОЖЕНИЕ 26

Содержимое работы - 1 файл

Курсовой проект.docx

— 422.92 Кб (Скачать файл)

    Procedure ReSize(ar:Word); {изменение размеров}

    Procedure ReColor(acolor:TColor); {изменение цвета}

    end; 

    TMyCircle=class (TMyFigure) {класс Окружность}

    public

    Procedure Draw; override; {рисование окружности}

    end; 

    TMySquare=class (TMyFigure) {класс Квадрат}

    Procedure Draw; override; {рисование квадрата}

    end; 

    implementation

    Constructor TMyFigure.Create;

    begin

    inherited Create; {вызвать наследуемый конструктор}

    Image:=aImage; {инициализировать поле}

    x:=ax; y:=ay; r:=ar; Color:=aColor;

    end; 

    procedure TMyFigure.Clear;

    var

    TempColor:TColor;

    begin

    TempColor:=Color; {сохранить цвет пера}

    Color:=Image.Canvas.Brush.Color; {фиксировать цвет фона}

    Draw; {нарисовать цветом фона - стереть}

    Color:=TempColor; {восстановить цвет пера}

    end; 

    procedure TMyFigure.ReSize;

    begin

    Clear;

    r:=ar;

    Draw;

    end; 

    procedure TMyFigure.ReColor;

    begin

    Clear;

    Color:=aColor;

    Draw;

    end; 

    procedure TMyCircle.Draw;

    begin

    Image.Canvas.Pen.Color:=Color; {задать цвет пера}

    Image.Canvas.Ellipse(x-r,y-r,x+r,y+r); {нарисовать окружность}

    end; 

    procedure TMySquare.Draw;

    begin

    Image.Canvas.Pen.Color:=Color;

    Image.Canvas.Rectangle(x-r,y-r,x+r,y+r);

    end;

    end. 

    Модуль Unit1 

    unit Unit1;

    interface

    uses

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

      Dialogs, StdCtrls, ExtCtrls, Spin; 

    type

      TMainForm = class(TForm)

        rLabel: TLabel;

        SpinEdit: TSpinEdit;

        ColorButton: TButton;

        Shape1: TShape;

        Image: TImage;

        ColorDialog: TColorDialog;

        TypeFigure: TRadioGroup;

        ExitButton: TButton;

        Button1: TButton;

        Button2: TButton;

        procedure FormActivate(Sender: TObject);

        procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;

          Shift: TShiftState; X, Y: Integer);

        procedure ColorButtonClick(Sender: TObject);

        procedure ExitButtonClick(Sender: TObject);

        procedure SpinEditChange(Sender: TObject);

        procedure FormCreate(Sender: TObject);

        procedure Button1Click(Sender: TObject);

        procedure Button2Click(Sender: TObject);

      private

        { Private declarations }

      public

        { Public declarations }

      end; 

    var

      MainForm: TMainForm; 

    implementation

    {$R *.dfm}

    Uses Unit2;

    var

      C:TMyFigure;

      fig:Array [0..100] of TMyFigure;

      i:integer; 

    procedure TMainForm.FormActivate(Sender: TObject);

    begin

    Image.Canvas.Brush.Color:=clWhite; {установить белый фон}

    Image.Canvas.Pen.Color:=clBlack; {установить цвет рисования}

    end; 

    procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    begin

    if Button=mbLeft then {если нажата левая  кнопка мыши}

    begin

    fig[i].Free; {если объект создан, то уничтожить его}

    case TypeFigure.ItemIndex of

    0: C:=TMyCircle.Create(Image,X,Y,SpinEdit.Value,

                        Image.Canvas.Pen.Color); {конструировать}

    1: C:=TMySquare.Create(Image,X,Y,SpinEdit.Value,

                        Image.Canvas.Pen.Color); {конструировать}

    end;

    C.Draw; {изобразить объект с заданными параметрами}

    fig[i]:=c;

    i:=i+1;

    end;

    end; 

    procedure TMainForm.ColorButtonClick(Sender: TObject);

    begin

    if ColorDialog.Execute then {если выполнен диалог  выбора цвета, то}

    Image.Canvas.Pen.Color:=ColorDialog.Color;

    if C <> nil then {если объект создан, то}

    C.ReColor(Image.Canvas.Pen.Color); {перерисовать другим цветом}

    end; 

    procedure TMainForm.ExitButtonClick(Sender: TObject);

    begin

    Application.Terminate;

    end; 

    procedure TMainForm.SpinEditChange(Sender: TObject);

    begin

    if C <> nil then C.ReSize(SpinEdit.Value);

    end; 

    procedure TMainForm.FormCreate(Sender: TObject);

    begin

      i:=0;

    end; 

    procedure TMainForm.Button1Click(Sender: TObject);

    var a:integer;

    begin

    for a:=0 to i-1 do

    Fig[a].ReColor(Image.Canvas.Pen.Color); {перерисовать другим цветом}

    end; 

    procedure TMainForm.Button2Click(Sender: TObject);

    var a:integer;

    begin

      for a:=0 to i-1 do

    Fig[a].ReSize(SpinEdit.Value); {Изменить размер}

    end; 

    Initialization

    Finalization C.Free;

    end. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    ПРИЛОЖЕНИЕ 5

    Листинг программы «Преподаватели ВУЗа» 

    unit Unit1;

    interface

    uses

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

      Dialogs, Menus, Grids, StdCtrls; 

    type

      TForm1 = class(TForm)

        Button1: TButton;

        Button2: TButton;

        Button3: TButton;

        Button4: TButton;

        MainMenu1: TMainMenu;

        Memo1: TMemo;

        OpenDialog1: TOpenDialog;

        SaveDialog1: TSaveDialog;

        Label1: TLabel;

        Edit1: TEdit;

        Button5: TButton;

        Label2: TLabel;

        Edit2: TEdit;

        Button6: TButton;

        Button7: TButton;

        Label3: TLabel;

        Label4: TLabel;

        Label5: TLabel;

        Label6: TLabel;

        Label7: TLabel;

        Label8: TLabel;

        Label9: TLabel;

        Label10: TLabel;

        Label11: TLabel;

        Label12: TLabel;

        StringGrid1: TStringGrid;

        N1: TMenuItem;

        N2: TMenuItem;

        N3: TMenuItem;

        N4: TMenuItem;

        Label13: TLabel;

        procedure N2Click(Sender: TObject);

        procedure N3Click(Sender: TObject);

        procedure Button5Click(Sender: TObject);

        procedure Button3Click(Sender: TObject);

        procedure Button1Click(Sender: TObject);

        procedure Button2Click(Sender: TObject);

        procedure Button4Click(Sender: TObject);

        procedure Button6Click(Sender: TObject);

        procedure Button7Click(Sender: TObject);

        procedure N4Click(Sender: TObject);

      private

        { Private declarations }

      public

        { Public declarations }

      end; 

    var

      Form1: TForm1;

      i, j, k, n, tj: integer; 

    f: tstrings; 

    implementation

    {$R *.dfm} 

    procedure TForm1.N2Click(Sender: TObject);

    begin

if(opendialog1.Execute)thenmemo1.Lines.LoadFromFile(OpenDialog1.filename);

    end; 

    procedure TForm1.N3Click(Sender: TObject);

    begin

if(savedialog1.Execute)thenmemo1.Lines.SaveToFile(SaveDialog1.filename);

    end; 

    // определим число записей

    procedure TForm1.Button5Click(Sender: TObject);

    begin

          n:=StrToInt(edit1.Text);

          StringGrid1.Rowcount:= n+1;

          for j:=1 to n+1 do

          begin

Информация о работе Создание модульной программы в среде Delphi