16509

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

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 6 Создать программу в Delphi со следующими действиями. Задайте цвет формы свойство color. Часть первая: На событие мыши OnMouseDown переведите значение переменной Flag:Boolean в True выполните процедуру Form1.Canvas.MoveTox0y0 где x0y0 – позиция курсора мышки и откройте ...

Русский

2013-06-22

75 KB

3 чел.

Лабораторная работа № 6

Создать программу в Delphi со следующими действиями.

Задайте цвет формы (свойство color).

Часть первая:

На событие мыши OnMouseDown переведите значение переменной Flag:Boolean в True, выполните процедуру Form1.Canvas.MoveTo(x0,y0) (где x0,y0 – позиция курсора мышки) и откройте файл для записи (см. свой вариант).

На событие OnMouseMove (при условии Flag=True) выполните процедуру Form1.Canvas.LineTo(x,y) и произведите запись координат (x-x0,y-y0)  в файл.

На событие мыши OnMouseUp переведите значение переменной Flag в false и закройте файл.

Часть вторая:

При нажатии правой кнопки мыши, открывается файл, считываются координаты и по ним рисуется сохраненная в файле фигура из точки, где находится указатель мыши.  

Примечание1: Добавьте возможность изменения толщины и цвета пера.

Вариант

нечетный

Файл текстовый

четный

Файл типизированный (например, file of word)


Текст программы

Часть 1:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

 type

 { TForm1 }

 TForm1 = class(TForm)

   procedure FormCreate(Sender: TObject);

   procedure FormMouseDown(Sender: TObject; Button: TMouseButton;

     Shift: TShiftState; X, Y: Integer);

   procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

   procedure FormMouseUp(Sender: TObject; Button: TMouseButton;

     Shift: TShiftState; X, Y: Integer);

 private

   { private declarations }

 public

   { public declarations }

 end;

var

 Form1: TForm1;

implementation

 var

 flag:boolean;

 f:TextFile;

 x0,y0:integer;

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);

begin

 Flag := False;

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

 Shift: TShiftState; x, y: integer);

var

 dx,dy:integer;

begin

 if not flag then

 begin

   if Button = mbLeft then

   begin

     flag := True;

     AssignFile(f,'risynok.dat');

     ReWrite(f);

     x0:=x;

     y0:=y;

     Canvas.MoveTo(x,y);

   end

   else

   if Button = mbRight then

   begin

     x0:=x;

     y0:=y;

     Canvas.MoveTo(x,y);

     AssignFile(f, 'risynok.dat');

     ReSet(f);

     while not EOF(f) do

     begin

       Readln(f,x,y);

       Canvas.LineTo(x0-x,y0-y);

     end;

     CloseFile(f);

   end;

 end;

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; x,y: integer);

begin

 if flag then

 begin

   Writeln(f,x0-x,' ',y0-y);

   Canvas.LineTo(x, y);

 end;

end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;

 Shift: TShiftState; x, y: integer);

begin

 if flag then

 begin

   CloseFile(f);

   Flag:=false;

 end;

end;

end.

                          Форма.

 

                Демонстрация работы программы.

       

                 


 

А также другие работы, которые могут Вас заинтересовать

66233. Оценка эффективности управления персоналом 72 KB
  В качестве показателей используется удельный вес оплаты труда в себестоимости продукции процент выполнения норм выработки трудоёмкость продукции; фондовооружённость труда потери рабочего времени и т. Этот срок измеряется длительностью рабочего дня недели месяца года...
66235. Моделирование и конструирование швейных изделий 4.1 MB
  Характер принимаемых здесь формул достаточно сложный количество измерений фигур большое и для индивидуального производства которое учитывает особенности телосложения каждой конкретной фигуры был разработан на базе этой методики €œЕдиный метод конструирования одежды...
66236. Деякі аспекти інтерактивного навчання 109.52 KB
  Застосування цих методів виявило певні проблеми й ускладнення: зниження ролі вчителя в навчальному процесі, неекономне витрачання навчального часу, відсутність в учнів достатньої мотивації для такого типу навчання.
66237. Характеристика функций, свойств и требований к одежде различного вида и назначения 1.76 MB
  Характеристика свойств одежды различного вида и назначения Характеристика требований к одежде Характеристика функций одежды В повседневной жизни людей одежда играет огромную роль так же как продукты питания и жилье.
66238. Кабельні лінії 599.54 KB
  Кабельна лінія електропередачі КЛ лінія для передачі електроенергії що складається з одного або декількох паралельних кабелів із з'єднувальними стопорними та кінцевими муфтами закладками і кріпильними деталями. Конструкції силових кабелів залежать від класу напруги.
66239. Использование протокола RIP 99.5 KB
  Протокол RIPX используется для определения типа кадра и номера внешней сети для каждого интерфейса, настроенного на автоматическое определение этих значений. При загрузке протокола NWLink отправляется запрос...
66240. Моделирование радиоэлектронных устройств при помощи программного комплекса Electronics Workbench 966.5 KB
  Для начала разработки необходимо загрузить файл-схему в среду Electronics Workbench, если этот файл уже создан и находится на одном из накопителей компьютера. Это делается посредством выполнения команды меню...
66241. Предмет статистики 117.32 KB
  Предмет статистики характеризує кількісні особливості соціальних та пов’язаних із ними природних процесів у нерозривному зв’язку з їх якісним складом. Істотним у визначенні предмета статистики є те що вона вивчає...