Tips: Membuat Kalender Dengan Power Builder
April 30th, 2008
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:
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.
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 = 31else
if imonth = 4 or imonth = 6 or imonth = 9 or &
imonth = 10 or imonth = 11 then
iday = 30else
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 thendw_1.Modify( “t”+trim(string( ipos ))+”.Background.Color=55000″)
end if
if ipos = 20 thendw_1.Modify( “t”+trim(string( ipos ))+”.Background.Color=15000″)
end if
if day(today()) = idate and month(today()) = imonth and year(today()) = ithn thendw_1.Modify( “t”+trim(string( ipos ))+”.Border=1″)
end if
idate++
if idate > iday then exitnext
File library / PBL dapat anda download disini. Selamat mencoba.
Inlinks :







artikel menarik
Comment by Delphi — May 2, 2008 @ 3:57 pm
thanks ya. artikel tentang power builder aku buat biar orang banyak tahu, bahwa sulit programming dengan PB.
Comment by Unggul_USA — May 2, 2008 @ 4:52 pm