12/6/2026

Lazarus’ nuttig voorbeeld [in bewerking]

Filed under: — cybrarian @ 1:42 pm

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…)

Powered by WordPress