Koleksi komponen VCL/LCL untuk Delphi 2009 - 11.0 Alexandria dan Lazarus
JPPACK adalah koleksi kecil komponen VCL untuk komponen Delphi dan LCL untuk Lazarus dan Codetyphon.
Didukung Versi Delphi: 2009 , 2010 , XE , XE2 , XE3 , XE4 , XE5 , XE6 , XE7 , XE8 , 10.0 Seattle , 10.1 Berlin , 10.2 Tokyo , 10.3 Rio , 10.4 Sydney , 11.0 Alexandria .
Lazarus : Versi FPC yang Diperlukan 3.0.4 3.2.0 atau lebih baru (diuji pada Lazarus 2.0.10 + FPC 3.2.0, Lazarus 2.2.0 + FPC 3.2.2 dan Lazarus 2.2.2 + FPC 3.2.2). Codetyphon : Diuji pada codetyphon 7.7 R2202141933 dengan FPC 3.3.1 R2202141933

Komponen -komponen ini dibuat dalam beberapa tahun, mereka berulang kali dimodifikasi, ditingkatkan, dan diperluas dengan fungsi yang diperlukan dalam implementasi proyek tertentu. Secara umum, ada kekacauan kecil, tapi saya pikir semuanya bekerja dengan baik (saya harap!).
Saya bukan ahli dalam menulis komponen VCL dan membantu diri saya sendiri dengan menganalisis kode sumber (dan menggunakan fragmen) dari berbagai komponen Delphi gratis, terutama komponen Cindy dan komponen png.
Beberapa fungsi dan prosedur yang terkait dengan pemrosesan grafis diambil dari komponen Cindy . Rutinitas terkait gradien hampir seluruhnya diambil dari paket ini (file VCL.cyGraphics.pas ).
Penulis komponen Cindy S adalah Júlio Maurício Antunes Piao. Sumber tersedia di https://sourceForge.net/projects/tcycomponents/ Dalam file sumber di mana saya menggunakan fungsi yang ditulis oleh Júlio, saya telah menambahkan informasi yang relevan dengan tautan ke halamannya.
Setelah pertempuran panjang dan ganas dengan berbagai tombol dari berbagai paket komponen untuk Delphi (komersial dan gratis), saya akhirnya menemukan yang menampilkan file PNG dengan benar - TPNGBITBTN dan TPNGSPEEDBUTTON dari paket PNGComponents . Saya tidak pernah memiliki masalah dengan mereka, tidak seperti banyak, banyak orang lain. Untuk alasan ini, dalam implementasi tombol saya, saya memutuskan untuk mengandalkan kode dari paket ini.
Penulis asli paket PNGComponents adalah Martijn Saly ( www.thany.org ). Proyek ini saat ini dikelola oleh Uwe Raabe. Sumber tersedia di https://github.com/uweraabe/pngcomponents
Di folder 3rd-party Anda dapat menemukan file zip dengan pngComponents ver. 1.4.1. Ini adalah versi terbaru dari komponen PNG yang tersedia saat menulis dokumen ini dan berfungsi dengan baik dengan JPPACK .
2020.08.31 - Versi dari GitHub juga berfungsi dengan baik.
Setiap komponen visual dalam paket JPPack mendukung penahan komponen eksternal menggunakan properti AnchoredControls .
Anda dapat menjangkar komponen eksternal ke tepi mana pun. Saat Anda mengubah ukuran atau posisi komponen utama, posisi komponen yang berlabuh akan diperbarui secara otomatis.

Sebagian besar komponen dalam paket JPPack memiliki properti TagExt . Di sini Anda dapat menyimpan satu nilai integer ( IntValue ), string ( StrValue ), bilangan float ( RealValue ), pointer ( PointerValue ) dan date ( DateValue ). Tiga nilai pertama tersedia dari inspektur objek dan dalam kode, dua yang terakhir - hanya dalam kode.
Nilai default:
| Milik | Nilai default |
|---|---|
TagExt.IntValue | 0 |
TagExt.StrValue | '' (string kosong) |
TagExt.RealValue | 0 |
TagExt.PointerValue | nil |
TagExt.DateValue | Now |
Panel yang sangat dapat disesuaikan. Keturunan TCustomPanel . Itu ditulis berdasarkan salah satu panel yang termasuk dalam paket Cindy Components (tapi saya tidak ingat persis mana yang mana).

