Membuat Message Dialog Bahasa Indonesia Delphi
Berawal dari membuat program dengan bahasa Indonesia, waktu mau buat pesan dialog munculnya bahasa Inggris karena asli bawaannya Delphi. Kan lucu aja gitu semua tampilan pake bahasa Indonesia, dan tiba-tiba muncul pesan dialog konfirmasi pake bahasa Inggris... Hehehe.. :D
Caranya cukup mudah sih, kita tinggal buat unit seperti di bawah.
Source code berikut ane kutip dari blognya mas Bayu Prasetio dan ane buat unit sendiri.
Karena sering ane pake waktu buat aplikasi yang bahasa Indonesia jadi biar gak lupa ane tulis diblog.
Unit uMessageDlgIndonesia
unit uMessageDlgIndonesia; interface uses Consts, Windows; const _NewSMsgDlgWarning = 'Peringatan'; _NewSMsgDlgError = 'Kesalahan'; _NewSMsgDlgInformation = 'Informasi'; _NewSMsgDlgConfirm = 'Konfirmasi'; _NewSMsgDlgYes = '&Ya'; _NewSMsgDlgNo = '&Tidak'; _NewSMsgDlgOK = 'OK'; _NewSMsgDlgCancel = 'Batal'; _NewSMsgDlgHelp = '&Panduan'; _NewSMsgDlgHelpNone = 'Panduan tidak tersedia'; _NewSMsgDlgHelpHelp = 'Panduan'; _NewSMsgDlgAbort = '&Batal'; _NewSMsgDlgRetry = '&Ulang'; _NewSMsgDlgIgnore = 'A&cuh'; _NewSMsgDlgAll = '&Semua'; _NewSMsgDlgNoToAll = 'T&idak untuk Semua'; _NewSMsgDlgYesToAll = 'Ya untuk S&emua'; implementation procedure ReplaceResourceString(RStringRec: PResStringRec; AString: PChar); var OldProtect: Cardinal; begin if RStringRec = nil then Exit; if VirtualProtect(RStringRec, SizeOf(RStringRec^), PAGE_EXECUTE_READWRITE, OldProtect) then begin RStringRec^.Identifier := Integer(AString); VirtualProtect(RStringRec, SizeOf(RStringRec^), OldProtect, @OldProtect); end; end; initialization ReplaceResourceString(@SMsgDlgWarning, _NewSMsgDlgWarning); ReplaceResourceString(@SMsgDlgError, _NewSMsgDlgError); ReplaceResourceString(@SMsgDlgInformation, _NewSMsgDlgInformation); ReplaceResourceString(@SMsgDlgConfirm, _NewSMsgDlgConfirm); ReplaceResourceString(@SMsgDlgYes, _NewSMsgDlgYes); ReplaceResourceString(@SMsgDlgNo, _NewSMsgDlgNo); ReplaceResourceString(@SMsgDlgOK, _NewSMsgDlgOK); ReplaceResourceString(@SMsgDlgCancel, _NewSMsgDlgCancel); ReplaceResourceString(@SMsgDlgHelp, _NewSMsgDlgHelp); ReplaceResourceString(@SMsgDlgHelpNone, _NewSMsgDlgHelpNone); ReplaceResourceString(@SMsgDlgHelpHelp, _NewSMsgDlgHelpHelp); ReplaceResourceString(@SMsgDlgAbort, _NewSMsgDlgAbort); ReplaceResourceString(@SMsgDlgRetry, _NewSMsgDlgRetry); ReplaceResourceString(@SMsgDlgIgnore, _NewSMsgDlgIgnore); ReplaceResourceString(@SMsgDlgAll, _NewSMsgDlgAll); ReplaceResourceString(@SMsgDlgNoToAll, _NewSMsgDlgNoToAll); ReplaceResourceString(@SMsgDlgYesToAll, _NewSMsgDlgYesToAll); end.
Cara pakainya tinggal di tambahkan ke project ( Project > Add to Project... )
kemudian use unit ( File > Use Unit...)
Setelah unit ditambahkan, maka penggunaan MessageDlg otomatis berubah menjadi Bahasa Indonesia.
Jika menghendaki bahasa lain tinggal dirubah saja konstanta pada unit uMessageDlgIndonesia sesuai keinginan, dengan demikian kita bisa mengkustomise Message Dialog tanpa merubah unit bawaanya Delphi yaitu Dialogs.
Jika males buat nih ada contoh program + source codenya :D
0 comments:
Post a Comment