lazparadox: added package for paradox databases - needs fpc 2.3.1 from Michael VC

git-svn-id: trunk@13916 -
This commit is contained in:
mattias 2008-01-29 22:39:45 +00:00
parent 07978ee092
commit 1ac76f04fe
13 changed files with 610 additions and 0 deletions

12
.gitattributes vendored
View File

@ -361,6 +361,17 @@ components/images/laztga.pas svneol=native#text/pascal
components/images/lazxpm.pas svneol=native#text/pascal
components/images/readme.txt svneol=native#text/plain
components/images/registerimg4laz.pas svneol=native#text/plain
components/lazparadox/README svneol=native#text/plain
components/lazparadox/demo/frmmain.lfm svneol=native#text/plain
components/lazparadox/demo/frmmain.lrs svneol=native#text/plain
components/lazparadox/demo/frmmain.pp svneol=native#text/plain
components/lazparadox/demo/testparadox.lpi svneol=native#text/plain
components/lazparadox/demo/testparadox.lpr svneol=native#text/plain
components/lazparadox/lazparadox.lpk svneol=native#text/plain
components/lazparadox/lazparadox.pas svneol=native#text/plain
components/lazparadox/regparadox.lrs svneol=native#text/plain
components/lazparadox/regparadox.pp svneol=native#text/plain
components/lazparadox/tparadox.png -text svneol=unset#image/png
components/lazreport/doc/contributors.txt svneol=native#text/plain
components/lazreport/doc/cvs2cl.pl -text svneol=unset#application/x-perl
components/lazreport/doc/firststeps.odt -text
@ -3370,6 +3381,7 @@ packager/globallinks/lazcustomform-0.lpl svneol=native#text/plain
packager/globallinks/lazdaemon-0.lpl svneol=native#text/plain
packager/globallinks/lazdatadict-0.lpl svneol=native#text/plain
packager/globallinks/lazopenglcontext-0.lpl svneol=native#text/plain
packager/globallinks/lazparadox-0.lpl svneol=native#text/plain
packager/globallinks/lazreport-0.9.5.lpl svneol=native#text/plain
packager/globallinks/lazthread-0.lpl svneol=native#text/plain
packager/globallinks/macosfiles-0.lpl svneol=native#text/plain

View File

@ -0,0 +1,14 @@
This package installs Paradox support in the lazarus IDE:
TParadox (Data Access Tab) is a TDataset descendent that enables you to open
and see Paradox tables. It has support for Blobs and Graphics. There is no
need to have the BDE from Borland (Codegear) installed, you do need the
PXlib library, which you can download from Sourceforge:
http://pxlib.sourceforge.net/
TParadox itself is in the Free Pascal fcl-db package (2.3.1 +).
Enjoy !

View File

@ -0,0 +1,78 @@
object MainForm: TMainForm
Left = 430
Height = 535
Top = 226
Width = 790
HorzScrollBar.Page = 789
VertScrollBar.Page = 534
Caption = 'Paradox test program'
ClientHeight = 535
ClientWidth = 790
object Label1: TLabel
Left = 8
Height = 13
Top = 18
Width = 72
Caption = 'Paradox File'
ParentColor = False
end
object FEPX: TFileNameEdit
Left = 88
Height = 23
Top = 10
Width = 582
DialogTitle = 'Select paradox file to open'
Filter = 'Paradox files|*.db|All files|*.*'
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
ParentColor = False
TabOrder = 0
end
object Button1: TButton
Left = 702
Height = 25
Top = 8
Width = 75
Anchors = [akTop, akRight]
Caption = '&Open'
OnClick = Button1Click
TabOrder = 1
end
object DBNavigator1: TDBNavigator
Left = 8
Height = 25
Top = 40
Width = 241
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 241
DataSource = DSPDX
end
object DBGrid1: TDBGrid
Left = 8
Height = 461
Top = 72
Width = 769
Anchors = [akTop, akLeft, akRight, akBottom]
DataSource = DSPDX
FixedColor = clBtnFace
FixedHotColor = cl3DLight
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn]
ParentColor = False
TabOrder = 2
TabStop = True
end
object DSPDX: TDatasource
DataSet = PDX
left = 264
top = 40
end
object PDX: TParadox
PXLibrary = 'libpx.so.0'
FieldDefs = <>
left = 304
top = 40
end
end

