? Berita DiGao Dalpiaz di Telegram



03/25/2024 (Versi 6.7) ( Versi DZHTMLTEXT Minimum: 6.3 )
03/16/2024 (Versi 6.6)
03/10/2024 (Versi 6.5)
02/23/2024 (Versi 6.4)
02/22/2024 (Versi 6.3)
02/20/2024 (Versi 6.2)
Lib{Platform}{Config} . Harap tinjau jalur perpustakaan Anda.01/21/2024 (Versi 6.1) ( Minimum DZHTMLTEXT Versi: 5.2 )
01/12/2024 (Versi 6.0) ( Minimum DZHTMLTEXT Versi: 5.1 )
PERINGATAN!!! Harap hapus instalan sepenuhnya versi sebelumnya dengan menghapus folder komponen bendungan sebelumnya, karena banyak file telah mengubah nama dan lokasi mereka.
12/11/2023 (Versi 5.2)
07/29/2023 (Versi 5.1)
04/11/2023 (Versi 5.0) ( Versi DZHTMLTEXT Minimum: 4.0 )
DamUnitName09/12/2021 (Versi 4.16)
07/24/2021 (Versi 4.15)
06/13/2021 (Versi 4.14)
03/21/2021 (Versi 4.13)
03/14/2021 (Versi 4.12)
03/13/2021 (Versi 4.11)
03/05/2021 (Versi 4.10)
02/10/2021 (Versi 4.9)
12/18/2020 (Versi 4.8)
11/27/2020 (Versi 4.7)
11/11/2020 (Versi 4.6)
10/31/2020 (Versi 4.5)
10/27/2020 (Versi 4.4)
10/26/2020 (Versi 4.3) ( Versi DZHTMLTEXT Minimum: 2.6 )
10/26/2020 (Versi 4.2)
10/18/2020 (Versi 4.1) ( Versi DZHTMLTEXT Minimum: 2.04 )
10/14/2020 (Versi 4.0)
Perkataan:
09/24/2020
08/11/2020
08/07/2020
08/03/2020
07/30/2020
07/21/2020
05/25/2020
<img:nnn> ). Perlu untuk memperbarui komponen tdzhtmltext.05/03/2020
05/02/2020
DamParams untuk mengisi parameter saat menggunakan metode pesan bendungan. Ini diperlukan untuk versi Delphi di bawah XE8, karena tidak memiliki array dinamis sebagai dukungan tipe.System.ImageList dari unit Damlist (paket waktu desain), karena tidak didukung oleh versi Delphi di bawah XE8.AutoWidth yang Dihapus di Tdam. Sekarang ada properti baru FixedWidth dalam komponen TDAMMSG, sehingga Anda dapat menentukan lebar kustom menurut pesan. Komponen akan menjaga fungsi internal lebar otomatis jika FixedWidth adalah nol (nilai default).CenterButtons yang diubah menjadi false default, karena gaya dialog Windows baru memiliki tombol yang disejajarkan di sebelah kanan.04/26/2020
<imgres:{resource_name}> baru. Cukup tambahkan gambar PNG ke sumber daya aplikasi dan gunakan tag untuk merujuk mereka ke dalam pesan. Implementasi ini dalam komponen DZHTMLTEXT, digunakan oleh DAM. Anda hanya perlu memperbarui komponen DZHTMLTEXT Anda dan fitur ini akan tersedia. Harap baca bagian tag gambar dzhtmltext ke info lebih lanjut. Penting: Gambar tidak akan terlihat pada waktu desain .04/19/2020
10/07/2019
10/06/2019
10/05/2019
05/03/2019
02/11/2019
02/08/2019
02/07/2019
02/06/2019
02/05/2019
Tambahkan Properti Baru MessageColor dan Tombolscolor pada komponen TDAM, untuk memungkinkan kustomisasi dialog pesan.
Hampir setiap aplikasi yang Anda bangun, Anda perlu menambahkan dialog pesan.
Delphi memberi Anda beberapa opsi, seperti Showmessage, MessageScagedlg dan MessageBox.
Saat proyek Anda semakin besar, dialog dapat mengacaukan kode Anda, terutama jika Anda perlu menulis banyak baris dalam pesan, dengan banyak parameter.
Jika Anda perlu memformat beberapa bagian dari pesan, Anda perlu menambahkan label dalam formulir khusus. Ini bisa sangat buruk.
Lihat pesan ini:
begin
ShowMessage( ' The task was scheduled to run at the time: ' +aTime+ ' . ' +# 13 # 10 +
# 13 # 10 +
' Please, check the schedule at main board. ' +
' If you want to change schedule, find by ID # ' +IntToStr(IDNumber)+ ' . ' +# 13 # 10 +
# 13 # 10 +
' This task was created by user ' +aUserName+ ' . Only this user can edit this task profile. ' );
end ;Jadi, saya pikir ini benar -benar jelek, bukan begitu? ?
Dengan bendungan Anda dapat menulis pesan yang sama seperti ini : ?
begin
InfoTaskScheduled([aTime, IDNumber, aUserName]);
end ;Komponen ini memungkinkan Anda untuk mengelola semua pesan aplikasi Anda dalam "wadah". Anda dapat membuat dialog pesan dengan pembuat panduan, memungkinkan Anda untuk memformat pesan (tebal, miring, garis bawah, nama font, ukuran font, warna latar belakang teks, align center, align kanan, gunakan penyelarasan tab, tautan yang dapat diklik, dll).
Anda dapat menentukan tombol pesan, ikon, judul formulir, dan banyak lagi.
Kemudian Anda menentukan nama untuk pesan tersebut. Jadi, Anda dapat memanggil pesan di bagian mana pun dari aplikasi Anda, hanya memanggil metode dengan nama pesan!
Jika Anda menentukan parameter dalam teks pesan, maka ketika Anda memanggil metode pesan, Anda dapat menentukan parameter yang akan diganti dalam teks.
Harap baca dengan cermat dokumentasi ini untuk mengetahui cara kerja komponen ini. ?
Wadah bendungan mencantumkan semua pesan yang dibuat, disimpan di DFM:

