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.

                          Форма.

 

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

       

                 


 

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

76266. Электропривод 165.34 KB
  В простейшем понимании электропривод представляет собой электромеханическую систему предназначенную для преобразования электрической энергии в механическую приводящую в движение рабочие органы различных машин.
76267. Административная ответственность несовершеннолетних 22.19 KB
  Норма данной статьи Кодекса корреспондируется с нормами уголовного гражданского трудового и других отраслей права. Таким образом законодатель считает лицо достигшее 16 лет обязанным и способным осознавать социальный смысл своего поведения признавать и уважать права...
76268. Этика делового общения 31.29 KB
  Этика делового общения совокупность нравственных норм правил и представлений регулирующих поведение и отношения людей в процессе их производственной деятельности. Этика делового общения представляет собой частный случай этики вообще и содержит в себе ее основные характеристики.
76269. Проведення судово-психологічної експертизи 20.22 KB
  У процесі судово-експертного дослідження проводиться ретроспективний аналіз психологічний аналіз результатів діяльності людини. обвинувачуваного у скоєнні вбивства була призначена судовопсихологічна експертиза з метою визначення чи перебував обвинувачений у момент...
76270. Поняття цивілізації. Типологія цивілізацій та контакти між цивілізаціями в часі 97.83 KB
  За багатьма ознаками нашу епоху можна назвати переломною історичною епохою, коли особливо гостро постають питання пошуку джерел та нових суспільних форм соціально-політичного та економічного розвитку, його гармонізації із соціальними відносинами та навколишнім природнім середовищем.
76271. Сутність та роль фінансової звітності 68.64 KB
  Саме завдяки фінансовій звітності рівень достовірності якої підтверджено аудитором формуються передумови здійснення значних фінансовогосподарських операцій. Ці вигоди можливо отримати завдяки ефективному використанню достовірної облікової інформації яка міститься у фінансовій звітності...
76272. ЭКОЛОГИЧЕСКИЕ ФАКТОРЫ И ИХ ВЛИЯНИЕ НА ЗДОРОВЬЕ 51.72 KB
  Все процессы в биосфере взаимосвязаны. Человечество - лишь незначительная часть биосферы, а человек является лишь одним из видов органической жизни. Разум выделил человека из животного мира и дал ему огромное могущество.
76273. Фонетика в латинском языке 30.12 KB
  В классическом латинском языке ударение согласно свидетельствам античных грамматиков было музыкальным повышение тона на ударном гласном; место ударения практически полностью определялось фонологической структурой слова.
76274. Олимпийские игры 91.35 KB
  Приняли участие лучшие спортсмены северных стран Норвегии Финляндии Швеции. Во всех дисциплинах лыжного спорта победителями оказались спортсмены Норвегии. Непревзойденными в хоккее были спортсмены Канады имевшие огромное преимущество над соперниками.