View File

@ -0,0 +1,28 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TMainForm','FORMDATA',[
'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#174#1#6'Height'#3#23#2#3'Top'#3#226
+#0#5'Width'#3#22#3#18'HorzScrollBar.Page'#3#21#3#18'VertScrollBar.Page'#3#22
+#2#7'Caption'#6#20'Paradox test program'#12'ClientHeight'#3#23#2#11'ClientWi'
+'dth'#3#22#3#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'Height'#2#13#3'Top'#2#18#5
+'Width'#2'H'#7'Caption'#6#12'Paradox File'#11'ParentColor'#8#0#0#13'TFileNam'
+'eEdit'#4'FEPX'#4'Left'#2'X'#6'Height'#2#23#3'Top'#2#10#5'Width'#3'F'#2#11'D'
+'ialogTitle'#6#27'Select paradox file to open'#6'Filter'#6' Paradox files|*.'
+'db|All files|*.*'#11'ButtonWidth'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#0#11'ParentColor'#8#8'TabOrder'#2#0#0#0#7'TButton'
+#7'Button1'#4'Left'#3#190#2#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#7'Anchor'
+'s'#11#5'akTop'#7'akRight'#0#7'Caption'#6#5'&Open'#7'OnClick'#7#12'Button1Cl'
+'ick'#8'TabOrder'#2#1#0#0#12'TDBNavigator'#12'DBNavigator1'#4'Left'#2#8#6'He'
+'ight'#2#25#3'Top'#2'('#5'Width'#3#241#0#10'BevelOuter'#7#6'bvNone'#12'Clien'
+'tHeight'#2#25#11'ClientWidth'#3#241#0#10'DataSource'#7#5'DSPDX'#0#0#7'TDBGr'
+'id'#7'DBGrid1'#4'Left'#2#8#6'Height'#3#205#1#3'Top'#2'H'#5'Width'#3#1#3#7'A'
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'DataSource'#7#5'D'
+'SPDX'#10'FixedColor'#7#9'clBtnFace'#13'FixedHotColor'#7#9'cl3DLight'#7'Opti'
+'ons'#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgCo'
+'lumnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwaysShowSelection'
+#15'dgConfirmDelete'#14'dgCancelOnExit'#0#12'OptionsExtra'#11#14'dgeAutoColu'
+'mns'#17'dgeCheckboxColumn'#0#11'ParentColor'#8#8'TabOrder'#2#2#7'TabStop'#9
+#0#0#11'TDatasource'#5'DSPDX'#7'DataSet'#7#3'PDX'#4'left'#3#8#1#3'top'#2'('#0
+#0#8'TParadox'#3'PDX'#9'PXLibrary'#6#10'libpx.so.0'#9'FieldDefs'#14#0#4'left'
+#3'0'#1#3'top'#2'('#0#0#0
]);

View File

@ -0,0 +1,50 @@
unit frmmain;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, EditBtn,
StdCtrls, DbCtrls, DBGrids, db, paradox, ExtCtrls;
type
{ TMainForm }
TMainForm = class(TForm)
Button1: TButton;
DSPDX: TDatasource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
FEPX: TFileNameEdit;
Label1: TLabel;
PDX: TParadox;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
MainForm: TMainForm;
implementation
{ TMainForm }
procedure TMainForm.Button1Click(Sender: TObject);
begin
PDX.Close;
PDX.FileName:=FEPX.FileName;
PDX.Open;
end;
initialization
{$I frmmain.lrs}
end.

View File

