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.

                          Форма.

 

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

       

                 


 

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

70445. Влияние внутрисемейных отношений на формирование личности младшего школьника 223 KB
  Так как семейные условия включая социальное положение род занятий материальное обеспечение и уровень образования родителей в большей мере предопределяют жизненный путь ребенка. Помимо сознательного полноценного и целенаправленного воспитания которое дают ему...
70448. Разработка двухуровневой распределенной АСУ ТП секции 100 установки 4.34 MB
  Установка гидрокрекинг предназначена для переработки вакуумного газойля в присутствии водорода на алюмоникельмолибденовом катализаторе с повторной переработкой рециркулята (остатка куба колонны фракционирования) для максимального производства дизельного или реактивного топлива.
70449. Анализ финансового положения ОАО «Амира» 763.5 KB
  В настоящее время коммерческим банкам требуется более глубокий подход в оценке кредитоспособности заемщика потому что кредитоспособность клиента способность заемщика полностью и в срок рассчитаться по своим долговым обязательствам а для банка кредитные операции...
70450. Разработка подсистемы автоматизации учебно-учетной деятельности в спортивной школе 1.4 MB
  Одним из важных шагов создания информационной подсистемы является разработка базы данных которая позволит организовать и упорядочить информацию а также обеспечит быстрый доступ к данным и выборку необходимой информации.
70451. Пути совершенствования управления кадрами на предприятии ЗАО «Балаковохлеб» 140.97 KB
  Цель данного исследования - на основе анализа эффективности организации кадрового менеджмента предприятия определить пути его совершенствования и дать экономическое обоснование внедрения мероприятий в кадровую практику.
70452. Развитие рынка страхования имущества в России 141.49 KB
  Страхование - необходимый элемент производственных отношений. Оно связано с возмещением материальных потерь в процессе общественного производства. Рисковый характер общественного производства, порождает отношения между людьми по предупреждению, преодолению...
70453. Организация управления промышленным предприятием на примере ОАО завод «Красное Сормово» 4.8 MB
  Цель проекта: Изучение процесса управления промышленным предприятием. Задачи проекта: раскрыть теоретические аспекты организации управления на промышленном предприятии; изучить деятельность предприятия, организационную структуру, внешнюю среду предприятия...