Anda di halaman 1dari 22

TUGAS MODUL DELPHI 7

OLEH:

Habib Zulfani

(2204019)

TEKNIK INFORMATIKA

SEKOLAH TINGGI MANEJEMEN INFORMATIKA DAN


KOMPUTER 2022
Kata pengantar

Puji dan syukur saya panjatkan kehadiran Allah SWT, karena berkat taufik dan
hidayahnya, kami dapat menyusun modul ini.

Modul disusun untuk memenuhi tugas Mata Kuliah KOMPUTER GRAFIK. Selain itu,
Modul ini bertujuan menambah wawasan tentang hak cipta bagi para pembaca dan juga bagi
penulis. Penulis mengucapkan terima kasih kepada bapak PULLA PANDIKA WIDODO, M.Kom
selaku dosen pengampu. Penulis menyadari modul ini masih jauh dari sempurna. Oleh sebab
itu, saran dan kritik yang membangun diharapkan demi kesempurnaan makalah ini.
Bab I

Pendahuluan

Latar belakang
Bahasa pemrograman Delphi adalah pemrograman berorientasi objek yang merupakan
pengembangan dari bahasa pemrograman Pascal. Pascal adalah pemrograman berbasis DOS
yang dibuat pada tahun 1971 oleh Niklaus Wirth dari Swiss. Kata Pascal diambil dari nama
matematikiawan dan ahli filsafat dari Perancis, yaitu Blaise Pascal yang lahir tahun 1623 dan
meninggal tahun 1662. Pascal dirilis tahun 1983 oleh Borland International, salah satu
perusahaan software terkemuka di California.
Pada tahun 1993, Borland International mengembangkan bahasa pemrograman pascal yang
bersifat visual yang disebut Delphi dan resmi dipasarkan pada tahun 1995. Pemrograman ini
dibuat secara modern yang berjalan di Sistem Operasi Windows mulai dari versinya yang
pertama yaitu Delphi 1 dan di tahun-tahun berikutnya Delphi terus dikembangkan mengikuti
kebutuhan zaman (Kani, Firmansyah, & Sufandi, 2010).

Salah satu keistimewaan Delphi adalah dukungannya untuk aplikasi database yang
memungkinkan user berinteraksi dengan informasi yang tersimpan dalam sebuah database.
Delphi juga memberikan banyak pilihan teknologi kepada developer dalam membangun aplikasi
database sehingga developer dapat mengembangkan aplikasi dengan mekanisme akses yang
paling tepat menurut kebutuhan. Oleh karena itu, penulis mengangkat judul “Pembuatan Paint
Pada Aplikasi Delphi7”.

Tujuan
Tujuan dari penyusunan modul adalah memperkenalkan Bahasa pemrograman Delphi
kepada para pemula agar dapat mengembangkan pengetahuan dasar dalam pembuatan
Program Sederhana Paint sehingga dapat memanfaatkan ilmu tersebut dengan efektif dan
sebaik mungkin

Bab II

APLIKASI DELPHI

1. Buka Delphi

2. Klik file – save as project dan buatlah folder yang bernama “paint”
3. Buatlah gambar botton di aplikasi paint dan simpan berupa BMP file
pada folder yang sama dengan paint.

4. Tambahkan image pada form dan speedbutton di atas panel

5. Setelah itu ubah nama speedbutton tersebut dengan nama pencil pada
kolom Name di properties, dan tambah gambar dengan cara klik Glyph 2
kali – lalu pilih Load – ambil gambar pencil difolder paint yg telah
disimpan – Klik Open – Jika gambar sudah mucul Klik Ok. Lakukan
dengan sama pada speedbutton lainnya

6. Panel 1 selesai

7. Klik Dialogs pada tools – pilih savedialogs – letakkan pada image1


8. Kemudian Klik Main Menu – Lalu tambahkan menu pada Form 1.

9. Tampilan form 1 paint telah selesai


Bab III
kode program

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, Buttons, ExtCtrls;

type

TForm1 = class(TForm)

Image1: TImage;

Panel1: TPanel;

Pencil: TSpeedButton;

Line: TSpeedButton;

Box: TSpeedButton;

Brush: TSpeedButton;

Filledbox: TSpeedButton;
SpeedButton6: TSpeedButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

ColorDialog1: TColorDialog;

MainMenu1: TMainMenu;

File1: TMenuItem;

View1: TMenuItem;

ool1: TMenuItem;

Open1: TMenuItem;

roundRect: TSpeedButton;

Elipse: TSpeedButton;

procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Capture(x1,y1,x,y : integer);


procedure View1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

drawingNow : Boolean;

