July 2008 - Posts

Q:
Bagaimana kita men-enum forms di aplikasi kita?

A:
Untuk global aplikasi/yang di buka oleh aplikasi yang berjalan gunakan Application.OpenForms.
Untuk Form yang meng-owner-nya di miliki oleh form gunakan this.OwnedForms atau Me.OwnedForms.
Untuk Child MDI gunakan this.MdiChildren atau Me.MdiChildren.

Share this post: | | | |
Posted Thursday, July 31, 2008 2:00 AM by dede | with no comments
Filed under: , ,

Q:
Bagaimana mengubah color background dengan RGB/QBColor?
RGB -- biasa di gunakan pada VB6.

A:
Yang umumnya kita menggunakan Color.FromArgb() atau Color.Blue.
Yang menjadi perhatian adalah QBColor? wah ini fungsi dari jaman win 3.1 atawa vb3.
Jadi bernostalgila. :)
QBColor (Microsoft.VisualBasic.QBColor) hanya akan menerima input 0 sampai 15. bukan pilihan warna yang banyak.
Dan untuk meng-convert menjadi RGB. kita perlu mengadakan perhitungan bila ingin menggunakan fungsi Color.FromArgb(). Buat yang agak ogah menghitung-hitung, tenang di BCL .Net sudah ada converter-nya.
ColorTranslator (System.Drawing.ColorConverter). Fungsi ini bisa mengconvert From/To Win32, Ole dan Html.
Tentu ini bisa membantu untuk mengubah number yang di hasilkan oleh QBColor menjadi Color Type.
Seperti apa penggunaan untuk QBColor dan ColorTranslator:

Color c = ColorTranslator.FromWin32(QBColor(number));
Dim c as Color = ColorTranslator.FromWin32(QBColor(number))
Untuk reference QBColor.

note:
color = english us. colour = english uk.

Share this post: | | | |
Posted Thursday, July 31, 2008 1:00 AM by dede | with no comments
Filed under: , , ,
internut

Buat yang ketagihan internet. Ada obat-nya. :P

Share this post: | | | |
Posted Wednesday, July 30, 2008 4:00 PM by dede | with no comments
Filed under:
Manual

Ini jadinya kalau komputer lagi ngadat. menjalankan program secara manual.

Share this post: | | | |
Windows7 desktop

Kalau melihat demo dan informasi yang beredar.
Windows7 desktop akan banyak menggunakan multitouch display. Ini dipicu oleh iPhone, yang tampaknya juga akan mengeluarkan OSX dengan new interface - base on multitouch.
Juga kita akan melihat ke depan product-product yang meng-enable multitouch ini. Bahkan beberapa mobile device sudah ada prototype-nya.
Kalau di windows7 ini multitouch akan datang dari teknologi-nya microsoft surface.
Jadi surface on LCD. :P

Nah, dari sini kita akan melihat suatu bisnis yang akan booming. :D
Coba bayangkan berapa banyak device yang akan kita sentuh dengan jari-jari kita.
Dan betapa kotornya -- karena tangan kita memiliki minyak.
Jadi kalau mau mulai berbisnis pembersih display bisa di rintis sekarang. :D

Share this post: | | | |

Coba bayangkan apa yang anda pakai bila anda membuat program di Zimbabwe .
USD 1 = $10.000.000.000 / 10 milyar(?)/10 quintillion -- in english. Inflasi terbesar dunia saat ini akan berlaku pada 1 agustus 2008.
Yang pasti calculator, cash register dan alat perhitungan lainnya tidak dapat dipakai secara normal. :P
Yang pusing tentu developer yang membuat software untuk keuangan. Biasanya type software ini memperhatikan sekali detail dari input money type-nya.
Dan rasanya money type tidak di design untuk nilai yang seperti itu. Lagi pula type seperti ini akan menjadi ref type.
Tentu saja menjadi masalah dalam performa-nya. Tadinya bisa masuk ke heap memory sekarang jadi pointer. :D
Lalu kalau perhitungan dalamnya lebih besar lagi, mungkin akhirnya bisa pakai 2 Int64 atau big interger with unlimited number (wah orang quatum fisika bisa senang -- kalau ada type ini, komputer saja belum bisa kok menghitung ber billon-billion number).
Jadi type apa yang anda pakai? :P

Share this post: | | | |

