Podrška za Free Pascal i Lazarus
HotXLS podržava Free Pascal 3.2.2 s Lazarus/LCL na Windows Win32 i Win64, uključujući API radnih knjiga XLS/XLSX, formule, oblikovanje, izravno strujanje, izvozne komponente TDataToXLS i TGridToXLS te pomoćnike za prikaz
Izgradnja i testiranje
Otvorite Lib/FPC/HotXLSLaz.lpk u Lazarusu i kompajlirajte runtime paket ili pokrenite ove naredbe iz HotXLS direktorija
build-FPC-Lib.cmd Win64
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win64
build-FPC-Lib.cmd Win32
Tests\Lazarus\Run-HotXLSLazarusSmoke.cmd Win32
Postavite LAZARUS_DIR za odabir instalacije; FPC_EXE i LAZBUILD_EXE mogu po potrebi odabrati izričit kompajler i graditelj paketa
Odabrana instalacija mora sadržavati FPC i kompajlirane LCL/LazUtils jedinice za ciljnu arhitekturu; izlazi i konfiguracija graditelja paketa čuvaju se u zasebnim direktorijima po arhitekturi
Postavljanje aplikacije
Dodajte Lib i Lib/FPC u putanju pretraživanja jedinica te Lib u putanju pretraživanja uključivanja, ili dodajte runtime paket kao ovisnost Lazarus projekta
Stavite Interfaces ispred HotXLS jedinica u uses popis aplikacije, uključujući konzolne aplikacije; to inicijalizira LCL widgetset i UTF-8 pretvorbu na RTL/LCL granicama
program WorkbookExample;
{$mode delphiunicode}
uses
Interfaces, SysUtils, lxHandleX;
var
Workbook: TXLSXWorkbook;
begin
Workbook:= TXLSXWorkbook.Create;
try
Workbook.AddSheet('Data');
Workbook.Sheets[1].Cells[1, 1].Value:= 'Hello';
if Workbook.SaveAs('example.xlsx')<> 1 then
raise Exception.Create('Workbook save failed');
finally
Workbook.Free;
end;
end.
Koristite {$mode delphiunicode} da semantika nizova odgovara Delphiju; drugi Pascal načini također rade ako prilagodite kod. Za konzolne aplikacije jedinica Interfaces i dalje je potrebna u istom redoslijedu
Pojedinosti kompatibilnosti
- Izvršni paket zahtijeva Windows i LCL;
TDataToXLSizvozi LCL skupove podataka, aTGridToXLSizvoziTDBGrid, sa ili bez eksplicitnih stupaca, dok su Linux, macOS, VCL demo obrasci, VCL preglednik radnih knjiga i DevExpress prilagodnik mreže izvan ovog paketa - ZIP i kompresijski tokovi koriste uključeni Pascal backend i ne zahtijevaju zasebnu zlib DLL datoteku
- AES koristi Pascal backend za obje arhitekture, uključujući XLSX datoteke zaštićene lozinkom
- PNG zadržava alfa kanal, EMF koristi Windows metafile snimanje i reprodukciju, a višestranični TIFF koristi Windows GDI+ runtime
- Izravno čitanje teksta prihvaća UTF-8 i UTF-16/UTF-32 s BOM-om, podržava strujani ulaz i zadržava vlasništvo nad tokom pozivatelja
- Inicijalizirajte
TXlsCsvImportOptionssTXlsCsvImportOptions.Defaultprije izmjene pojedinačnih polja - FPC izrazi izvještaja i obrasci uvoza koriste Unicode
URegExprsintaksu umjesto Delphi PCRE backenda. Prazan ulaz daje isti odgovor koji dajeTRegEx: obrazac koji prihvaća prazan niz, poput^$ili.*, podudara se s njim, dok se[0-9]+ne podudara, a zamjena praznog niza daje tekst zamjene samo kada obrazac prihvaća prazan niz; nepodržani i prazni obrasci podižuERegularExpressionError, koji izrazi izvještaja izlažu kaoREPORT_EXPRESSION_INVALID_REGEX