Lazarus’ nuttig voorbeeld [in bewerking]
Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld
Ik zag een voorbeeld over barcodes maken, meer bepaald Quick Response (QR) Codes:
http://lazplanet.gitlab.io/2021/12/generate-qr-codes.html .
Dat lijkt me nuttig als het gekoppeld kan worden aan een database. (Voordien heb ik het voorbeeld van een knop op een Form gemaakt, en .. nog geen andere).
Dit is tevens een voorbeeld van het gebruiken van een (externe) library in Lazarus; hier LazBarcodes.
– waarvan je de code moet afhalen van sourceforge in de vorm van een .zip bestand.
– ze uitpakken en gebruiken in Lazarus.
Dat kan op twee manieren:
– (systemwide) opnemen als een component in de Lazarus toolbar (Lazarus terug compileren).
– in je project directory opnemen:
* maak een nieuw project, bewaar het in een nieuwe directory (bewaar ook de Unit?)
* in die nieuwe directory (staat nu unit1.pas/frm, GenerateQR.lps/lpr/lpi/ico en een backup directory, maak een “libs” directory bij.
Daarin pak je de download uit (wordt bv “lazarus-cc-svn-r10029-components-lazbarcodes”), en je geeft die een eenvoudigere naam, bv lazbarcodes.
Dan zo je nu dus een README.txt file moeten kunnen vinden in iets als /home/myuser/dev/LazarusFps/GenerateQR/libs/README.txt.
In je project:
– Project, Project Options (interessant scherm met o.a. het icoon van het project)
– verder: Compiler options, Paths, Other Unit Files.
Vul daar in (of kies): libs/lazbarcodes/src en “ok”.
Dan in code view onder “uses”, zet ubarcodes.
Onder var een variabele toevoegen voor de TBarcodeQR component-object:
var
…
QR: TBarcodeQR;
En in de form komt iets als:
procedure TForm1.FormCreate(Sender: TObject);
begin
try
QR := TBarcodeQR.Create(nil);
with QR do begin
Parent := Form1;
Top := 0;
Left := 0;
SetBounds(0, 40, 300, 300);
Text := Memo1.Text;
Show;
end;
finally
end;
end;
Via dubbelklik op form en
Events – OnDestroy in de object inspector:
procedure TForm1.FormDestroy(Sender: TObject);
begin
if QR <> nil then QR.Free;
end;
Maak een TMemo op deform en zet tekst in de eigenschap Lines “Type anything here to generate a QR Code…“ en dubbelklik om de code toe te voegen:
procedure TForm1.Edit1Change(Sender: TObject);
begin
QR.Text := Memo1.Text;
end;
En dan komt het moment (*) van de beloning; “Run”, en een QR code op het scherm.
* of niet. Bij mij komt er een foutmelding in een tabblad “ubarcodes” op uses …, zint, udrawers;
ubarcodes.pas(9,3)Fatal:Cannot find zint used by ubarcodes
Zie ook Lazarus op Linux, Lazarus gebruik en Lazarus’ nuttig voorbeeld
Pogingen om het op te lossen zijn voorlopig niet gelukt….
(meer…)