Pencipta Wizard Pesan, untuk menyesuaikan dialog pesan:

Dialog Pesan :?

Pintasan
CTRL+Ctersedia pada formulir pesan untuk menyalin pesan ke clipboard.
Pertama, Anda perlu menginstal komponen DZHTMLTEXT saya. Get It Here: https://github.com/digao-dalpiaz/dzhtmltext
Ini adalah label dengan komponen pemformatan HTML. Pesan menggunakan komponen ini untuk menampilkan teks yang diformat.
Jika Anda menginstal DZHTMLTEXT dan bendungan sekaligus, menggunakan Component Installer Utility, setelah menginstal DZHTMLTEXT Anda perlu membuka dan menutup Delphi sebelum menginstal bendungan (ini diperlukan hanya untuk memperbarui file jalur pustaka yang digunakan oleh MSBuild).
LibWin32Release .Mendukung Delphi Xe3..Delphi 12
Buka Paket Menu> Buka Paket File (.lpk) dan muat lazdampackage.lpk , dan klik ke dalam kompilasi .
Buka paket menu> Buka file paket (.lpk) dan muat lazdamdesignpackage.lpk , dan klik menggunakan> instal .
Saat ini, bahasa berikut tersedia untuk pesan:
Bahasa mengatur keterangan tombol dalam dialog pesan, seperti OK, Batal, ya, tidak, dan judul formulir, ketika informasi, pertanyaan, peringatan, kesalahan dan pesan (kustom). Judul formulir dapat diubah di properti pesan dan dapat secara otomatis diatur oleh objek lain, seperti judul bentuk induk, judul formulir utama dan judul aplikasi.
Anda dapat membuka masalah untuk mengirimi saya terjemahan bahasa baru atau memperbaiki terjemahan saat ini
Gagasan utamanya adalah menjatuhkan satu tdam dalam bentuk utama, atau modul data utama. Tdam adalah wadah yang memiliki semua Tdammsg (dialog pesan).
Untuk mengelola pesan, cukup klik dua kali pada komponen TDAM, atau klik kanan dan pilih Kelola Pesan Bendungan .
Tapi bagaimana cara menelepon pesannya?
Tdam memiliki properti yang disebut DamUnitName . Di sini Anda mendefinisikan nama unit untuk berisi semua metode pesan. Saat Anda menggunakan unit pembuatan fungsi, komponen akan membuat unit ini secara otomatis di folder proyek dengan metode yang berbasis di semua pesan yang dibuat (dengan nama yang sama dengan nama pesan).
Jadi, di unit mana pun, Anda cukup menambahkan kegunaan ke unit ini, dan hubungi pesan yang Anda inginkan dengan nama pesan. Jika pesan memiliki parameter, metode ini akan dinyatakan secara otomatis meminta parameter dalam array.
Ya, tetapi jika saya berada di kelas yang sama (TForm/tDATAMODULE) itu adalah pesan Tdam dan Tdammsg, jika saya memanggil metode dengan nama pesan, Delphi berpikir saya merujuk objek pesan!
Ini benar, dan karena itu, komponen memiliki fungsi tersembunyi objek. Anda hanya perlu memberi nama pesan yang dimulai dengan _ . Jadi pembangun unit akan menghapus karakter ini untuk memberi nama metode dan Delphi tidak akan membingungkan kedua hal tersebut.
Saya menyarankan Anda untuk membuat semua pesan bernama dimulai dengan karakter _ .
Jika Anda menggunakan wizard, namanya akan secara otomatis dimulai dengan karakter ini.
Ada tombol pada manajer bendungan untuk menyembunyikan/menyatukan semua pesan yang dipilih.
Ingat, setiap kali Anda mengubah pesan, Anda perlu membangun kembali unit. Cukup klik unit Build Tombol untuk diperbarui.
Oke, tapi saya tidak ingin menggunakan unit ini! Apakah ada metode lain?
Ya, tentu saja. Anda dapat menghubungi pesan dengan menggunakan fungsi objek Tdammsg. Cukup gunakan fungsi Objek Run atau Fungsi RunAsBool . Dalam hal ini saya menyarankan Anda untuk tidak menyembunyikan pesan, sehingga Anda dapat menelepon dengan nama objek apa adanya.
Tapi jujur saya merekomendasikan Anda untuk menggunakan unit karena akan jauh lebih masuk akal.
Bisakah saya menggunakan lebih dari satu wadah TDAM di aplikasi saya?
Ya, Anda bisa. TDAM memungkinkan Anda untuk menentukan beberapa konfigurasi, seperti font pesan dan suara. Jadi Anda mungkin memiliki lebih dari satu TDAM untuk memiliki grup konfigurasi ini. Selain itu, Anda dapat menggunakan berbagai TDAM untuk mengelompokkan pesan berdasarkan kategori. Anda dapat menempatkan TDAM dalam bentuk tertentu, tetapi ingat bahwa wadah perlu ada untuk menembakkan pesan, tentu saja.
Jika Anda menggunakan lebih dari satu TDAM, saya sarankan Anda untuk mengatur DamUnitName yang sama di semua komponen TDAM, jadi ketika Anda memanggil tombol Unit Build , itu akan dihasilkan satu unit dengan semua pesan dari semua wadah TDAM. Jadi, Anda dapat menggunakan unit tunggal ini di semua unit lain dari proyek Anda untuk memanggil pesan apa pun.
Kode Hasil Pesan:
Jika Anda memanggil pesan dengan metode nama pesan, metode ini akan menjadi prosedur jika pesan hanya memiliki satu tombol.
Jika pesan memiliki dua atau tiga tombol, metode ini akan menjadi fungsi. Ketika memiliki dua tombol, fungsi akan selalu mengembalikan nilai boolean, mengembalikan true jika tombol pertama di sebelah kiri diklik, atau mengembalikan False jika tombol kedua (tombol terakhir di sebelah kanan) diklik.
Ketika pesan memiliki tiga tombol, fungsi mengembalikan Nilai Integer 1, 2 atau 3, tergantung pada tombol mana yang ditekan dalam dialog pesan. Tombol pertama adalah yang kiri; Yang kedua adalah tombol tengah; Tombol ketiga adalah tombol yang tepat.
Jadi, saat menggunakan tiga tombol, Anda dapat menggunakan variabel atau bahkan case :
case QuestionSaveFile([aFileName]) of
1 : DoSaveFile; // Yes button
2 : { continue } ; // No button
3 : Abort; // Cancel button
end ; Jika Anda ingin menggunakan parameter yang dapat diganti dalam pesan, cukup ketik %p . Anda dapat menentukan beberapa parameter dalam pesan yang sama. Ketika Anda menelepon pesan, array parameter secara berurutan dalam urutan yang sama mereka diketik dalam pesan.
Array parameter adalah tipe varian, sehingga tidak perlu konversi.
Contoh:
// TDamMsg Message property = 'This is a %p message number %p at time %p'
MyCustomMessage([ ' test ' , 123 , Now]);
// or
MsgInfo( ' This is a %p message number %p at time %p ' , [ ' test ' , 123 , Now]); ButtonsColor: TColor = Tentukan warna latar belakang area tombol pada dialog pesan.
ButtonsFont: TFont = mendefinisikan font teks tombol dialog
ButtonsFontColor: TAlphaColor = mendefinisikan warna font teks tombol dialog (hanya tersedia di lingkungan FMX)
CenterButtons: Boolean = Tentukan jika tombol pada formulir pesan akan disejajarkan di tengah. Jika properti ini salah, tombol akan disejajarkan di sebelah kanan bentuk.
DamDefault: Boolean = mendefinisikan apakah tdam ini akan digunakan untuk memecat pesan cepat (silakan baca bagian pesan cepat). Anda hanya dapat memiliki satu yang didefinisikan sebagai default dalam aplikasi.
DamUnitName: String = Tentukan nama unit yang akan dibuat dengan semua metode pesan di folder proyek. Jangan tentukan ekstensi file, karena komponen akan melengkapi nama secara otomatis dengan ekstensi ".pas".
DialogBorder: Boolean = mendefinisikan jika jendela dialog pesan akan berisi perbatasan. Anda dapat menonaktifkan properti ini untuk membuat tema dialog modern.
DialogPosition: TDamDlgPosition = mendefinisikan posisi mulai bentuk dialog:
HandleExceptions: Boolean = mendefinisikan TDAM ini untuk menangani semua pengecualian aplikasi, menunjukkan pesan kesalahan dengan dialog yang sama dengan semua pesan bendungan lainnya. Hanya satu TDAM yang dapat diatur untuk menangani pengecualian dalam aplikasi.
HideIcon: Boolean = jika benar, ikon pada dialog pesan akan ditekan.
Images: TCustomImageList = memungkinkan Anda untuk mengatur daftar imagel, menggunakan tag <img:idx> dalam teks pesan, di mana idx adalah indeks gambar.
Language: TDamLanguage = mendefinisikan bahasa yang digunakan oleh tombol pesan dan judul bentuk pesan. Saat Anda menempatkan instance komponen TDAM, properti ini akan diinisialisasi sesuai dengan bahasa saat ini bahasa. Jika tidak ada bahasa yang tersedia sesuai dengan sistem, bahasa Inggris akan ditetapkan. Properti ini tidak memiliki nilai default, justru karena harus menyimpan bahasa yang ditentukan.
MessageColor: TColor = Tentukan warna latar belakang area pesan pada dialog pesan.
MessageFont: TFont = mendefinisikan font teks pesan
MessageFontColor: TAlphaColor = mendefinisikan warna font teks pesan (hanya tersedia di lingkungan FMX)
PlaySounds: Boolean = Aktifkan suara sistem saat menampilkan pesan peringatan, jenis pertanyaan dan kesalahan.
OnLinkClick(Sender: TObject; Msg: TDamMsg; const Target: string; var Handled: Boolean; var CloseMsg: Boolean; var MsgResult: TDamMsgRes) peristiwa ini akan dipicu ketika diklik pada tautan yang terkandung dalam pesan.
Secara default target tautan akan secara otomatis dibuka menggunakan Shellexecute dari Windows API, jadi jika targetnya adalah tautan web, browser default akan membuka tautan, atau jika target adalah file sistem, jalur akan dijalankan/dibuka oleh Windows.
Jika Anda ingin memotong perilaku ini, gunakan acara ini dan setel Handled ke True. Anda juga dapat mengatur CloseMsg ke bendera True dan MsgResult saat Anda ingin menutup jendela pesan.
OnShowMessage(Sender: TObject; Msg: TDamMsg; var MsgText: String; var Handled: Boolean; var MsgResult: TDamMsgRes) menembak sebelum pesan bendungan ditampilkan, memungkinkan Anda untuk mencegat pesan dan bahkan memotong tampilan pesan, dengan menggunakan parameter yang ditangani.
Peringatan! Jika Anda melewati pesan pengecualian, komponen tidak akan menaikkan pengecualian, melanjutkan eksekusi kode (kecuali Anda membuat pengecualian sendiri pada prosedur acara).
Button1: String = Caption of Button 1 Pada dialog pesan. Tersedia saat tombol = DBone/DBTWO/DBTHREE.
Button2: String = Caption tombol 2 pada dialog pesan. Tersedia saat tombol = DBTWO/DBTHREE.
Button3: String = Caption of Button 3 pada dialog pesan. Tersedia saat tombol = DBTHREE.
Buttons: TDamMsgButtons = mendefinisikan tombol dalam dialog pesan:
CustomIcon: TIcon = mendefinisikan ikon khusus untuk ditampilkan dalam dialog pesan. Ikon ini hanya ditampilkan saat ikon = dicustom.
CustomTitle: String = mendefinisikan judul kustom untuk formulir pesan. Keterangan ini hanya digunakan kemudian judul = dtcustom.
Dam: TDam = mendefinisikan wadah bendungan dari pesan ini.
FixedWidth: Integer = mendefinisikan lebar tetap bagian teks dalam jendela pesan, dalam piksel. Jika nilai ini nol (default), maka lebar jendela akan secara otomatis dihitung sesuai dengan teks pesan. Ada batasan tetap minimum dan maksimum ke formulir pesan (minimum = 300px / maksimum = 75% lebar layar - ketika Android atau iOS, maksimum = 95% lebar layar) .
HelpContext: THelpContext = mendefinisikan konteks bantuan. Jika properti ini didefinisikan, ketika dialog pesan akan menampilkan tombol bantuan dan akan membuka bantuan aplikasi pada target konteks. Dimungkinkan juga untuk menggunakan kunci F1.
HelpKeyword: String = mendefinisikan kata kunci bantuan. Jika properti ini didefinisikan, ketika dialog pesan akan menampilkan tombol bantuan dan akan membuka bantuan aplikasi pada target kata kunci. Dimungkinkan juga untuk menggunakan kunci F1.
Icon: TDamMsgIcon = mendefinisikan ikon dalam dialog pesan:
Message: String = Teks Pesan. Harap gunakan Pencipta Wizard Pesan untuk pemformatan teks atau baca dokumentasi HTLabel. Parameter yang dapat diganti dapat ditentukan oleh %p pada teks pesan. Gunakan parameter pada array dalam metode pesan dalam urutan yang sama seperti yang ditentukan dalam teks pesan. Anda juga dapat menentukan literal {except} untuk menangkap pesan pengecualian saat ini dan mengganti pada variabel ini dalam teks pesan (tolong, lihat contoh pengecualian).
Name: String = Nama Objek Pesan. Jika kemudian nama dimulai dengan karakter _ , berarti pesannya tersembunyi, sehingga Delphi tidak akan berpikir Anda memanggil objek ini ketika Anda memanggil metode pesan yang memiliki nama yang sama.
RaiseExcept: Boolean = atur pesan ini sebagai pesan kenaikan gaji. Saat Anda memanggil pesan ini, akan mengangkat pengecualian dengan teks pesan. Dalam hal ini, Anda perlu menggunakan setidaknya satu TDAM dengan HandleExceptions = True, jika tidak pesan tidak akan diformat dengan kustomisasi bendungan.
SwapFocus: Boolean = secara default, saat pesan ditembakkan, selalu tombol pertama di sebelah kiri akan dimulai dengan fokus. Jika Anda mengaktifkan opsi ini, pesan ini akan memulai tombol fokus pada terakhir (tombol di sebelah kanan).
Title: TDamMsgTitle = mendefinisikan judul formulir pesan
Semua parameter pesan secara otomatis "melarikan diri" dengan komponen.
Contoh:
procedure Test1 ;
begin
MyCustomMessage([ ' This will display <b> literal string ' , ' This will display "%p" literal string ' ]);
end ;
procedure Test2 ;
begin
MsgInfo( ' <b>First message parameter</b>: %p ' , [ ' Here I want to display literal <> characters ' ]);
end ;%p dan {except} ).Jika Anda ingin menampilkan karakter literal HTML di bagian pesan tetap, silakan periksa konstanta pelarian di dokumentasi DZHTMLTEXT.
procedure MsgInfo ( const Msg: String; const Params: TDamParams = nil ); // message with Information icon
procedure MsgWarn ( const Msg: String; const Params: TDamParams = nil ); // message with Warning icon
procedure MsgError ( const Msg: String; const Params: TDamParams = nil ); // message with Error icon
function MsgQuest ( const Msg: String; const Params: TDamParams = nil ): Boolean; // message with Question mark icon
procedure MsgRaise ( const Msg: String; const Params: TDamParams = nil ); // message with Error icon (this raises an exception)
procedure ShowErrorMsg ; // show current error message
function CaptureErrorMsg : String; // get current error message Metode -metode ini tersedia secara global, di unit DamUnit atau di unit nama yang telah Anda tentukan di properti damunitname.
Anda dapat menampilkan pesan cepat secara langsung pada kode, cukup mengetik pesan dan parameter yang Anda sukai.
Metode ini akan menggunakan wadah TDAM yang didefinisikan sebagai default . Jadi, Anda harus memiliki satu Tdam yang tersedia dengan properti
DamDefaultyang disetel ke True .
Hasil fungsi MsgQuest benar jika tombol ya ditekan, atau mengembalikan false jika tidak ada tombol ditekan.
Metode ShowErrorMsg menunjukkan pengecualian saat ini. Anda dapat menggunakan ini sebagai cobalah..khasil blokir.
Fungsi CaptureErrorMsg memungkinkan Anda untuk mendapatkan pesan kesalahan pada pengecualian saat ini. Anda harus menggunakan ini di try..cepscept block.
Contoh tangkapan pengecualian:
try
DoSomeStuff;
except
ShowErrorMessage; // will show error message dialog using Dam concept
end ; try
DoSaveFile;
except
MsgError( ' Fatal error saving file: %p ' , [CaptureErrorMsg]);
end ; Jika Anda menentukan literal {except} pada teks pesan, ini akan diganti dengan pesan kesalahan saat ini:
try
DoSaveFile;
except
MsgError( ' Fatal error saving file: {except} ' ); // don't need to use CaptureErrorMsg function!
end ;Anda juga dapat menaikkan kembali pengecualian:
try
DoSaveFile;
except
raise EDam.Create( ' Fatal error saving file: {except} ' ); // re-raise a new exception with better text message
end ; Anda dapat mengatur parameter RaiseExcept pada objek pesan bendungan, jadi ketika pesan dipanggil, pengecualian akan dinaikkan.
Ingat: Untuk memanfaatkan sumber daya bendungan, Anda perlu mengatur HandleExceptions pada objek wadah bendungan. Ketika pengecualian dinaikkan, bendungan akan mencegat pengecualian ini dan menampilkan dialog khusus.
Contoh:
procedure TestException_Generic ;
begin
raise Exception.Create( ' This is my generic exception ' );
// HTML tags are NOT allowed when using generic exception
end ;
procedure TestException_DamRunTimeCreation ;
begin
raise EDam.Create( ' This is my <b>exception</b> with parameter %p ' , [ ' First parameter ' ]);
end ;
procedure TestException_DamDesignTimeCreation ;
begin
raise EDam.Create(MyCustomMessage, [ ' First parameter ' ]);
// MyCustomMessage represents a TDamMsg object created at design-time
end ;
procedure TestException_DamDesignTimeCreation_ByProperty ;
begin
_MyCustomMessage.Run([ ' First parameter ' ]);
// or
MyCustomMessage([ ' First parameter ' ]);
// MyCustomMessage represents a TDamMsg object created at design-time with property RaiseExcept=True
end ;
procedure TestException_Quick ;
begin
MsgRaise( ' This is my <b>exception</b> with parameter %p ' , [ ' First parameter ' ]);
// This method is for compatibility, but I recommend you to use "raise EDam.Create" instead.
end ;Ada file yang disebut damlang.ini (folder sumber daya), yang memiliki semua string yang digunakan pada komponen. Jika Anda ingin mengubah beberapa teks pada file ini, Anda harus menjalankan " Build Dam Resource.bat " setelah itu. Batch ini akan membuat file baru " dam_resource.res " di folder komponen root.
Setelah itu, silakan jalankan " afterbuild.bat " untuk menerbitkan file sumber daya baru ini ke folder "LIB".
Jika Anda ingin menambahkan bahasa baru, beberapa perubahan dalam kode akan diperlukan. Jadi, tolong, buka masalah baru dan posting string bahasa yang Anda inginkan, maka saya akan mendaftar di komponen.
Saat Anda menggunakan versi Delphi di bawah Xe8, dalam semua metode bendungan yang berisi parameter Tdamparams, Anda tidak akan dapat melewati parameter array dinamis secara langsung.
Dalam kasus seperti itu, gunakan fungsi global DamParams . Fungsi ini juga tersedia di unit yang dihasilkan otomatis bendungan.
Jadi, berikut adalah beberapa contoh cara menggunakan metode pesan bendungan dalam versi ini:
// Quick message:
MsgInfo( ' This is a test message with parameter value = %p ' , DamParams([ 999 ]));
// Custom message:
MyCustomMessage(DamParams([ ' Parameter 1 ' , ' Parameter 2 ' ]));Desain komponen ini muncul sekitar tahun 2005 ketika saya memeriksa kebutuhan untuk membuat kotak dialog standar untuk aplikasi saya.
Pada saat itu, saya menyebut komponen "dialog yang lebih baik", yang dalam bahasa Portugis adalah DM ( Diálogo Melhor ).
Setelah beberapa saat, proyek tersebut mengandung struktur baru dengan wadah. Kemudian saya mengganti nama komponen menjadi "dialog yang lebih baik", yang dalam bahasa Portugis adalah bendungan ( Diálogo Ainda Melhor ). ?
Jadi nama komponen akhirnya tetap sebagai bendungan.
Hari ini saya menggunakan komponen ini di hampir semua aplikasi Delphi saya.