Panel dibagi menjadi dua bagian - atas dan bawah. Untuk masing -masing Anda dapat mendefinisikan warna (gradien atau solid) secara terpisah.
Semua batas panel dikonfigurasi secara terpisah. Anda dapat mengatur warna, ketebalan, gaya, visibilitas yang berbeda untuk setiap perbatasan.
Panel memiliki dukungan bawaan untuk koleksi teks yang tidak terbatas. Setiap keterangan memiliki Font: TFont , dan dapat dipusatkan atau diposisikan relatif terhadap sudut panel.
Selain itu, TJppPanel memiliki dukungan bawaan untuk koleksi garis horizontal yang tidak terbatas, garis vertikal, dan batang horizontal.
Info lebih lanjut ...
Versi terpotong dari TJppPanel . Itu tidak memiliki koleksi teks, garis vertikal, garis horizontal, dan batang horizontal.
Versi terpotong dari TJppBasicPanel . Ini hanya memiliki satu gradien, semua perbatasan memiliki warna yang sama ( Appearance.BorderColor ), tetapi setiap perbatasan dapat disembunyikan/ditampilkan ( Appearance : DrawTopBorder , DrawBottomBorder , DrawLeftBorder , DrawRightBorder ).
Panel ini sangat bagus untuk membuat tata letak UI dasar.
Panel yang dapat dikustomisasi sangat dapat disesuaikan berdasarkan panel TJvRollOut dari paket jvcl https://github.com/project-jedi/jvcl/blob/master/jvcl/run/jvrollout.pas
Lisensi Asli: MPL 1.1
Modifikasi saya: domain publik

Anda dapat meletakkan panel teratas di ScrollBox untuk mensimulasikan CategoryPanelGroup dari Delphi.
Keturunan TCustomPanel
Panel standar dengan dukungan penahan komponen.
Saat ini hanya untuk Delphi .
TJppPngButton adalah tombol TPngBitBtn yang diperluas dari paket PNGComponents .

Tombol dapat berada di salah satu dari lima negara : normal , panas , turun (ditekan), fokus dan dinonaktifkan . Untuk setiap keadaan Anda dapat mengatur seluruh jajaran parameter tampilan: gradien atas dan bawah warna/warna solid (mirip dengan TJppPanel ), warna perbatasan, gaya dan lebar, parameter font (warna, nama, ukuran, gaya).
Jika Anda ingin tombol ditampilkan dalam warna sistem, True Appearance.DefaultDrawing properti Appearance.<STATES>
Jumlah semua warna untuk semua status tombol sangat besar, jadi saya memutuskan untuk membuatnya lebih mudah untuk mengelola warna yang ditampilkan menggunakan skema warna siap pakai (peta warna).
Saya telah membuat 36 skema warna yang berbeda untuk TJppPngButton . Untuk mengubah skema warna aktif, pilih salah satu skema yang tersedia di properti ColorMapType di Inspektur Objek .
Skema warna dapat diedit dengan program TJppPngButton Color Maps Designer , yang terletak di repositori di direktori demos .
Info lebih lanjut ...
Saat ini hanya untuk Delphi .
Tombol ini adalah versi TJppPngButton yang sedikit terpotong. Ini hanya memiliki satu gradien untuk setiap status tombol dan tidak mendukung skema warna.
Saat ini hanya untuk Delphi .
Mirip dengan TJppBasicPngButton tetapi dengan dukungan untuk subkapsi.

Tombol ini sangat mirip dengan TJppBasicPngButton , tetapi didasarkan pada TGraphicControl , sehingga tidak mengambil fokus (tidak memiliki keadaan terfokus ).
Keturunan TCustomComboBox .
Properti tambahan:
AnchoredControlsBoundLabel - Label Internal.Flash - Opsi berkedip. Untuk mengaktifkan flashing, hubungi metode FlashBackground dalam kode.ShowLabel - Label Show / Sembunyikan Bound.TagExt Keturunan TCustomComboBoxEx .
Memperbaiki bug tinggi item di versi Delphi yang lebih lama.

