Kamis, 28 Januari 2016

SELAMI DIAM-MU

Aku selami diam-mu
Namun setetespun tak kutemukan dirimu
Masih ada doa-doa tua dan harapan yang terluka
Yang terselip di sela-sela jariku untukmu
Tertatih aku menghapus jejak
Mengapakah tak semudah saat aku mengukirnya?
Nyatanya kau memang seperti pelangi
Indah sejenak lalu pergi berjejak kelam

Tutorial Membuat Bentuk Bidang Datar dan Garis di Delphi 7

Assalamualaikum wr. wb.
Kembali lagi dengan saya penulis di blog ini, disini saya ingin membagi ilmu sedikit yang saya dapatkan. Saya sudah lama tidak menjenguk blog saya ini, apa kabar semua pengunjung blog saya? Semoga kalian sehat selalu, aamiin. Saya disini menggunakan software Delphi 7. Oke sekarang kita mulai ini dia code-nya :

sebelumnya kita bikin desain seperti ini terlebih dahulu

komponen yang digunakan ada Label, EditBox, ScrollBox, Image, dan Button.


dalam lingkaran merah ini letak dimana Image dan ScrollBox berada. Cara meletakkannya tentu kalian tahu kan? Pertama klik icon ScrollBox => klik di form, atur panjang dan lebar sesuai keinginan kalian => klik ScrollBox yang sudah sesuai keinginan => klik icon Image sama seperti tadi klik lagi di bagian ScrollBox-nya.

Ini full code-nya


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    editx1: TEdit;
    edity1: TEdit;
    editx2: TEdit;
    edity2: TEdit;
    ScrollBox1: TScrollBox;
    Image1: TImage;
    ButtonRec: TButton;
    ButtonEllips: TButton;
    ButtonTri: TButton;
    ButtonLine: TButton;
    ButtonClear: TButton;
    ButtonClose: TButton;
    procedure ButtonRecClick(Sender: TObject);
    procedure ButtonEllipsClick(Sender: TObject);
    procedure ButtonTriClick(Sender: TObject);
    procedure ButtonLineClick(Sender: TObject);
    procedure ButtonClearClick(Sender: TObject);
    procedure ButtonCloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
  x1,y1,x2,y2 : integer; //variabel public artinya semua menggunakan ini

procedure TForm1.ButtonRecClick(Sender: TObject);
begin
  x1 := StrToInt(editx1.Text); //StrToInt mengkonversi dari String ke Integer
  y1 := StrToInt(edity1.Text);
  x2 := StrToInt(editx2.Text);
  y2 := StrToInt(edity2.Text);
  Image1.Canvas.Pen.Color := clBlue;  //ini untuk warna garis luarnya
  Image1.Canvas.Pen.Style := psSolid; //solid : padat, drash : putus-putus, dot : titik-titik
  Image1.Canvas.Brush.Color := clYellow; //brush warna yang ada di dalam objek
  Image1.Canvas.Brush.Style := bsSolid;
  Image1.Canvas.Rectangle(x1,y1,x2,y2);
end;

procedure TForm1.ButtonEllipsClick(Sender: TObject);
begin
  x1 := StrToInt(editx1.Text);
  y1 := StrToInt(edity1.Text);
  x2 := StrToInt(editx2.Text);
  y2 := StrToInt(edity2.Text);
  Image1.Canvas.Pen.Color := clGreen;
  Image1.Canvas.Pen.Style := psSolid;
  Image1.Canvas.Brush.Color := clRed;
  Image1.Canvas.Brush.Style := bsSolid;
  Image1.Canvas.Ellipse(x1,y1,x2,y2);
end;

procedure TForm1.ButtonTriClick(Sender: TObject);
begin
  x1 := StrToInt(editx1.Text);
  y1 := StrToInt(edity1.Text);
  x2 := StrToInt(editx2.Text);
  y2 := StrToInt(edity2.Text);
  Image1.Canvas.Pen.Color := clGray;
  Image1.Canvas.Pen.Style := psSolid;
  Image1.Canvas.Brush.Color := clPurple;
  Image1.Canvas.Brush.Style := bsSolid;
  Image1.Canvas.MoveTo((x1+(x2-x1)div 2), y1); //move to a1
  Image1.Canvas.LineTo(x2,y2); //line to a2
  Image1.Canvas.LineTo(x1,y2); //line to a3
  Image1.Canvas.LineTo((x1+(x2-x1)div 2), y1); //line to a1
end;

procedure TForm1.ButtonLineClick(Sender: TObject);
begin
  x1 := StrToInt(editx1.Text);
  y1 := StrToInt(edity1.Text);
  x2 := StrToInt(editx2.Text);
  y2 := StrToInt(edity2.Text);
  Image1.Canvas.Pen.Color := clBlack;
  Image1.Canvas.Pen.Style := psSolid;
  Image1.Canvas.Brush.Color := clYellow;
  Image1.Canvas.Brush.Style := bsSolid;
  Image1.Canvas.MoveTo(x1,y1);
  Image1.Canvas.LineTo(x2,y2);
end;

procedure TForm1.ButtonClearClick(Sender: TObject);
begin
  Image1.Canvas.Pen.Color := clWhite;
  Image1.Canvas.Pen.Style := psSolid;
  Image1.Canvas.Brush.Color := clWhite;
  Image1.Canvas.Brush.Style := bsSolid;
  Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
end;

procedure TForm1.ButtonCloseClick(Sender: TObject);
begin
  close;
end;

end.

Ini wujudnya setelah di running
Rectangle
 
Ellipse
 
Triangle
Untuk membuat bentuk seperti ini menggunakan MoveTo - LineTo
 

Sekian ilmu yang dapat saya bagikan semoga bermanfaat untuk kalian yah :) :-)
Wassalamualaikum