@ -0,0 +1,215 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="6"/>
<General>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
<Language Value=""/>
<CharSet Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="lazparadox"/>
<MinVersion Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
<Item3>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item3>
</RequiredPackages>
<Units Count="18">
<Unit0>
<Filename Value="testparadox.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="testparadox"/>
<CursorPos X="7" Y="8"/>
<TopLine Value="1"/>
<UsageCount Value="31"/>
</Unit0>
<Unit1>
<Filename Value="frmmain.pp"/>
<ComponentName Value="MainForm"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="frmmain.lrs"/>
<UnitName Value="frmmain"/>
<CursorPos X="3" Y="42"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="31"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="paradox.pp"/>
<UnitName Value="paradox"/>
<CursorPos X="14" Y="717"/>
<TopLine Value="706"/>
<UsageCount Value="15"/>
</Unit2>
<Unit3>
<Filename Value="../../../../../../fpc/packages/base/pxlib/pxlib.pp"/>
<UnitName Value="pxlib"/>
<CursorPos X="1" Y="481"/>
<TopLine Value="456"/>
<UsageCount Value="15"/>
</Unit3>
<Unit4>
<Filename Value="../../../base/pxlib/ppxview.pp"/>
<UnitName Value="ppxview"/>
<CursorPos X="1" Y="135"/>
<TopLine Value="110"/>
<UsageCount Value="15"/>
</Unit4>
<Unit5>
<Filename Value="../../../../../../fpc/html/contrib/db.pp"/>
<UnitName Value="db"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="9"/>
</Unit5>
<Unit6>
<Filename Value="../base/db.pas"/>
<UnitName Value="db"/>
<CursorPos X="24" Y="812"/>
<TopLine Value="778"/>
<UsageCount Value="15"/>
</Unit6>
<Unit7>
<Filename Value="../base/fields.inc"/>
<CursorPos X="3" Y="2432"/>
<TopLine Value="2429"/>
<UsageCount Value="15"/>
</Unit7>
<Unit8>
<Filename Value="../memds/memds.pp"/>
<UnitName Value="memds"/>
<CursorPos X="1" Y="465"/>
<TopLine Value="438"/>
<UsageCount Value="15"/>
</Unit8>
<Unit9>
<Filename Value="../dbase/dbf.pas"/>
<UnitName Value="dbf"/>
<CursorPos X="3" Y="731"/>
<TopLine Value="722"/>
<UsageCount Value="15"/>
</Unit9>
<Unit10>
<Filename Value="../../../../../../projects/lazarus/components/sdf/registersdf.pas"/>
<UnitName Value="RegisterSDF"/>
<CursorPos X="22" Y="25"/>
<TopLine Value="1"/>
<UsageCount Value="15"/>
</Unit10>
<Unit11>
<Filename Value="../../../../../../projects/lazarus/lcl/lclproc.pas"/>
<UnitName Value="LCLProc"/>
<CursorPos X="26" Y="789"/>
<TopLine Value="777"/>
<UsageCount Value="15"/>
</Unit11>
<Unit12>
<Filename Value="../../../../../../projects/lazarus/lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<CursorPos X="3" Y="1600"/>
<TopLine Value="1593"/>
<UsageCount Value="14"/>
</Unit12>
<Unit13>
<Filename Value="../base/dataset.inc"/>
<CursorPos X="21" Y="501"/>
<TopLine Value="473"/>
<UsageCount Value="15"/>
</Unit13>
<Unit14>
<Filename Value="../../../../../../projects/lazarus/lcl/include/dbmemo.inc"/>
<CursorPos X="1" Y="230"/>
<TopLine Value="195"/>
<UsageCount Value="11"/>
</Unit14>
<Unit15>
<Filename Value="../../../../../../projects/lazarus/lcl/include/dbimage.inc"/>
<CursorPos X="1" Y="167"/>
<TopLine Value="141"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="../../../../../../projects/lazarus/lcl/dbctrls.pp"/>
<UnitName Value="DbCtrls"/>
<CursorPos X="25" Y="600"/>
<TopLine Value="575"/>
<UsageCount Value="10"/>
</Unit16>
<Unit17>
<Filename Value="../../../../../../projects/lazarus/lcl/include/bitmap.inc"/>
<CursorPos X="1" Y="595"/>
<TopLine Value="570"/>
<UsageCount Value="10"/>
</Unit17>
</Units>
<JumpHistory Count="3" HistoryIndex="2">
<Position1>
<Filename Value="frmmain.pp"/>
<Caret Line="30" Column="1" TopLine="8"/>
</Position1>
<Position2>
<Filename Value="frmmain.pp"/>
<Caret Line="18" Column="22" TopLine="8"/>
</Position2>
<Position3>
<Filename Value="frmmain.pp"/>
<Caret Line="42" Column="3" TopLine="1"/>
</Position3>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<OtherUnitFiles Value="/home/michael/fpc/packages/base/pxlib/;/home/michael/fpc/packages/fcl-db/src/paradox/"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="2">
<Item1>
<Name Value="ECodetoolError"/>
</Item1>
<Item2>
<Name Value="EFOpenError"/>
</Item2>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,18 @@
program testparadox;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms
{ you can add units after this }, frmmain, lazparadox;
begin
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.

