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.

                          Форма.

 

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

       

                 


 

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

75062. ЛИПЕЦКАЯ ЗЕМЛЯ НА СЛУЖБЕ ОТЕЧЕСТВУ 78 KB
  Два века отделяют нашу современность от великой победы русского народа в Отечественной войне 1812 года, но это нисколько не умаляет ее огромного значения для истории России. Борьба с иноземными захватчиками пробудила тогда в народе высокие чувства любви к Родине, истинного патриотизма, гордости и чести, народного единения.
75063. Роль казачества в истории становления и развитие Амурских земель 191.5 KB
  Прошло уже триста с лишним лет, как здесь впервые ступила нога русского человека. Первый отважный землепроходец, завидев здешние места, никем не занятые и никем ещё не освоенные, сразу же сердцем прикипел к ним. А кто этот отважный землепроходец? – задаюсь я вопросом каждый раз.
75064. ПЕРЕПЕЛИННОЕ ЧУДО 201.5 KB
  Известно, что перепелиные яйца - экологически чистый продукт. В древние времена яйца и мясо перепелов использовались в восточной народной медицине. Яйца перепелов очищают кровь нормализуют давление повышают гемоглобин.
75066. Мой пёс Борман в цифрах и диаграммах 267 KB
  Цель моей работы – создать математический портрет моей собаки. Для выполнения этой цели я ставила перед собой следующие задачи: Продолжить изучение электронных таблиц Excel, Узнать, с какой скоростью Борман передвигается по квартире, Узнать, сколько корма съедает Борман за год и сколько это стоит...
75067. Влияние музыки на организм человека 121 KB
  Каждый день большинство из нас слушает разную музыку, которая, так или иначе встретится где-нибудь, независимо от того, хотим мы этого или нет – в машине, автобусе, супермаркете, кинотеатре, на улице, на дискотеке – везде, где бы мы ни находились, нас сопровождают звуки музыки.
75069. Роль рекламы в жизни современного школьника. Оценка эффективности рекламы 127 KB
  Гипотеза: мы предполагаем, что можно найти способ лёгкой и быстрой оценки эффективности рекламы. Объект исследования: роль рекламы в жизни человека. Предмет исследования: влияние рекламы на жизнь современных школьников.