Tahukah bahwa yang cukup menganggu dan masih menganjal di .Net Framework pada versi-versi terakhir?
Rasanya hampir kebanyakkan melihat dari ukuran yang semakin gila.
Dari .Net 1.1 (11mb, install
.Net 2.0 (20mb, install 200mb) yang sesuai dengan kemampuan dan masih bisa di maklumi. :D
.Net 3.0(50mb, instll 300mb) memudar harapan mendapatkan runtime yang kecil.
.Net 3.5(197mb, install 500mb) pupus sudah :(
. Dan coba perhatikan hasi IL code yang di hasilkan, kebanyakkan kecil kecuali di embed resouce-nya.

Dalam gundahan itu, muncullah .Net 3.5 SP1 -- mungkin sebetulnya ini yang kita bisa sebut .Net 3.0, karena ini benar-benar berubah banyak sekali.
Salah satunya adalah .Net Framework 3.5 Client Profile .
Client Profile
Cahaya itu muncul juga...Sub set .Net ini bisa membundle winform aplikasi + .net nya hanya sekitar 26-30mb saja.
Jadi ini adalah .Net Framework yang di strip-up/diet, dan ia hanya membawa library yang kita perlukan saja.
Contohnya untuk desktop, tentu library ASP.Net-nya tidak disertakan.
Menarik dan menantang, karena library yang di bawa (seperti mscorelib-nya) akan compatible dengan .Net Framewok yang versi Full. Ngen yang di pakai pun sama yang berbeda adalah di linker-nya.
Ini bukan ClickOnce, karena assemby yang berjalan di Sub set .Net Runtime sedangkan clickonce masih membutuhkan .Net Framework yang full. Coba lihat bentuk Client Profile ini.

Bootstapper

Sayang ceritanya belum berakhir.... :)
Dari potensi yang dilihat akan membantu dalam pendistribusian dan deployment aplikasi .Net secara umum.
Setelah meneliti, membaca dan mencoba-nya....tampaknya agak terlambat ini. :|

Table Deployment

Table di atas memperlihatkan bahwa yang akan menikmati Client Profile ini adalah WinXP SP2 dan tampaknya idea ini tidak di bawa pada level multi .Net Runtime.
Dan sebagaimana yang kita tahu bahwa WinXP sudah tidak di jual lagi, jadi populasi Client Profile ini pun agak terbatas.
Banyak harapan agar .Net ini bisa menjadi lebih simple (runtime - NGEN, base library - benar-benar base) -- seperti silverlight 2 model, dan bila kita membutuhkan library lainnya cukup di bawa/tambahkan lib-nya/dalam bentuk package(?) (memang ada masalah untuk key-sign-nya -- we work it out, don't we :D).
Lagi pula, ini masih beluh pasti, walaupun di realese final tidak akan berubah terlalu jauh.
Any way...nice try dan kita akan melanjutkan perjalanan ini...walaupun harapan memudar tapi semangat tetap -- seperti Cold fusion, atau yang bisa disebut low energy nuclear reactions (LENR) (shortcut nuclear fusion).

Share this post: | | | |
CLR Interop

Kalau masih bermain-main dengan unmanaged code. Bisa coba CLR Interop.
Project ini bisa jadi pilihan selain yang di wiki pinvoke.net dan yang beda adalah soal COM-nya.
Another choise to help you. :)

Share this post: | | | |
Midori no Hibi

Midori no hibi -- seri tv anime yang menarik dan seru? Bukan kok ini name code (midori) yang katanya OS secrect.(Udah bukan secret lagi kali ya) :P
Di luar Windows7, ini merupakan reasearch project untuk OS.
Ada kemungkinan, os ini dibuat dari turunan Singularity (C# OS). Memang saat ini virtualisation lagi merajalela dan tampaknya OS pun sudah mulai masuk kesana.
Karena kalau membuat WinAPI dan kita bergerak teknologi baru maka WinAPI-nya porting/implentasi-nya agak sulit dan butuh banyak waktu.
We will see if it is real or just rumour. :D

Share this post: | | | |

Q:
Kenapa ketika meng-add ActiveX Flash control ke winform ada error bahwa tidak ter-register dengan benar?
Bukannya kalau ActiveX-nya error maka di browser tidak akan jalan juga?

A:
Memang agak perubahan dari visual studio yang membuat-nya agak kesulitan dalam me-refence secara automatic.
Oleh karena itu coba langkah di bawah untuk men-add Flash control di project anda.

  1. goto: start -> Programs -> Microsoft Visual Studio 2008 -> Visual Studio Tools -> Visual Studio 2008 Command Prompt
    Kalau di VS2005 hampir sama.
  2. ketik: aximp "C:\WINDOWS\system32\Macromed\Flash\Flash9d.ocx"
    Flash9d.ocx saat ini yang ter-update dari adobe, mungkin di tempat anda bisa berbeda.
  3. Hasil dari AXIMP.exe tadi akan membuat 4 file:
    • AxShockwaveFlashObjects.cs
    • AxShockwaveFlashObjects.dll
    • AxShockwaveFlashObjects.pdb
    • ShockwaveFlashObjects.dll
    Kita membutuhkan *.dll -nya saja.
  4. Untuk menambahkan di VS. kita pergi ke Add Reference -> Browse
    Lalu ke tempat di mana kita membuat dll tadi.
    Perlu di perhatikan bahwa kita tidak bisa membuat Visual dari ActiveX ini.
    Jadi kita nambahkan flash control ini melalui code.

Contoh penggunaannya:

	//namespace: AxShockwaveFlashObjects
	//namespace: ShockwaveFlashObjects
	
	AxShockwaveFlash flash = new AxShockwaveFlash();
	this.Controls.Add(flash);
	string path = System.Environment.CurrentDirectory + @"\YourFlashFile.swf";
	flash.LoadMovie(0, path);
	flash.Play();

Share this post: | | | |

Ada suatu masa ketika suatu ketika suatu format file menjadi standard-de-facto bagi banyak orang.
Tapi kadang inovasi dari format itu bisa ke arah yang bukan di harapkan.
Mungkin ini yang kita lihat pada PDF.
Kebanyakkan dari kita ber-tukar document menggunakan format ini, di karena kan portabilitas-nya.
Cross-Platform dan cukup memadai dari layout dan document presentasi-nya walaupun agak sedikit besar.
Dari pengembangan, reposisining sampai membuka platform file ini ke public yang makin membuat orang mau-tidak-mau menggunakannya.
Dengan di perkenalkan versi terbaru ini (Versi 9), kita bisa melihat inovasi dalam multimedia.
Menjalankan plug-in (Flash, shockwave, dll) dalam PDF. Memang multimedia cukup fun, tapi bukan inovasi yang kita ingin lihat.
Ini seperti PDF sebagai pembungkus saja dan kita sudah melihat model dan yang lebih baik seperti HTML dan kita akan melihat kapabilitas multimedia yang lebih baik di HTML 5.
Untuk kasus HTML, memasukkan multimedia merupakan hal tepat. karena memang sifat HTML yang open text. Sedangkan PDF merupakan document yang kita share sebagai 1 file/protabilitas feature-nya.
Coba belajar dari Smart-Tag(yang sekarang model ini akan di bawa ke IE8), ini merupakan inovasi walau sayang hanya untuk ms product saja.
Mungkin dari adobe lupa, bawa posisioning dari PDF adalah document yang protable. :)

Share this post: | | | |

Q:
Bagaimana cara yang di rekomendasi untuk mengecek string?

A:
Coba lihat code di bawah
cara 1-3, kadang akan memiliki masalah bila terjadi null atau kalau di vb menjadi var.
Coba perhatikan bila terjadi peng-compare-an antara null vs String.Empty . Ini seperti mengecek pointer address atau content-nya.
Tapi tenang di .Net sudah di sediakan fungsi yang boleh di bilang kita rekomendasi-kan.
Kita bisa saja membuat fungsi sendiri untuk filter error yang mungkin terjadi dan fungsi IsNullOrEmpty yang kita bisa pakai saat ini. :)

	if (myString == "") { }
	if (myString == string.Empty) { }
	if (myString.Length == 0) { }
	if (string.IsNullOrEmpty(myString) == false) { }
        Dim myString As String

        If myString = "" Then

        End If

        If myString = String.Empty Then

        End If

        If myString.Length = 0 Then

        End If

        If String.IsNullOrEmpty(myString) = False Then

        End If
Share this post: | | | |
Posted Tuesday, July 1, 2008 1:00 AM by dede | with no comments
Filed under: , ,