Saya pernah mengalami masalah dengan regional setting ketika membuat aplikasi dengan .NET dan
ternyata masalah ini juga terjadi dengan programmer lain dan aplikasi lain yang
kami beli dari software house.
Masalahnya yaitu jika komputer user regional settingnya
indonesia maka format penulisan tanggal menjadi dd/mm/yy dan penulisan desimal
menggunakan koma (,). Ketika diaplikasi
terdapat script SQL yang memasukkan data tanggal atau nilai desimal maka akan terjadi
error.
Hal ini yang pernah saya alami dan solusi termudah adalah
dengan merubah regional setting dikomputer user ke english (United state). Dan
hal ini yang selama ini saya lakukan.
Belum lama ketika saya membuat aplikasi hal ini terjadi
kembali dan tidak mungkin meminta user merubah regional settingnya ke English
(united state).
Setelah melakuka percobaan berkali-kali akhirnya saya
mendapatkan solusinya. Yaitu dengan melakukan pengecekan regional setting yang
berlaku dan merubahnya ke regional setting English (united state) dengan cara
sebagai berikut:
Langkah pertama:
Tuliskan script ini di form onload
If
Microsoft.VisualBasic.Left(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.ToString,
1) <> "m" Then
My.Application.ChangeCulture("en-US")
Me.Regsetting.Text =
"Ind"
Else
My.Application.ChangeCulture("en-US")
End If
Skrip itu melakukan cek apakah datetimeformat-nya tidak diawali
oleh huruf “m” jika iya maka rubah
regional settingnya ke English (United State) dengan skrip
My.Application.ChangeCulture("en-US")
Dan memberi tanda bahwa regional setting sebelumnya adalah Indonesia dengan
menuliskan “Ind” ke textbox “Regstting”
Langkah kedua yaitu:
Menuliskan skrip ini di form onclose
If Me.Regsetting.Text = "Ind" Then
My.Application.ChangeCulture("id-ID")
End If
Skrip ini mengembalikan regional setting komputer ke “Indonesia”
Selain cara ini mungkin masih ada cara lain. Silahkan
dishare bagi yang memiliki cara-cara lainnya.