讀取fpc/lcl版本號等信息
直接給代碼
直接給代碼
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, LCLVersion, StdCtrls,LazConf; type { TVersionForm } TVersionForm = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private public end; var VersionForm: TVersionForm; implementation {$R unit1.lfm} { TVersionForm } procedure TVersionForm.FormCreate(Sender: TObject); begin Memo1.Clear; // check if lcl_version is declared, // then we know if there is support for lcl version information {$if declared(lcl_version)} Memo1.Append('Example which uses the lcl version information'); Memo1.Append(format('LCL Version: %s', [lcl_version])); Memo1.Append(format('LCL Major: %d', [lcl_major])); Memo1.Append(format('LCL Minor: %d', [lcl_minor])); Memo1.Append(format('LCL Release: %d', [lcl_release])); Memo1.Append(format('LCL Full Version: %d', [lcl_fullversion])); {$else} Memo1.Append('No lcl version information available'); {$endif} {$ifdef LCLQT5} Memo1.Append('QT5 widget set'); {$endif} {$ifdef LCLGTK3}Memo1.Append('GTK3 widget set'); {$endif} {$ifdef LCLGTK2}Memo1.Append('GTK2 widget set'); {$endif} Memo1.Append('CPU Target - ' + {$i %FPCTARGETCPU%}); Memo1.Append('Operating System - ' + {$i %FPCTARGETOS%}); Memo1.Append('FPCVERSION : ' + {$i %FPCVERSION%}); Memo1.Append('FPCDATE : ' + {$i %FPCDATE%}); Memo1.Append('Lazarus Version : ' + LazarusVersionStr); {$IFDEF LINUX} Memo1.Append('Desktop - ' + GetEnvironmentVariable('XDG_CURRENT_DESKTOP')); {$endif} end; end.
注意:
lazconf單元需要用到ideConfig這個依賴包:



浙公網安備 33010602011771號