February 2012
MTWTFSS
«Mar  
 12345
6789101112
13141516171819
20212223242526
272829 

Tips:Membuat Kalender Dengan Power Builder

Pada Power Builder versi 10.0 keatasa kita dapat menggunakan MonthCalendar jika kita ingin menampilkan kelender,bagaimana jika kita inginkan kalender pada PB 10.0 kebawah? Dalam artikel ini disajikan pembuatan kalender dengan menggunakan object datawindow,dan dengan manipulasi menggunkan powerscript. Tampilan dari kalendar seperti gambar berikut ini:

Kalender_PB

Penjelasan:
Disain dari object datawindow dapat dilihat pada gambar berikut ini. Datawindow dibuat dengan pilihat datasource external dengan jumlah kolom 42 dengan nama t_1,t_2,t_3,…,t_42. Tipe data string dan dengan panjang 2. Kolom diatur sedemikian rupa sehingga tersusun seperti gambar berikut.

Kalender_PB2

Algoritma:
Pertama kita ambil dulu nomor hari yaitu dengan:

date ddate
ddate = Date(string(ithn)+”/”+string(imonth)+”/”+string(1))
idow = DayNumber ( ddate )

Karena kalender versi indonesia dimulai hari senin dan kalender default sistem dimulai hari minggu maka perlu dilakukan perubahan pada posisi nomor hari yaitu jika nomor hari 1/minggu kita rubah posisi 7 dan lainnya nomor hari dikurang 1.

if idow = 1 then

idow = 7

else

idow = idow –1

end if

Selanjutnya kita lakukan proses perulangan sebanyak jumlah hari bulan yang bersangkutan misalnya April,sebanyak 30 hari. Scriptnya lengkapnya sebagai berikut:

integer idow,iday,ithn,ipos,idate
date idate1
ithn = integer(ddlb_2.text)

date ddate
ddate = Date(string(ithn)+”/”+string(imonth)+”/”+string(1))
idow = DayNumber ( ddate )

if imonth = 1 or imonth = 3 or imonth = 5 or &

imonth = 7 or imonth = 8 or &
imonth = 10 or imonth = 12 then
iday = 31

else

if imonth = 4 or imonth = 6 or imonth = 9 or &

imonth = 10 or imonth = 11 then
iday = 30

else

if imonth = 2 and mod(ithn,4)=0 then

iday = 29

else

iday = 28

end if

end if

end if

long llnewrow
idate = 1
dw_1.retrieve()
llnewrow = dw_1.insertrow(0)
dw_1.scrolltorow(llnewrow)
if idow = 1 then

idow = 7

else

idow = idow –1

end if
for ipos = 1 to 42

dw_1.Modify( “t”+trim(string( ipos ))+”.Background.Color=1000000″)

next
for ipos = idow to 42

dw_1.setitem(llnewrow,”t”+trim(string( ipos )),string(idate))
dw_1.Modify( “t”+trim(string( ipos ))+”.Background.Color=62500″)
if ipos = 10 then

dw_1.Modify( “t”+trim(string( ipos ))+”.Background.Color=55000″)

end if
if ipos = 20 then

dw_1.Modify( “t”+trim(string( ipos ))+”.Background.Color=15000″)

end if
if day(today()) = idate and month(today()) = imonth and year(today()) = ithn then

dw_1.Modify( “t”+trim(string( ipos ))+”.Border=1″)

end if
idate++
if idate >iday then exit

next

File library / PBL dapat anda download disini. Selamat mencoba.

Inlinks:

3 comments to Tips:Membuat Kalender Dengan Power Builder

Leave a Reply

  

  

  

You can use these HTML tags

<a href=""title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike><strong>