filename : string;

x1,y1,x2,y2,toolinUse : integer;

holdingArea : Tbitmap;

holdingSomething : Boolean;

R1,R2 : Trect;

implementation
{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

if holdingSomething then

begin

with Image1.canvas do

copyrect(R1,holdingArea.Canvas,R2);

holdingArea.Free;

holdingSomething := false;

end;

with image1.canvas do

moveto(x,y);

x1 := x;

y1 := y; {titik mulai}
toolInUse := 0;

if Pencil.Down then toolInUse := 1;

if Box.down then

begin

toolInUse :=2; Image1.canvas.Brush.Style := bsClear;

end;

if Filledbox.down then

begin

toolInUse := 2;

Image1.canvas.Brush.Style := bsSolid;

end;

if Line.down then toolInUse :=3;

if Brush.down then

begin
toolInUse := 5;

Image1.Canvas.Brush.Style := bsSolid;

end;

if roundRect.down then

begin

toolInUse := 6;

Image1.Canvas.Brush.Style := bsSolid;

end;

if Elipse.down then

begin

toolInUse := 7;

Image1.Canvas.Brush.Style := bsSolid;

end;

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin
if holdingSomething then

begin

with Image1.canvas do

copyrect(R1,holdingArea.Canvas,R2);

holdingArea.Free;

holdingSomething := false;

end;

if toolInUse = 2 then

begin

Image1.Canvas.Rectangle(x1,y1,x2,y2);

end;

if toolInUse = 3 then

begin

image1.Canvas.MoveTo(x1,y1);

image1.Canvas.LineTo(x2,y2);

end;
if toolInUse = 6 then

begin

image1.Canvas.RoundRect(x1,y1,x2,y2,50,50);

end;

if toolInUse = 7 then

begin

image1.Canvas.Ellipse(x1,y1,x2,y2);

end;

toolInUse := 0;

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if (toolInUse = 0) and brush.down then

begin
if holdingSomething then

begin

with image1.canvas do

copyrect(R1,holdingArea.Canvas,R2);

holdingArea.Free;

end;

Capture (x-10,y-10,x,y);

Image1.Canvas.Pen.Color := Image1.canvas.Brush.color;

Image1.canvas.Brush.style := bsSolid;

Image1.Canvas.Rectangle(x-10,y-10,x,y);

end;

if toolInUse = 1 then with image1.canvas do lineto(x,y);

if toolInUse = 2 then

begin

if holdingSomething then
begin

with image1.canvas do

copyrect(R1,holdingArea.canvas,R2);

holdingArea.free;

end;

Capture(x1,y1,x,y);

Image1.canvas.Rectangle(x1,y1,x,y);

end;

if toolInUse = 3 then

begin

if holdingSomething then

begin

with image1.Canvas do

copyrect (R1,holdingArea.Canvas,R2);

HoldingArea.free;

end;

Capture(x1,y1,x,y);
image1.canvas.MoveTo(x1,y1);

image1.canvas.MoveTo(x2,y2);

end;

if toolInUse = 6 then

begin

if holdingSomething then

begin

with image1.Canvas do

copyrect (R1,holdingArea.Canvas,R2);

HoldingArea.free;

end;

Capture(x1,y1,x,y);

image1.canvas.RoundRect(x1,y1,x2,y2,50,50);

end;

if toolInUse = 7 then

begin

if holdingSomething then

begin
with image1.Canvas do

copyrect (R1,holdingArea.Canvas,R2);

HoldingArea.free;

end;

Capture(x1,y1,x,y);

image1.canvas.Ellipse(x1,y1,x2,y2);

end;

if toolInUse = 5 then

image1.canvas.Rectangle(x-10,y-10,x,y);

end;

procedure TForm1.Capture(x1,y1,x,y : integer);

Begin

x2 := x; y2 := y;

holdingArea :=tbitmap.Create;

holdingArea.width := abs(x2-x1) + 2;
holdingArea.Height := abs(y2-y1) + 2;

with R1 do

begin

if x1 < x2 then

begin

left := x1; right := x2+1

end

else

begin

left := x2; right := x1+1

end;

if y1 < y2 then

begin

top := y1-1;

bottom := y2+1

end

else

begin
top := y2-1;

bottom := y1+1

end;

end;

with R2 do

begin

left := 0;top := 0;

right :=R1.right-R1.left;

bottom := r1.bottom-R1.top

end;

with holdingArea.canvas do copyrect(R2,Image1.canvas,R1);

holdingSomething :=true;

end;

procedure TForm1.View1Click(Sender: TObject);

begin

end;
end.

Anda mungkin juga menyukai