Properti tambahan:
AnchoredControlsBoundLabel - Label Internal.Flash - Opsi berkedip. Untuk mengaktifkan flashing, hubungi metode FlashBackground dalam kode.ShowLabel - Label Show / Sembunyikan Bound.TagExtItemIndex yang diterbitkanSaat ini hanya untuk Delphi .
ComboBox yang sangat dapat disesuaikan berdasarkan TFlatComboBox
https://github.com/jackdp/flatstyle/blob/master/source/tflatcomboboxunit.pas

ComboBox yang sangat dapat disesuaikan yang menampilkan daftar warna yang telah ditentukan sebelumnya dan/atau yang ditentukan pengguna.




TJppColorComboBox memiliki 4 komponen bawaan: satu label dan 3 tombol untuk mengubah, menyalin, dan menempelkan warna.
Warna dapat ditampilkan dalam tiga format: RGB int (mis. 051.102.255), RGB Hex (mis. #3366ff), dan Bgr Hex (mis. $ 00FF6633). Jika Anda perlu menampilkan warna dalam format yang berbeda, Anda dapat melakukan ini di event handler OnGetColorStrValue .
Selain item standar (menampilkan warna), Anda juga dapat menambahkan pemisah dan item ChangeColor .
Setiap warna yang dipilih oleh pengguna, tetapi belum dalam daftar warna, dapat secara otomatis ditambahkan ke ujung atau atas daftar. Berkat ini pengguna aplikasi Anda memiliki akses ke sejarah warna yang dipilih sebelumnya.
Info lebih lanjut ...
Kotak daftar yang sangat dapat disesuaikan yang menampilkan daftar warna yang telah ditentukan sebelumnya dan/atau yang ditentukan pengguna.


Ini sangat mirip dengan TJppColorComboBox , tetapi tidak memiliki komponen bawaan.
TJPPColorSwatch adalah komponen yang menampilkan warna dan nilainya (kode) dalam dua format.

Terdiri dari tiga bagian: Sebuah persegi panjang yang menampilkan warna (di sebelah kiri) dan dua persegi panjang dengan kode warna yang dipilih. Setiap bagian dapat disembunyikan, sehingga Anda dapat, misalnya, hanya menampilkan persegi panjang dengan warna atau hanya kode warna dalam format yang dipilih.
Format warna yang tersedia:
| Format | Contoh |
|---|---|
ctBgr | 128,064,032 |
ctCmyk | 075,050,000,050 |
ctCppHex | 0x00804020 |
ctHslCss | 220,60%,31% |
ctHslWin | 146,144,075 |
ctHtml | #204080 |
ctPascalHex | $00804020 |
ctPascalInt | 8405024 |
ctRgb | 032,064,128 |
ctRgbPercent | 13%,25%,50% |
Jika Anda ingin menampilkan kode warna dalam beberapa format lain, Anda dapat melakukannya di event handler OnGetTopColorStrValue (untuk kode warna atas) dan OnGetBottomColorStrValue (untuk bagian bawah).
TJPPCOLORSWATCHEX adalah versi diperpanjang dari TJPPColorsWatch . Ini memiliki label bawaan ( BoundLabel ) dan tiga tombol: ButtonChangeColor , ButtonCopyColor dan ButtonPasteColor .
BoundLabel adalah label standar (keturunan TCustomLabel ) dan dapat ditampilkan di sebelah kiri, kanan, di atas atau di bawah komponen. Tombol -tombolnya diwarisi dari kelas TJppBasicSpeedButton , sehingga Anda dapat dengan bebas mengatur warna untuk semua status tombol (normal, panas, turun, dinonaktifkan) dan ikon PNG.
Bilah kemajuan yang sangat dapat disesuaikan berdasarkan JVSpecialProgress dari paket JVCL, tetapi dengan banyak modifikasi saya. https://github.com/project-jedi/jvcl/blob/master/jvcl/run/jvspecialprogress.pas

Modifikasi saya:
Penampilan
Di sini Anda dapat memodifikasi banyak parameter yang terkait dengan penampilan kontrol: Warna batang latar belakang dan kemajuan (solid atau gradien), warna dan ukuran perbatasan, font (untuk keadaan normal dan cacat), penyelarasan teks (kiri atas, pusat atas, kanan atas, kiri, tengah ...), awalan dan postfix, bayangan teks dan banyak lagi. Berbeda dengan bilah kemajuan standar, TJPPProgressBar juga memungkinkan Anda untuk mengatur warna yang ditampilkan saat komponen dinonaktifkan.
Endmarker - Sebuah persegi panjang yang ditarik di ujung bilah kemajuan.
TextDisplayMode - posisi, persentase, posisi dalam piksel, keterangan atau tidak sama sekali.
Tahapan: Tengah dan Final - Anda dapat membuat koreksi warna di sini.
ProgressBarvisible - Di sini Anda dapat memblokir bilah kemajuan dari menampilkan dan hanya menampilkan teks.
AnchoredControls
Anda dapat menyematkan satu kontrol eksternal (misalnya tbutton, tedit) ke setiap tepi komponen.
BoundLabel - Label Internal
UpdatePositionIfDisabled - Di sini Anda dapat memutuskan apakah akan memperbarui bilah kemajuan saat komponen dinonaktifkan.
Onprogresschanged
Dipicu saat posisi saat ini berubah. Anda dapat melakukan beberapa tindakan tambahan di sini.
Tagext
Saat ini hanya untuk Delphi .
Komponen Petunjuk HTML yang ringan untuk Delphi (di Lazarus dikompilasi tetapi tidak berfungsi).

Komponen ini dibuat dengan menggabungkan dua unit Pascal:
TflathIntunit.pas dari paket flatstyle
https://github.com/jackdp/flatstyle/blob/master/source/tflathintunit.pas
Lisensi: Gratis (tidak ada informasi tambahan)
Hthint.pas dari paket jvcl https://github.com/project-jedi/jvcl/blob/master/jvcl/install/jvclinstall/helpers/hthint.pas
Lisensi: MPL 1.1
Lisensi untuk Modifikasi Saya: Tidak Ada Lisensi (Domain Publik)
TJPPHTMLHint bukan komponen HTML berfitur lengkap. Ini adalah komponen yang ringan dan sangat sederhana dengan dukungan hanya untuk beberapa tag HTML, di samping itu, dengan sintaksis yang sedikit tidak biasa.
Tag yang didukung:
B - <b>bold text</b>
I - <i>italic</i>
U - <u>underline</u>
S - <s>strike out</s>
C : Warna - Warna teks, misalnya: <c:clRed>text</cl> , <cl:Red>text</c> , <c:#FF0000>text</c> , <c:255,0,0>RGB color</c>
BG : Warna - Warna latar belakang, mis. <bg:clYellow>yellow background</bg>
Ind : X - Indentasi dari posisi saat ini. eg. <ind:10>
Aind : X - Indentasi absolut, mis. <aind:20>
FS : X - Ukuran Font, mis. <fs:12>some text</fs> , <fs:+4>text</fs>
FN : Nama - Nama Font, mis. <fn:Verdana>text</fn> , <fn:Courier New>text</fn> , <fn:default>restore default font</fn>
Metacolors (atau Mode-Wolors): Warna yang diambil dari Appearance.DarkModeColors DarkModecolors atau Appearance.LightModeColors Palet LightModecolors
Contoh: <c:mclDarkBlue><bg:mclLightGray>dark blue text on light gray background</bg></c>
Entitas HTML: Lihat Fungsi ReplaceHtmlEntities di file JPP.HtmlHint.pas .
Keturunan TCustomLabel .
Properti tambahan: AnchoredControls, Tagext.
Berdasarkan TJppLabel .
Properti tambahan: Bayangan untuk status yang diaktifkan dan dinonaktifkan, warna teks yang dinonaktifkan, perbatasan (warna, ukuran, gaya), padding.

Keturunan TCustomLabel .
Label dengan font tambahan ( TFont ) untuk 5 negara: normal , dikunjungi normal , panas , panas-panas dan cacat .
Setelah mengklik, dapat membuka URL di browser default, menjalankan file dengan ShellExecute atau melakukan tindakan dari TactionList .
Info lebih lanjut ...
Komponen label yang terdiri dari 3 bagian:
Caption Properti)RightCaption )Berdasarkan tpegtoplinelabel dari komponen umum pegtop yang ditulis oleh Jens Gruschel (http://www.pegtop.net/delphi/components/common/index.htm).



Modifikasi saya:
Annex berganti nama menjadi RightCaptionJpp RightCaption memiliki font, latar belakang, dan warna perbatasan sendiri. RightCaption dapat diposisikan secara vertikal oleh RightCaptionPosDeltaY . Garis dapat diposisikan secara vertikal oleh LinePosDeltaY . Panjang garis dapat dimodifikasi oleh LineSizeDeltaX1 dan LineSizeDeltaX2 . Jika AutoHeight = True , ketinggian komponen akan dihitung dan diterapkan secara otomatis.
Komponen label sederhana yang terdiri dari 2 teks: kiri ( Caption properti) dan kanan (Properti RightCaption ).

Ruang antar teks dapat dimodifikasi menggunakan properti Spacing . Berdasarkan tjppdoublelinelabel .
Komponen edit yang berasal dari TCustomEdit .

Properti tambahan:
AnchoredControlsAppearance - Di sini Anda dapat mengatur latar belakang dan warna font untuk empat negara: normal, panas, fokus, dinonaktifkan.BoundLabel - Label InternalFlash - FlashColor , FlashCount , FlashInterval . Untuk mengaktifkan flashing, hubungi metode FlashBackground . Fungsi ini dapat digunakan untuk menunjukkan pengguna dengan nilai yang salah.ShowLabel - Label Show / Sembunyikan Bound.TagExt - Tag diperpanjang. Saat ini hanya untuk Delphi .
Mirip dengan TJppEdit , tetapi juga memiliki kemampuan untuk mendefinisikan warna perbatasan.
Metode menggambar perbatasan berdasarkan TFlatEdit dari paket flatstyle https://sourceforge.net/projects/flatstyle/

Keturunan TCustomMemo .
Properti tambahan:
AnchoredControlsAppearance - Di sini Anda dapat mengatur latar belakang dan warna font untuk empat negara: normal, panas, fokus, dinonaktifkan.BoundLabel - Label InternalFlash - FlashColor , FlashCount , FlashInterval . Untuk mengaktifkan flashing, hubungi metode FlashBackground . Fungsi ini dapat digunakan untuk menunjukkan pengguna dengan nilai yang salah.ShowLabel - Label Show / Sembunyikan Bound.Text - Akses Mudah ke Lines.TextTagExt - Tag diperpanjang. Mirip dengan TJppMemo , tetapi juga memiliki kemampuan untuk mendefinisikan warna perbatasan.
Metode Menggambar Perbatasan Berdasarkan TFlatMemo dari paket flatstyle https://sourceforge.net/projects/flatstyle/

TCheckBox standar dengan dukungan TagExt dan AnchoredControls .
TRadioButton standar dengan dukungan TagExt dan AnchoredControls .
TDateTimePicker standar dengan Dukungan BoundLabel , TagExt dan AnchoredControls .
Hanya windows
Lazarus dan Delphi X2 atau lebih baru.
Pemilih gaya GDI+ Hatch yang sangat dapat disesuaikan dengan BoundLabel dan AnchoredControls .

Kotak kombo yang sangat dapat disesuaikan dengan daftar gaya kuas.

Gaya saat ini dapat dibaca/diatur menggunakan properti Selected .
Nama tampilan gaya kuas dapat diubah di event handler OnGetDisplayName .
TJPPBrushstylecomboBox memiliki label bawaan ( BoundLabel ).
Kotak kombo yang sangat dapat disesuaikan dengan daftar gaya pena.

Gaya saat ini dapat dibaca/diatur menggunakan properti Selected .
Nama tampilan gaya pena dapat diubah di event handler OnGetDisplayName .
TJPPPENSTYLECOMBOX memiliki label bawaan ( BoundLabel ).
Komponen TTimer standar dengan beberapa properti dan metode tambahan:
RepeatCountLimit PROPERTI. Di sini Anda dapat mengatur berapa kali interval waktu yang ditentukan dalam properti Interval dapat dicapai. Nilai 0 berarti tidak ada batasan.Counter Properti. Setiap kali interval waktu yang ditentukan dalam properti Interval berakhir, properti Counter bertambah dengan 1. Ketika Counter mencapai nilai RepeatCountLimit , timer dihentikan dan event handler OnRepeatCountLimitReached dipicu (jika ditugaskan).ClearCounterOnStart . Jika diatur ke True , maka metode Start mengatur ulang Counter .Start . Set Enabled ke True . Jika ClearCounterOnStart diatur ke True maka Start menetapkan properti Counter ke 0 .Stop . Mengatur Enabled ke False .OnRepeatCountLimitReached - dipecat ketika Counter mencapai nilai RepeatCountLimit . Contoh: Menampilkan penghitung setiap detik. Tampilkan pesan setelah 10 detik dan matikan Timer .
procedure TForm1.FormCreate (Sender: TObject);
begin
JppTimer1.Interval := 1000 ;
JppTimer1.RepeatCountLimit := 10 ; // JppTimer1 will stop automatically after 10 seconds.
JppTimer1.Start;
end ;
procedure TForm1.JppTimer1Timer (Sender: TObject);
begin
Label1.Caption := JppTimer1.Counter.ToString;
end ;
procedure TForm1.JppTimer1RepeatCountLimitReached (Sender: TObject);
begin
ShowMessage( ' 10 seconds elapsed! ' );
end ; Komponen non-visual yang dapat menyimpan sejumlah gambar PNG. Dapat dikaitkan dengan komponen timage eksternal.
Tidak seperti timagelist , setiap gambar dapat memiliki ukuran yang berbeda. Gambar disimpan secara internal sebagai PNG, bukan bitmap, yang mengurangi ukuran file DFM. Tentu saja, dengan asumsi bahwa gambar PNG dikompresi.
Gambar PNG dapat ditambahkan dalam Inspektur Objek atau dalam kode menggunakan AddPngImage , AddImageFromFile atau Items.Insert .
...
var
Png: TPngImage;
begin
Png := TPngImage.Create;
try
Png.LoadFromFile( ' C:image.png ' );
JppPngCollection.AddPngImage(Png);
// OR
// JppPngCollection.AddPngImageFromFile('C:image.png');
finally
Png.Free;
end ;
end ; Metode AddPngImage menambahkan salinan gambar PNG, sehingga Anda bertanggung jawab untuk membebaskan objek Png dalam contoh di atas.
Untuk mengambil gambar PNG dari koleksi, Anda dapat menggunakan metode: GetPngImage , GetPngImageByName atau Items[Index].PngImage .
Ada properti tambahan yang terkait dengan setiap gambar PNG dalam koleksi:
Name : string;
Description: string;
Tag: integer;
Enabled: BooleanDan hanya membaca properti:
Width: integer;
Height: integer; Penting! Objek TPNGIMAGE dibuat secara otomatis saat membuat item koleksi. Jika Anda ingin memeriksa apakah ada item koleksi yang memiliki gambar PNG yang ditetapkan, Anda tidak dapat melakukannya dengan membandingkan dengan NIL . Anda harus menggunakan metode TPngImage.Empty :
// Improperly
if JppPngCollection.Items[ 0 ].PngImage <> nil then ... // <-- Always returns True // Properly
if not JppPngCollection.Items[ 0 ].PngImage.Empty then ... // OK, image assigned TJppStorageCtrl adalah komponen non-visual yang memungkinkan Anda untuk menyimpan informasi dari berbagai jenis dalam koleksi. Setiap item koleksi menyimpan data berikut:
Item dapat diakses dari Inspektur Objek menggunakan properti StorageCollection . Nilai setiap item koleksi, kecuali pointer, juga dapat diatur dalam inspektur objek . Nilai pointer hanya dapat diatur dalam kode dan mereka diinisialisasi secara default ke nil .
Untuk mengakses item pengumpulan dalam kode Anda dapat menggunakan properti Items , misalnya:
JppStorageCtrl.Items[ 0 ].IntValue1 := 1 ;
JppStorageCtrl.Items[ 0 ].PointerValue1 := SomePointer; Tapi, karena Items ditetapkan sebagai properti default , Anda dapat menulisnya dengan mudah:
JppStorageCtrl[ 0 ].IntValue1 := 1 ;
JppStorageCtrl[ 0 ].PointerValue1 := SomePointer;Komponen ini dapat bermanfaat jika Anda ingin memiliki akses ke beberapa data global, dan Anda tidak ingin membuat variabel global.
Saya terkadang menggunakan komponen ini pada tahap awal aplikasi penulisan. Pada tahap selanjutnya, cara yang pasti lebih baik untuk menyimpan dan mengelola data adalah dengan merancang catatan khusus, kelas, array, wadah generik/pointer, dll.
Komponen non-visual yang memungkinkan Anda untuk menyimpan pengumpulan string dengan data tambahan. Setiap item koleksi memiliki properti berikut:
ItemName: string;
Value : string;
Enabled: Boolean;
Tag: integer;Sebelum menginstal paket JPPack , Anda harus terlebih dahulu menginstal paket berikut:
Jika Anda telah menginstal komponen PNG menggunakan GetIt Package Manager , Anda mungkin harus mengubah nama PngComponents menjadi PngComponentsD di file jppack.dpk .
Di folder paket Anda dapat menemukan paket instalasi untuk semua versi Delphi dari Delphi 2009 hingga 10.4 Sydney . Buka subfolder dengan nama versi Delphi Anda (misalnya Delphi_XE7 untuk versi xe7) dan buka file JPPack.dproj atau JPPack.dpk . Di Project Manager , klik kanan file JPPack.bpl , lalu pilih Install di menu popup. Setelah waktu yang singkat, sebuah pesan akan muncul menampilkan informasi tentang instalasi paket yang benar dan dengan daftar komponen yang baru diinstal. Semua komponen yang dapat Anda temukan di halaman JPPack di palet alat .
Anda juga dapat menyusun paket untuk target Win64 .
Setelah menginstal paket, yang terbaik adalah menambahkan folder source ke jalur perpustakaan :
Tools Menu -> Options .Environment Options -> Delphi Options -> Library .; (titik koma) dan jalur ke direktori source . Pertama, instal paket JPLIB dari https://github.com/jackdp/jplib
Di windows, juga instal igdiplusmod dari https://github.com/jackdp/igdiplusmod
Buka file paket ( packagesLazarusjppacklcl.lpk ) di Lazarus IDE. Klik Button Compile Kemudian Use -> Install dan Bangun kembali IDE. Semua komponen yang dapat Anda temukan di halaman JPPackLCL di palet komponen .
Instal Paket JPLIB dari https://github.com/jackdp/jplib
Di windows, juga instal igdiplusmod dari https://github.com/jackdp/igdiplusmod
Buka file paket ( packagesCodeTyphonjppacklcl.ctpkg ) di Ide Typhon. Klik Compile package Tombol (Tombol 2-ND di Toolbar) lalu klik tombol 3-RD, pilih Install dan Bangun kembali IDE. Semua komponen yang dapat Anda temukan di halaman JPPackLCL di palet komponen .
Lisensi untuk pekerjaan saya: domain publik. Anda dapat melakukannya dengan kode saya apa pun yang Anda inginkan tanpa batasan apa pun.
Tetapi, di beberapa unit saya menggunakan kode dari proyek open source lainnya, jadi Anda harus melihat file sumber PAS dan lisensi penulis proyek ini untuk informasi lebih lanjut.