Author: losLab

Home / Author: losLab

Universal Office Converter (unoconv) is an open-source command-line tool to convert any document format that LibreOffice can import to any document format that LibreOffice can export. It makes use of the LibreOffice’s UNO bindings for non-interactive conversion of documents.

The project has no Windows package download, We build a native Windows exe and bundled LibreOffice into one ready to run package.

You can download our Windows build of unoconv from here:

Delphi 5 TDateTimePicker Format

April 9, 2019 | Delphi Programming | No Comments

During add Delphi 5 compatibility to the Purchase Order calculation sample of HotXLS Delphi Excel Spreadsheet component, an error occurred while compiling under Delphi 5.

The line which set the date format of the TDateTimePicker control does not compile:

TDateTimePicker control of Delphi is a wrapper around a Microsoft control. It allows you to show the date in one of two formats (long and short), but in Delphi 5 and lower, it did not allow you to change the DateTime format. That’s because it uses the Windows date and time settings, not Delphi’s internal format variables like “ShortDateFormat”.

In Delphi 6 and later, you can use the Format property to change the display of date or time.

In Delphi 5 and earlier, you should use the DateTime_SetFormat function to set the format, this function in the “CommCtrl” unit, you should add CommCtrl to the “USES” column, otherwise, the DateTime_SetFormat won’t be recognized.

The fix for our sample project looks like this:

Above is a Delphi inline asm version of the ftol (Floating Point to Integer Conversion) function used by our HotPDF Delphi PDF component.

When compiling above Delphi codes in the 64-bit target platform, Delphi will raise below error:
[dcc64 Error] E1025 Unsupported language feature: ‘ASM’

The reason is: The 64-bit Delphi compiler DCC64 does not support mixed Pascal/assembly code.
DCC64.EXE supports 64-bit assembly code, but the routines must be written completely in assembler.

In addition, the 64-bit asm codes have many different than the 32-bit ones, you can not copy the 32-bit asm codes to the 64-bit assembler routines directly, you must re-write them from scratch, I found below codes from the internet:

But maybe we do not really need assembly this routine,

The trunc function of Delphi just returns the integer part of a floating point number, that’s the conversion from floating point to integer. The speed of this version should be not bad.

When using Delphi XE2 or above editions to compile coeds likes below:

The compiler says: E2010 Incompatible types: ‘tagLOGBRUSH’ and ‘tagLOGBRUSH32’.

The solution to fix this compiling error is:

This example shows you how to programmatically New and Free a HotPDF object instance with C++Builder.

You need to set the include & library path of the project to the directory where HotPDF library files exist.

HotPDF Canvas Draw

February 21, 2019 | PDF Software | No Comments

This HotPDF Component Sample draw plots with Delphi TCanvas.

HotPDF Table To PDF

January 31, 2019 | PDF Software | No Comments

HotPDF Component Database Table To PDF sample

HotPDF Chart Sample

January 31, 2019 | PDF Software | No Comments

This HotPDF Component example show charts in PDF document using TeeChart.

HotPDF Barcode Sample

January 31, 2019 | PDF Software | No Comments

This HotPDF Component example generates barcode within PDF for 22 popular types.

HotPDF Hyperlink Sample

January 31, 2019 | PDF Software | No Comments

This HotPDF Component Sample adds clickable hyperlinks into PDF document.