Category Archives: .NET

FilteredTextbox di Aplikasi Desktop

Sejak pertama kali belajar .NET, saya hanya fokus pada aplikasi web (ASP.net). Projek-projek yang saya kerjakan semuanya adalah aplikasi web. Sekitar satu minggu lalu, pertama kalinya saya menerima projek yang berbasis desktop. Sebenarnya pekerjaan ini ditujukan kepada teman saya, tapi karena suatu alasan, pekerjaan itu di oper ke saya, ‘Sekalian belajar’ begitu kata teman saya waktu itu, toh aplikasinya juga sederhana. Sederhana bagi teman saya, tapi susah buat saya yang belum pernah membuat aplikasi sebenarnya di desktop, apalagi tenggat waktunya cuman 1 minggu. Ada banyak ilmu baru yang saya dapatkan dari pekerjaan ini. Mungkin apa yang saya catat disini sepele buat teman-teman yang sudah expert di bidang ini. Tapi ini sangat berharga buat saya,dan sayang kalo harus dilupakan. Siapa tahu nanti diperlukan lagi.

Di ASP.net saya biasa menggunakan AJAX FilteredTextBox untuk memfilter data yang dimasukkan oleh user, apakah user hanya boleh memasukkan angka saja atau huruf saja. Tapi bagaimana dengan textbox di desktop, tentu AJAX tidak bisa digunakan disini. Setelah mendalami petuah-petuah dari teman saya dan juga simbah Google selama 2 hari (lama amat ya…otaknya masih Pentium 4??), filteredTextbox bisa dibuat dengan memanfaatkan event ‘KeyPress‘ dari textbox dan juga kode ASCII dari tombol yang ditekan.
Read the rest of this entry

Menghitung Interval Waktu di C#

Di bahasa VB.net, DateDiff digunakan untuk menghitung interval hari, jam, menit dan detik antara dua waktu. Namun fungsi ini tidak tersedia di C#. Ketika sedang ‘otak-atik’ C#, saya menemui kesulitan ketika harus menghitung interval antara dua waktu. Setelah bertanya-tanya ke Om Google dan mencoba beberapa kode akhirnya saya mendapatkan pengganti dari fungsi DateDiff ini yaitu: TimeSpan

Saya membuat contoh kode berikut dalam VB.net:

Dim awal As DateTime = New DateTime(2010, 12, 1, 12, 13, 9)
Dim akhir As DateTime = New DateTime(2011, 1, 12, 13, 22, 10)

Dim dd As Double = DateDiff(DateInterval.Second, awal, akhir)

Console.WriteLine("awal : " & awal.ToString("dd/MM/yyyy HH:mm:ss"))
Console.WriteLine("akhir : " & akhir.ToString("dd/MM/yyyy HH:mm:ss"))

Console.WriteLine("selisih jam: " & DateDiff(DateInterval.Hour, awal, akhir))
Console.WriteLine("selisih menit: " & DateDiff(DateInterval.Minute, awal, akhir))
Console.WriteLine("selisih detik : " & DateDiff(DateInterval.Second, awal, akhir))
Console.WriteLine("HH:mm:ss --> " & ((dd - (dd Mod 3600)) / 3600 & ":" & (((dd - (dd Mod 60))) / 60) Mod 60 & ":" & (dd Mod 60)))

Hasilnya seperti gambar berikut:

Lalu bagaimana dengan C#? Saya mengubah kode diatas menjadi C# dan menggunakan TimeSpan.

DateTime awal = new DateTime(2010, 12, 1, 12, 13, 9);
DateTime akhir = new DateTime(2011, 1, 12, 13, 22, 10);
TimeSpan span = akhir.Subtract(awal);

double d1 = span.TotalSeconds;

Console.WriteLine("awal : " + awal.ToString("dd/MM/yyyy HH:mm:ss"));
Console.WriteLine("akhir : " + akhir.ToString("dd/MM/yyyy HH:mm:ss"));
Console.WriteLine("selisih hari: " + span.TotalDays);
Console.WriteLine("selisih jam: " + span.TotalHours);
Console.WriteLine("selisih menit: " + span.TotalMinutes);
Console.WriteLine("selisih detik : " + span.TotalSeconds);
Console.WriteLine("HH:mm:ss --> " + ((d1 - (d1 % 3600)) / 3600 + ":" + (((d1 - (d1 % 60))) / 60) % 60 + ":" + (d1 % 60)));

