Isi Tanggal Bulan dan Tahun Otomatis di ComboBox Delphi

Mengisi item combobox dengan Tanggal Bulan atau Tahun di delphi. mungkin adakalanya kita ingin membuat tanggal manual (maksudnya tidak pakai Datetimepecker) dan dipisah-pisah menggunakan atau disimpan dicombobox. sedikit saya share tentang bagaimana coding agar tanggal bulan atau tahun di masukan kedalam combobox secara otomatis.
isi tanggal Bulan Tahun di combobox delphi
untuk contoh siapkan 3 buah combobox,tapi kalau anda malas langsung copas saja desain formnya dibawah ini :
 
object Form1: TForm1
  Left = 400
  Top = 204
  Width = 286
  Height = 148
  Caption = '[xtremeboy23koe.blogspot.com]'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 22
    Top = 28
    Width = 37
    Height = 13
    Caption = 'Tahun'
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label2: TLabel
    Left = 193
    Top = 28
    Width = 47
    Height = 13
    Caption = 'Tanggal'
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label3: TLabel
    Left = 102
    Top = 28
    Width = 33
    Height = 13
    Caption = 'Bulan'
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'MS Sans Serif'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label4: TLabel
    Left = 20
    Top = 84
    Width = 82
    Height = 13
    Caption = 'Selamat Belajar...'
  end
  object CBTahun: TComboBox
    Left = 20
    Top = 49
    Width = 78
    Height = 21
    Style = csDropDownList
    ItemHeight = 13
    TabOrder = 0
    OnChange = CBTahunChange
  end
  object CBBulan: TComboBox
    Left = 101
    Top = 49
    Width = 86
    Height = 21
    Style = csDropDownList
    ItemHeight = 13
    TabOrder = 1
    OnChange = CBBulanChange
  end
  object CBTanggal: TComboBox
    Left = 192
    Top = 49
    Width = 56
    Height = 21
    Style = csDropDownList
    ItemHeight = 13
    TabOrder = 2
  end
end

dan untuk Listing Codingnya (coding lengkapnya) :
 unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    CBTahun: TComboBox;
    CBBulan: TComboBox;
    CBTanggal: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure FormShow(Sender: TObject);
    procedure CBBulanChange(Sender: TObject);
    procedure CBTahunChange(Sender: TObject);
  private
    { Private declarations }
    procedure Tanggal;
    procedure Bulan;
    procedure Tahun;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses DateUtils;

{$R *.dfm}
procedure TForm1.Tahun;
var
  thn, bln, hari: Word;
  i: Integer;
begin
  DecodeDate(Date(),thn,bln,hari);
  CBTahun.Items.Clear;
  for i := 1900 to thn   do
  begin
    CBTahun.Items.Add(IntToStr(i));
  end;
  CBTahun.ItemIndex :=CBTahun.Items.IndexOf((FormatDateTime('yyyy',now))) ;
end;

procedure TForm1.Bulan;
var
Bulan : String;
begin
 Bulan := 'Januari:Februari:Maret:April:Mei:Juni:Juli:Agustus:September:Oktober:November:Desember';
 CBBulan.Items.Text := StringReplace(Bulan,':',Char(13)+Char(10),[rfReplaceAll]);
 CBBulan.ItemIndex :=strtoint(copy(datetostr(Date()),4,2))-1;
end;

procedure TForm1.Tanggal;
var
  i: Integer;
begin
if CBBulan.ItemIndex=0 then    //Januari
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=1 then   //Februari
  begin
    CBTanggal.Clear;
    if StrToInt(CBTahun.Text) mod 4=0 then
      Begin
      for i := 1 to 29   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
      End  else
      for i := 1 to 28   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=2 then     //maret
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=3 then      //April
  begin
    CBTanggal.Clear;
      for i := 1 to 30   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=4 then       //Mei
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=5 then       //Juni
  begin
    CBTanggal.Clear;
      for i := 1 to 30   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=6 then        //Juli
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=7 then        //Agustus
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=8 then        //September
  begin
    CBTanggal.Clear;
      for i := 1 to 30   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=9 then       //Oktober
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=10 then        //November
  begin
    CBTanggal.Clear;
      for i := 1 to 30   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end   else
if CBBulan.ItemIndex=11 then         //Desember
  begin
    CBTanggal.Clear;
      for i := 1 to 31   do
      begin
      CBTanggal.Items.Add(IntToStr(i));
      end;
  end;

CBTanggal.ItemIndex :=CBTanggal.Items.IndexOf((FormatDateTime('dd',now))) ;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Bulan;
Tahun;
Tanggal;
end;

procedure TForm1.CBBulanChange(Sender: TObject);
begin
Tanggal;
end;

procedure TForm1.CBTahunChange(Sender: TObject);
begin
Tanggal;
end;

end.
Saya harap akan berguna ya,karena mikir'y sulit harus utak atik dulu,maklum masih pemula...
jangan Lupa kicauannya !!


Title : Isi Tanggal Bulan dan Tahun Otomatis di ComboBox Delphi
Description : Mengisi item combobox dengan Tanggal Bulan atau Tahun di delphi. mungkin adakalanya kita ingin membuat tanggal manual (maksudnya tidak pa...

1 Response to "Isi Tanggal Bulan dan Tahun Otomatis di ComboBox Delphi"