SEJATINYA PEMUDA ADALAH YANG BISA MENGATAKAN, INILAH SAYA!!

Selasa, 11 Desember 2012

Teks Label Berjalan dan Berlink

Untuk saat ini saya akan share cara memberikan teks berjalan pada program delphi. Tidak hanya berjalan, namun juga ada efek warna yang akan berubah-ubah dan teks tersebut apabila di klik maka akan masuk pada sebuah link.

Untuk membuat program ini, yang dibutuhkan yaitu:
  • Panel1
  • Label1
  • Label2
  • Label3
  • Label4
  • Timer1
  • Timer2
  • Timer3
  • Timer4
  • Timer5
  • Timer6
Untuk coding silahkan langsung saja saya share di bawah ini

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Panel1: TPanel;
    Label3: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Timer2: TTimer;
    Timer3: TTimer;
    Timer4: TTimer;
    Timer5: TTimer;
    Timer6: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure Label1MouseEnter(Sender: TObject);
    procedure Label1MouseLeave(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure Label3Click(Sender: TObject);
    procedure Label3MouseEnter(Sender: TObject);
    procedure Label4MouseEnter(Sender: TObject);
    procedure Label3MouseLeave(Sender: TObject);
    procedure Label4MouseLeave(Sender: TObject);
    procedure Label4Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Timer5Timer(Sender: TObject);
    procedure Timer6Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  batas_kiri,batas_kanan:integer;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  batas_kiri:=panel1.Left-label1.Width;
  batas_kanan:=panel1.Left+panel1.Width;

  if label1.Left=batas_kiri then
    begin
      label1.Left:=batas_kanan
    end
  else
    begin
      label1.Left:=label1.Left-1;
    end;

end;

procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
  label1.Cursor:=crHandpoint;
  label1.Font.Style:=[fsbold,fsunderline];
end;

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
  label1.Cursor:=crdefault;
  label1.Font.Style:=[];
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
  shellexecute(handle,'open','http://www.twitter.com/ajisupra',nil,nil,0);
end;

procedure TForm1.Label3Click(Sender: TObject);
begin
  shellexecute(handle,'open','http://www.facebook.com/aianatawa',nil,nil,0);
end;

procedure TForm1.Label3MouseEnter(Sender: TObject);
begin
  label3.Cursor:=crHandpoint;
  label3.Font.Style:=[fsbold,fsunderline];
end;

procedure TForm1.Label4MouseEnter(Sender: TObject);
begin
  label4.Cursor:=crHandpoint;
  label4.Font.Style:=[fsbold,fsunderline];
end;

procedure TForm1.Label3MouseLeave(Sender: TObject);
begin
  label3.Cursor:=crdefault;
  label3.Font.Style:=[];
end;

procedure TForm1.Label4MouseLeave(Sender: TObject);
begin
  label4.Cursor:=crdefault;
  label4.Font.Style:=[];
end;

procedure TForm1.Label4Click(Sender: TObject);
begin
  shellexecute(handle,'open','http://www.12650105-imk.blogspot.com',nil,nil,0);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  batas_kiri:=panel1.Left-label3.Width;
  batas_kanan:=panel1.Left+panel1.Width;

  if label3.Left=batas_kiri then
    begin
      label3.Left:=batas_kanan
    end
  else
    begin
      label3.Left:=label3.Left-1;
    end;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
  batas_kiri:=panel1.Left-label4.Width;
  batas_kanan:=panel1.Left+panel1.Width;

  if label4.Left=batas_kiri then
    begin
      label4.Left:=batas_kanan
    end
  else
    begin
      label4.Left:=label4.Left-1;
    end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  label1.Font.color :=clred;
  label3.Font.Color :=clblue;
  label4.Font.Color :=clgreen;
end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
  if label1.Font.Color =clred then
  label1.Font.Color:=clblue
else
  if label1.Font.Color =clblue then
  label1.Font.Color:=clgreen
else
  if label1.Font.Color =clgreen then
  label1.Font.Color:=clred
end;

procedure TForm1.Timer5Timer(Sender: TObject);
begin
  if label3.Font.Color =clblue then
  label3.Font.Color:=clgreen
else
  if label3.Font.Color =clgreen then
  label3.Font.Color:=clred
else
  if label3.Font.Color =clred then
  label3.Font.Color:=clblue
end;

procedure TForm1.Timer6Timer(Sender: TObject);
begin
  if label4.Font.Color =clgreen then
  label4.Font.Color:=clred
else
  if label4.Font.Color =clred then
  label4.Font.Color:=clblue
else
  if label4.Font.Color =clblue then
  label4.Font.Color:=clgreen
end;

end.



Jika ingin langsung mencoba hasil dari program saya silahkan download disini.
Karena hasil saya yang masih belum sempurna, saran sangat saya perlukan demi kelancaran pembelajaran.
Comments