View File

@ -0,0 +1,52 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="3">
<Name Value="lazparadox"/>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<OtherUnitFiles Value="/home/michael/fpc/packages/pxlib/src/;/home/michael/fpc/packages/fcl-db/src/paradox/"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Files Count="2">
<Item1>
<Filename Value="paradox.pp"/>
<AddToUsesPkgSection Value="False"/>
<Type Value="Virtual Unit"/>
<UnitName Value="paradox"/>
</Item1>
<Item2>
<Filename Value="regparadox.pp"/>
<HasRegisterProc Value="True"/>
<UnitName Value="regparadox"/>
</Item2>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="3">
<Item1>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
<Item3>
<PackageName Value="IDEIntf"/>
</Item3>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@ -0,0 +1,21 @@
{ This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
}
unit lazparadox;
interface
uses
regparadox, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('regparadox', @regparadox.Register);
end;
initialization
RegisterPackage('lazparadox', @Register);
end.

View File

@ -0,0 +1,29 @@
LazarusResources.Add('TParadox','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
+#0#0#9'pHYs'#0#0#11#19#0#0#11#19#1#0#154#156#24#0#0#2'2IDATH'#137#181#149#203
+'k'#19'Q'#20#198''#183#150#132'Jk'#6#237'$'#8'j1PH1'#137'd'#161#16'D'#2#138
+'+u='#130't'#217#149''#128#130#139#174#186'p'#167#224#174#238'$'#232'Vp-'#25
+#181'(R($'#21#10#149#250#234#3'c)'#137'}'#144#196#166#199'E'#218#204'd'#30'y'
+'h'#253#224#194#189#231#220#243'}'#231'1'#151'Q"'#194#255'D'#191#211#240#252
+#205#154'L'#191'\'#242#188'<q#'#202#173#203'''U/'#2#234#160#2';'#241#163';'
+#231#137#159#25'd'#254#219#22#197'R'#149'b'#185'F'#177'T'#229#197#219#149#158
+#133#154#2'W'#239#206'Hr'#244'8g#'#3#196'G'#134#8'k'#193#22#242'b'#185#198'v'
+#165#206'Ve'#151''''#203'I'#139'!'#197#130#24'2'#230''''#208'lQ'#244#244'1'
+#242#139#27#228#23'!'#172'E'#1'\'#228#249#197#13#0#130'G4'#170#215'K'#176#12
+#204#17'S'#168'M1d'#168#173#0'@:'#161#19#14#5#240#155'A:'#161#179']'#169#243
+#254's'#176'a8'#181#239#152'cP'#161'v'#196#144#163#190#2'K'#223''#17#209't'
+#0#238#223#142'q%y'#194'5'#131'b'#185'F'#160'_'#177'S'#255'a1X"'#3#10'U'#16
+'C'#18#190'-'#250#240'q'#157#250#158#16#31#137'yV'#240#174#240#179#177'q'#142
+#215#18#137'+'#212'S1d'#220'%'#0'p'#241#220'0'#225'P'#128#169#236#2'SY'#183
+'@:'#161#211#167#20#175#10#14'Gc'#22#144#226#147#157#188'E'#160#219#22#185'`'
+#145'W'#196#144'Q'#167#251#223'Zd'#145#175#139'!'#186'WL'#243#29'L<.HD'#11#18
+#14#5#154#15#202#137'tB'#167#250'{'#143#236#151'q'#214#170#179#179#192'0)'
+#230#197#144#155#158#1#246#10#190#174'l'#18#209#26#159'_'#187#22#237#214#133
+#177#202'CV'#31'\'#186#224'G'#218#2#17'ADx'#246'zU'#174#221#155#217'?'#29#210
+#18#177'Zd5'#13'11'#187'J'#174#29'r'#228#152#148'I'#213#231'w!#'#153#230#242
+#178#219#207'N'#191#29#190#2#0#166'21'#149#233#10#178#219#236#251#140'd0Uk'
+#245#174#255#129'W6'#206' '#175'D'#188#200#187#174#160#19#14#200#157#149'v'
+#20#232'D'#232#220'{'#137#248#182#200'/s'#167#189#211#217'S G'#206'O'#183'g'
+#184#223#193'!'#227#175'f'#208#11#254#0#252#214'w'#176#234#8#26#134#0#0#0#0
+'IEND'#174'B`'#130
]);

