Showing posts with label Delphi. Show all posts
Showing posts with label Delphi. Show all posts

08 August 2011

Membuat Jam Analog dengan Delphi 7


unit UJam;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure GerakJarumJam;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:byte;
Diameter:integer;
Angka, JariJam, JariMenit, JariDetik, TebalGaris, UkuranHuruf : byte;
implementation
{$R *.dfm}
procedure TForm1.GerakJarumJam;
var
jam,menit,detik,milidetik:word;
begin
self.Refresh; //merefresh form
DecodeTime(Now,jam,menit,detik,milidetik);
{mendekode atau menjabarkan waktu sekarang menjadi jam, menit, detik dan milidetik}
//Untuk jarum detik
Canvas.Pen.Color:=clRed;
Canvas.Pen.Width:=2;
Canvas.MoveTo(Diameter div 2,Diameter div 2);
Canvas.LineTo(
(Diameter div 2)-round(
jariDetik*sin(-detik*pi/30)),
(Diameter div 2)-round(
jariDetik*cos(-detik*pi/30)));
// Untuk jarum menit
Canvas.Pen.Color:=clBlack;
Canvas.Pen.Width:=3;
Canvas.MoveTo(Diameter div 2,Diameter div 2);
Canvas.LineTo(
(Diameter div 2)-round(
jariMenit*sin(-menit*pi/30-detik*pi/1800)),
(Diameter div 2)-round(
jariMenit*cos(-menit*pi/30-detik*pi/1800)));
// Untuk jarum jam
Canvas.Pen.Color:=clBlack;
Canvas.Pen.Width:=4;
Canvas.MoveTo(Diameter div 2,Diameter div 2);
Canvas.LineTo(
(Diameter div 2)-round(
jariJam*sin(-jam*pi/6-menit*pi/360)),
(Diameter div 2)-round(
jariJam*cos(-jam*pi/6-menit*pi/360)));
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
GerakJarumJam; {memanggil procedure GerakJarumJam}
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Self.BorderStyle:=bsNone; //Agar form tidak memiliki border
{Setting untuk ukuran jam}
ClientWidth := 150; {menentukan lebar form}
ClientHeight:= ClientWidth; {menentukan tinggi form}
Diameter := ClientWidth; {menentukan diameter jam}
jariJam := 45; {menentukan panjang jarum jam}
jariMenit := 60; {menentukan panjang jarum menit}
JariDetik := 70; {menentukan panjang jarum detik}
//Tentukan posisi angka
for i:=1 to 12 do
{diulang sebanyak angka jam yaitu 12}
begin
TLabel.Create(Self).Name:=’angka’+IntToStr(i);
with TLabel(FindComponent(‘angka’+IntToStr(i))) do
begin
Height:=10;
Width:=15;
Parent:=Self;
Font.Size:=6;
Font.Color:=clBlack;
Font.Style:=[fsBold];
Alignment:=taCenter;
Caption:=IntToStr(i);
Transparent:=true;
Left:=((Diameter-Width) div 2)-round((jariDetik-6)*sin(-i*pi/6));
Top:=((Diameter-Height) div 2)-round((jariDetik-6)*cos(-i*pi/6));
end;
end;
//Buat form jadi bulat
SetWindowRgn(self.Handle, CreateEllipticRgn(0,0,ClientWidth,ClientHeight), true);
end;
end.

07 August 2011

Membuat Program Kalkulator dengan menggunakan delphi


Kalkulator biasanya berbentuk persegi panjang, terdiri dari tombol-tombol angka dan tombol-tombol untuk perhitungan serta sebuah layar pada sebelah atasnya. Dengan adanya kalkulator ini, kita akan sangat terbantu terutama dalam hal hitung-menghitung. Sebenarnya, kita bisa membuat kalkulator tersebut dengan mudah, namun dalam versi digital tentunya. Sebab, Delphi memungkinkan kita untuk membuat program kalkulator dengan cepat dan menyenangkan asalkan Anda tahu konsep dasar tentang cara kerja kalkulator.
Di bawah ini salah satu contoh program kalkulator bawaan windows yang bernama calculator, Anda bisa mengaksesnya melalui  Start | All Programs | Accessories. Selengkapnya...