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.

                          Форма.

 

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

       

                 


 

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

11858. Думи мої, думи мої 58 KB
  Думи мої думи мої. Літературний вечір 1. Ведуча. Я вас вітаю з березневим днем. І всетаки зійдуть сніги і нам привітно усміхнуться дерева своїм листям трава і квіти. І прилетять гусилебеді. Такого ж березневого дня колись принесли лемки до кріпацької хати малень
11859. Хімія - світ кави 92 KB
  Тема: Хімія світ кави. Мета: поглибити знання з хімії. Форма проведення: хімічний вечір Оформлення сцени: фізична карта світу прапорцями відмічено країни де виробляють каву: Бразилія Колумбія Уганда КостаРіка Камерун Сальвадор Гватемала Мексика Перу Інд
11860. Земля у нас одна 94 KB
  Пресконференція Земля у нас одна Предмет хімія Клас 10 Кількість учнів у класі 17 Кількість присутніх 17. Навчальна мета: сформувати знання про сучасний стан навколишнього середовища та вплив діяльності людини на природу; Виховна мета: виховувати дбай...
11861. День матері 111 KB
  Виховний захід на тему: День матері Мета. Закріплення в учнів навичок виразного читання віршованих творів та розвитку їхніх артистичних здібностей. Виховувати глибоку любов і повагу до матері засновниці і продовжувачки роду людського чуйність і доброту до на
11862. Досягнення алхіміків 72.5 KB
  Виховний захід у молодших класах: Досягнення алхіміків Предмет хімія Клас 56 Кількість учнів у класі 29 Кількість присутніх 29. Навчальна мета: сформуватиі та поглибити знання про хімію і алхімію Виховна мета: виховувати дбайливе ставлення хімічних ре...
11863. КВК Знавці хімії 176.5 KB
  КВК Знавці хімії Для 9го класу Цілі: узагальнити знання з тем Періодичний закон і періодична система Д.І. Менделєєва. Будова атома та Хімічний зв'язок і будова речовини; розширити інтерес учнів до вивчення хімії логічне мислення вміння аналізувати. Обладнанн
11864. Український рушнику житті людини 184 KB
  тема. Український рушнику житті людини МЕТА: Домогтися глибокого осмислення учнями значення рушника в житті рідного народу. Вироблення духовної потреби берегти його як сімейний скарб як оберіг. Розширити поповнити знання про традиції примінення рушника призн
11865. Світ пахощів 59 KB
  Тема: Світ пахощів. Форма проведення: святковий вечір для учнів 10х класів. Тривалість вечора: 60 хв. Мета: ознайомити учнів із духмяними речовинами найрізноманітніших типів: естерами альдегідами спиртами насиченого ненасиченого й ароматичного рядів; розкрити значе...
11866. Буквы н и нн в именах прилагательных, образованных от имен существительных 1.63 MB
  Муниципальный конкурс Симфония урока Тема урока: Буквы н и нн в именах прилагательных образованных от имен существительных Предмет: русский язык Учитель: Ракитина Марина Геннадьевна Квалификационная категория: высшая Название ОУ: Муниципальное общеоб