View File

@ -0,0 +1,92 @@
{ **********************************************************************
Register the Paradox component
Copyright (C) 2008, Michael Van Canneyt michael@freepascal.org
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit regparadox;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, propedits, lresources, LazarusPackageIntf, paradox;
Type
TParadoxFileNamePropertyEditor=class(TFileNamePropertyEditor)
protected
function GetFilter: String; override;
function GetInitialDirectory: string; override;
end;
TParadoxBlobFileNamePropertyEditor=class(TFileNamePropertyEditor)
protected
function GetFilter: String; override;
function GetInitialDirectory: string; override;
end;
procedure register;
implementation
Resourcestring
SParadoxFiles = 'Paradox files';
SParadoxBlobFiles = 'Interbase databases';
{ TParadoxFileNamePropertyEditor }
function TParadoxFileNamePropertyEditor.GetFilter: String;
begin
Result := SParadoxFiles+' (*.db)|*.db';
Result:= Result+ '|'+ inherited GetFilter;
end;
function TParadoxFileNamePropertyEditor.GetInitialDirectory: string;
begin
Result:= (GetComponent(0) as TParadox).FileName;
Result:= ExtractFilePath(Result);
end;
{ TParadoxBlobFileNamePropertyEditor }
function TParadoxBlobFileNamePropertyEditor.GetFilter: String;
begin
Result := SParadoxBlobFiles+' (*.bm)|*.bm';
Result:= Result+ '|'+ inherited GetFilter;
end;
function TParadoxBlobFileNamePropertyEditor.GetInitialDirectory: string;
begin
Result:= (GetComponent(0) as TParadox).BlobFileName;
Result:= ExtractFilePath(Result);
end;
procedure registerunitparadox;
begin
Registercomponents('Data Access',[TParadox]);
end;
procedure register;
begin
RegisterPropertyEditor(TypeInfo(AnsiString),
TParadox, 'FileName', TParadoxFileNamePropertyEditor);
RegisterPropertyEditor(TypeInfo(AnsiString),
TParadox, 'BlobFileName', TParadoxBlobFileNamePropertyEditor);
RegisterUnit('paradox',@RegisterUnitParadox);
end;
initialization
{$i regparadox.lrs}
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

View File

@ -0,0 +1 @@
$(LazarusDir)/components/lazparadox/lazparadox.lpk