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.

                          Форма.

 

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

       

                 


 

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

3647. Исследование уровня цитокинов у больных с гнойно-воспалительными заболеваниями 652 KB
  Гнойно-воспалительные заболевания (ГВЗ) остаются одной из актуальных проблем современной медицины. Так 1/3 всех хирургических больных – это больные с гнойно-воспалительными осложнениями. В дерматологической практике на долю гнойно-восп...
3648. Базы данных СУБД Microsoft Access. Алгоритмы баз данных 514 KB
  В данном курсовом проекте была реализована задача, позволяющая существенно повысить производительность труда работника, за счёт автоматизации проводимых операций. Целью написания данного курсового проекта было получение практических навыков ...
3649. Правовое регулирование чрезвычайных ситуаций 76.5 KB
  Правовое регулирование чрезвычайных ситуаций Нормативные акты, регулирующие деятельность по снижению риска ЧС, могут быть условно подразделены на две группы: частные и общие (общесистемные) акты. В общесистемных правовых актах формулируется базовый ...
3650. Автоматизированный электропривод машин и аппаратов химических производств 1.63 MB
  Назначение электродвигателя – для привода с регулированием скорости в широком диапазоне, обеспечивающем хорошие пусковые качества и перегрузочной способностью. Вид автоматизированного пуска – в функции времени. По назначению привода опреде...
3651. Лексико-стилистические особенности комментариев пользователей официальных групп СМИ социальной сети В Контакте 182.95 KB
  Объектом исследования является текстовые сообщения Интернет-сообщества. Предмет исследования – лексико-стилистические особенности комментариев пользователей официальных групп СМИ социальной сети ВКонтакте. Цель работы – комплексное изуче...
3652. Закріплення і узагальнення мовленнєвих умінь, пов`язаних з вивченням частин мови 1.06 MB
  Мета: повторити з учнями вживання частин мови у своєму мовленні, вчити знаходити їх у тексті, давати характеристику, як частини мови; розвивати мову, збагачувати словниковий запас, розвивати вміння користуватися словниками; виховувати повагу до люде...
3653. Величний подвиг в ім’я людства – поза часом 2.11 MB
  «Величний подвиг в ім’я людства – поза часом» Мета: Знайомство з героїчними сторінками історії нашої країни, нашого міста. Формування в учнів почуття патріотизму, любові до свого народу, його героїчного минулого. Виховання г...
3654. Закріплення знань про звукове значення букви «ш» (ша). 2.84 MB
  Закріплення знань про звукове значення букви «ш» (ша). Мета. Закріплювати знання учнів про звукове значення букви «ш» (ша) виконувати звуко-буквений аналіз слів;формувати в учнів навички свідомого й виразного читання розвивати мислення...
3655. Виховний захід. У країні дорожніх знаків 1.85 MB
  У країні дорожніх знаків 1-а ведуча. Добрий день! Сьогодні ми поговоримо про правила дорожнього руху. Відомо всім, що найдорожчий скарб людини - це її власне життя...