Mengenai Penulis

Adalah seorang penulis, pemaju sys. maklumat, konsultan dan programmer. Lulusan Dip. IT (eks), Universiti Malaya. Lebih 17 thn pengalaman dlm ICT. >>>

Get The Latest News

Sign up to receive latest news

Selasa, Jun 23, 2009

Program menukar wallpaper Windows


Konsep bagaimana membangunkan program untuk menukar wallpaper desktop windows. Kod atur cara ditulis dalam Visual Basic .NET. Jika anda hanya berminat dengan program siap, anda boleh baca dan muat turun program DeztopWP di http://blogkaryait.wordpress.com/2009/06/23/deztopwp-2-2-penukar-wallpaper-automatik/.

Pemboleh ubah Global

Private WPFile As String = My.Computer.Registry.GetValue( _
"HKEY_CURRENT_USER\Control Panel\Desktop", "Wallpaper", Nothing)
Private Const SPI_SETDESKWALLPAPER As Integer = &H14
Private Const SPIF_UPDATEINIFILE As Integer = &H1
Private Const SPIF_SENDWININICHANGE As Integer = &H2
Private Declare Auto Function SystemParametersInfo Lib _
"user32.dll" (ByVal uAction As Integer, ByVal uParam As Integer, _
ByVal lpvParam As String, ByVal fuWinIni As Integer) As Integer

Prosedur penukaran
Private Sub SetWallpaper(ByVal WPImej As Image)
Dim imageLocation As String
imageLocation = My.Computer.FileSystem.CombinePath(My.Computer.FileSystem.SpecialDirectories.MyPictures, WPFile)
Try
WPImej.Save(imageLocation, System.Drawing.Imaging.ImageFormat.Bmp)
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, imageLocation, _
SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

If Not (WPImej Is Nothing) Then
WPImej.Dispose()
WPImej = Nothing
End If
Catch Ex As Exception
'mesej jika ralat
End Try
End Sub

Panggilan
SetWallpaper(Image.FromFile(lokasi penuh fail gambar))

Contoh program yang telah dihasilkan, DeztopWP 2.2. Sebuah program menukar wallpaper Windows secara automatik. Ia boleh menukar wallpaper secara rawak dan mengikut senarai dalam sela masa yang ditetapkan dan secara berjadual atau tetap. Untuk menjimatkan sumber ia juga boleh dilarikan semasa Windows Startup, menukar wallpaper secara rawak atau senarai dan kemudian keluar (aplikasi tamat). Senarai wallpaper disusun dengan kemas menerusi album wallpaper, ia adalah seperti playlist Mp3 Winamp dan iTunes di mana anda juga boleh memilih untuk mengguna atau tidak sesuatu wallpaper dalam album. Begitu juga dengan senarai jadual, anda boleh pilih sama anda untuk melaksanakannya atau tidak. Banyak ciri penukaran wallpaper yang boleh dikustomkan. Lebih menarik lagi perisian ini adalah PERCUMA, dan kod sumber boleh diperolehi menerusi buku mengenai pengaturcaraan Visual Basic .NET yang akan diterbitkan. Sila layari blog KaryaIT (karyait.power-minds.com) untuk download perisian ini dan maklumat lanjut.



Program DeztopWP dibina dengan VisualBasic 2008 Express Editon, menggunakan teknologi XML, LINQ dan memerlukan .NET Framework 3.5 atau terkini. Hanya boleh dilaksanakan pada Windows XP (minima) dan terkini. Masih belum diuji sepenuhnya pada Vista dan Windows 7.



terus baca >>

Jumaat, Jun 12, 2009

VB.net : Tarikh dan Kalendar Hijrah

Membangunkan aplikasi yang boleh memaparkan tarikh hijrah atau apa-apa tarikh dalam kalandar lain agak mudah dalam platform .NET. .NET Framework dibina dengan sokongan untuk globalisasi iaitu sokongan bahasa, bentuk huruf dan simbol-simbol tempatan. .NET framework membekalkan kelas Calendar dan juga implementasi kelas-kelas berikut.

• ChineseLunisolarCalendar
• EastAsianLunisolarCalendar
• GregorianCalendar
• HebrewCalendar
• HijriCalendar
• JapaneseCalendar
• JapaneseLunisolarCalendar
• JulianCalendar
• KoreanCalendar
• KoreanLunisolarCalendar
• PersianCalendar
• TaiwanCalendar
• TaiwanLunisolarCalendar
• ThaiBuddhistCalendar
• UmAlQuraCalendar

Untuk kalendar Hijri, dua algoritma boleh digunakan iaitu HijriCalendar dan UmAlQuraCalendar. Adalah dicadangkan supaya menggunakan algoritma UmAlQuraCalendar kerana ia lebih tepat. Rujukan yang perlu:

Imports System.Globalization
Imports System.Text
Imports System.Threading

Jika perlu, simpan atau backup budaya semasa, iaitu tetapan budaya komputer sebelum larian.

Private budayaAsal As CultureInfo = Thread. _
CurrentThread.CurrentCulture.Clone

Contoh kod aturcara:
Dim teksAr, teksMy As New StringBuilder 'teks output
Dim budaya As New CultureInfo("ar-SA") 'tetap budaya baru untuk thread
Dim hb, bln, thn As Integer
Dim algUmAlQura As Calendar = New UmAlQuraCalendar 'jenis kalendar
'semakan julat tarikh yang disokong, rujuk MSDN
If tarikh >= algUmAlQura.MinSupportedDateTime And _
tarikh <= algUmAlQura.MaxSupportedDateTime Then
hb = algUmAlQura.GetDayOfMonth(tarikh)
bln = algUmAlQura.GetMonth(tarikh)
thn = algUmAlQura.GetYear(tarikh)
Dim NamaBlnAr As String = budaya.DateTimeFormat. _
GetMonthName(bln) 'nombor bulan dalam kalendar
Dim NamaBlnMy As String
Select Case bln 'untuk dapatkan nama dalam bahasa melayu
Case 1 : NamaBlnMy = "Muharam"
Case 2 : NamaBlnMy = "Safar"
Case 3 : NamaBlnMy = "Rabiul Awal"
Case 4 : NamaBlnMy = "Rabiul Akhir"
Case 5 : NamaBlnMy = "Jamadil Awal"
Case 6 : NamaBlnMy = "Jamadil Akhir"
Case 7 : NamaBlnMy = "Rejab"
Case 8 : NamaBlnMy = "Syaaban"
Case 9 : NamaBlnMy = "Ramadhan"
Case 10 : NamaBlnMy = "Syawal"
Case 11 : NamaBlnMy = "Zul Kaedah"
Case Else : NamaBlnMy = "Zul Hijjah"
End Select
teksMy.AppendLine(hb.ToString & " " & NamaBlnMy & _
" " & thn.ToString)
teksAr.AppendLine(hb.ToString & " " & NamaBlnAr & _
" " & thn.ToString)
End If
Thread.CurrentThread.CurrentCulture = _
New CultureInfo("ar-SA")
Dim trAr As String = keNoArab(CInt(tarikh. _
ToString("dd"))) & " " & tarikh.ToString _
("MMMM") & " " & keNoArab(CInt(tarikh. _
ToString("yyyy")))
teksAr.AppendLine(trAr)
TextBoxHijri.Text = teksAr.ToString
TextBoxHijri.Text &= vbCrLf & teksMy.ToString
Thread.CurrentThread.CurrentCulture = budayaAsal


Contoh implementasi dalam program kalendar:




Selamat mencuba.

terus baca >>
Related Posts with Thumbnails