
Delphi and C++ Builder VCL community is so big that you can find a various set of libraries, functions and non-visual classes which can be instantly reused by developers.
One of the popular libraries is the JEDI Code Library (JCL) – The library is built upon code donated from the JEDI community. It is fully documented and fully tested. The library is grouped into several categories such as Strings, Files, Security, Math, IO, and many more.
JEDI Code Library is available on the GetIt package manager. And it is easy to download and install to your RAD Studio.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
uses JclFileUtils, JclStrings, JclSysUtils; { TForm1 } procedure TForm1.FileListBox1Change(Sender: TObject); var FileName: TFileName; I: Integer; begin FileName := FileListBox1.FileName; Memo1.Lines.BeginUpdate; try Memo1.Lines.Clear; if VersionResourceAvailable(FileName) then with TJclFileVersionInfo.Create(FileName) do try for I := 0 to LanguageCount - 1 do begin LanguageIndex := I; Memo1.Lines.Add(Format('[%s] %s', [LanguageIds[I], LanguageNames[I]])); Memo1.Lines.Add(StringOfChar('-', 80)); Memo1.Lines.AddStrings(Items); Memo1.Lines.Add(BinFileVersion); Memo1.Lines.Add(OSIdentToString(FileOS)); Memo1.Lines.Add(OSFileTypeToString(FileType, FileSubType)); Memo1.Lines.Add(''); end; Memo1.Lines.Add('Translations:'); for I := 0 to TranslationCount - 1 do Memo1.Lines.Add(VersionLanguageId(Translations[I])); Memo1.Lines.Add(BooleanToStr(TranslationMatchesLanguages)); finally Free; end; finally Memo1.Lines.EndUpdate; end; end; |
Be sure to head over and check out the JEDI Code Library on the GetIt portal and download it from the IDE

Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
Does it fully support Unicode strings..?
It supports Unicode, but JEDI is huge, so to say it “fully supports Unicode” may be a difficult claim to make.