hasilnya:

Jika diperhatikan, ada sedikit perbedaan dalam hal ketelitian ketika menggunakan DateDiff dan TimeSpan, tetapi hasil akhirnya (dalam jam:menit:detik) tetap sama. Dan ini sesuai dengan yang saya butuhkan.

Tambahan:
Sebenarnya dengan TimeSpan, untuk mendapatkan selisih jam, menit detik tidak perlu repot-repot menghitung total detik dengan rumus di code diatas. Cukup dengan kode

Span.ToString()

akan mendapatkan hasil dengan format day.HH:mm:ss.

Semoga bermanfaat. Happy coding.

Menyimpan Image Dalam File Resource

Setelah beberapa bulan terakhir disibukkan oleh pekerjaan, akhirnya bisa sedikit mengambil nafas. Beberapa waktu yang lalu ada teman yang lagi belajar membuat aplikasi desktop, dia menanyakan bagaimana cara agar gambar-gambar yang digunakan dalam aplikasi tidak diubah-ubah. Sebenarnya saya sendiri hanya punya 0 experiance untuk applikasi desktop, karena selama ini hanya berkutat di aplikasi web. Tapi ada beberapa hal kecil yang kebetulan saya tahu.

Untuk menyimpan file-file gambar seperti yang ditanyakan tersebut, salah satunya bisa menggunakan file resource.
Read the rest of this entry

Membuat Log Error Dengan VB.NET

Ketika membuat aplikasi,seringkali kita mengalami bug yang tidak terduga. Kondisi sistem di pc tempat aplikasi dibuat dan sistem di server yang berbeda bisa menimbulkan bug yang tidak terduga. Yang menjadi masalah, ketika client yang menemukan bug tersebut tidak bisa mendeskripsikan error yang terjadi. Program berikut untuk membuat log file yang menyimpan error yang terjadi di aplikasi. Dan juga menampilkan pesan di label, sehingga tidak muncul ‘layar kuning’.
Read the rest of this entry

ASP.net Error: Failed To Access IIS Metabase

Ketika saya menjalankan salah satu aplikasi yang saya buat dan telah di deploy ke server, beberapa kali saya mendapatkan error ini. Meski setelah di refresh atau dipanggil ulang error tersebut hilang, tapi tetap saja hal ini sangat mengganggu. Karena saya tidak tau pasti, proses instalasi servernya (karena udah diurus ama bagian hardware), saya bertanya pada om Google, dan menurutnya, error ini terjadi karena .NET framework diinstal lebih dahulu daripada IIS.

Solusinya adalah dengan menginstall ulang ASP.net, caranya
Buka command promp dan ketik perintah berikut:

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

Ini akan membereskan masalah. I hope

Membaca Enumerasi

Jika kita mempunyai sekumpulan data yang secara logic saling berhubungan dan nilainya tidak berubah, kita bisa mendefinisikannya dalam enumerasi (Enum). Enum hanya bisa kita definisikan di level Namespace atau modul. Tipe data Enum bisa dideklarasikan sebagai Byte, Integer, Long, SByte, Short, UInteger, ULong, atau UShort. Untuk lebih detilnya silahkan baca di MSDN.

Read the rest of this entry

HTTP Error 404 – File or Directory not found

Tulisan ini merupakan catatan online. Saya hanya mencatat beberapa langkah yang telah saya lakukan ketika menemukan error ini. Mengenai benar tidaknya langkah yang saya tempuh ini, saya TIDAK TAHU. Langkah-langkah ini murni Trial and Error berdasarkan informasi yang saya baca dari berbagai artikel yang tersebar di internet. Bagaimana hasil akhirnya? Error berhasil di tangani, tapi saya tidak yakin apa benar karena langkah-langkah ini atau ada faktor lain atau errornya akan kambuh lagi. Jika anda tahu cara-cara yang paling tepat… Tolong saya di kasih tahu.

Read the rest of this entry