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.

                          Форма.

 

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

       

                 


 

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

33881. Доктрина Брежнева 28 KB
  При техническом содействии СССР возводились атомные электростанции в Болгарии и ГДР реконструировался Дунайский металлургический комбинат в Венгрии строился завод по производству каучука в Румынии. Диктат со стороны СССР навязывание союзникам по ОВД советской модели развития вызывали растущее недовольство в странах Восточной Европы. Одним из проявлений этой доктрины было вмешательство СССР во внутренние дела Чехословакии. в Чехословакию были введены войска СССР Болгарии Венгрии ГДР и Польши.
33884. Индустриальное развитие СССР в послевоенный период. Трудовая активность масс 25.5 KB
  Развитие промышленности зависело от международной обстановки Холодная война и Корейская война. Развитие промышленности очень зависело от ситуации в мире Холодная война и Война в Корее.
33885. Деревня и сельское хозяйство в послевоенный период 24 KB
  Разрушение колхозов совхозов МТС. В конце 40х прошло укрупнение мелких колхозов 1950 план укрупнения кохозов. Проблема рабочих рук уменьшение населения колхозов на 15. Оплата в ряде колхозов выглядела чисто символической.
33886. Политическая система СССР во второй половине 40-х – начале 50-х годов 27.5 KB
  Все группировки в партийном руководстве опирались на партию но в самой партии можно выделить несколько групп: те кто вступили в партию до войны и не были на оккупированных территориях те кто вступил в партию до войны но были эвакуированы и вернулись спешно принятые в партию коммунистыподпольщики на оккупированных территориях военные вступившие в партию на фронте вступившие после войны.
33887. Общественная жизнь страны во второй половине 40-х – начале 50-х годов 26 KB
  Победа воспринималась как общая раскол народа и власти начался позднее. Но лояльное отношение к власти не означало что никто не был против режима. Почему фронтовики не могли выступить против власти единство народа и власти во время войны психологическая усталость после войны период залечивания ран.