RxFPC - fix version 2.2 for Lazarus 1.2

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3868 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2015-01-06 05:42:18 +00:00
parent 2c81897ffc
commit 218ee092dd
340 changed files with 84751 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,142 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<MainUnit Value="0"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<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="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="rxnew"/>
<MinVersion Major="1" Minor="2" Release="2" Build="103" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPackages>
<Units Count="6">
<Unit0>
<Filename Value="AutoSortDemo.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="AutoSortDemo"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="20"/>
<UsageCount Value="20"/>
</Unit0>
<Unit1>
<Filename Value="asdmainunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="asdMainUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="22"/>
<CursorPos X="20" Y="39"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxsortmemds.pas"/>
<UnitName Value="rxsortmemds"/>
<TopLine Value="24"/>
<CursorPos X="69" Y="52"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<TopLine Value="1393"/>
<CursorPos X="1" Y="1410"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<TopLine Value="671"/>
<CursorPos X="1" Y="688"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
<UnitName Value="rxmemds"/>
<TopLine Value="1329"/>
<CursorPos X="1" Y="1346"/>
<UsageCount Value="10"/>
</Unit5>
</Units>
<JumpHistory Count="0" HistoryIndex="-1"/>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsGlobal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Line Value="741"/>
</Item1>
</BreakPoints>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,41 @@
{ Demo application from RXFPC
Copyright (C) 2009 Lagunov Aleksey (alexs75@hotbox.ru)
This source is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This code 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. See the GNU General Public License for more
details.
A copy of the GNU General Public License is available on the World Wide Web
at <http://www.gnu.org/copyleft/gpl.html>. You can also obtain it by writing
to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
}
program AutoSortDemo;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
rxsortmemds, //Include this unit for use auto sort data in TRxMemoryData with RxDBGrid
asdMainUnit;
{$IFDEF WINDOWS}{$R AutoSortDemo.rc}{$ENDIF}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -0,0 +1,7 @@
#define RT_MANIFEST 24
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "AutoSortDemo.manifest"
MAINICON ICON "AutoSortDemo.ico"

View File

@ -0,0 +1,146 @@
object Form1: TForm1
Left = 366
Height = 524
Top = 217
Width = 780
Caption = 'Auto sort demo'
ClientHeight = 524
ClientWidth = 780
OnCreate = FormCreate
LCLVersion = '0.9.27'
object RxDBGrid1: TRxDBGrid
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 456
Top = 62
Width = 768
TitleButtons = True
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 88
FieldName = 'ID'
Filter.DropDownRows = 0
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 350
FieldName = 'NAME'
Filter.DropDownRows = 0
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Width = 100
FieldName = 'DATE_ENTER'
Filter.DropDownRows = 0
Filter.ItemIndex = -1
end>
OptionsRx = []
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = Datasource1
ParentColor = False
TabOrder = 0
TitleStyle = tsNative
end
object CheckBox1: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 22
Top = 34
Width = 104
BorderSpacing.Around = 6
Caption = 'Title buttons'
OnChange = CheckBox2Change
TabOrder = 1
end
object CheckBox2: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 22
Top = 6
Width = 84
BorderSpacing.Around = 6
Caption = 'Auto sort'
OnChange = CheckBox2Change
TabOrder = 2
end
object RxMemoryData1: TRxMemoryData
AutoCalcFields = False
FieldDefs = <
item
Name = 'ID'
DataType = ftInteger
Precision = -1
Size = 0
end
item
Name = 'NAME'
DataType = ftString
Precision = -1
Size = 100
end
item
Name = 'DATE_ENTER'
DataType = ftDate
Precision = -1
Size = 0
end>
left = 192
top = 16
object RxMemoryData1ID: TLongintField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object RxMemoryData1NAME: TStringField
DisplayWidth = 100
FieldKind = fkData
FieldName = 'NAME'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 100
end
object RxMemoryData1DATE_ENTER: TDateField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'DATE_ENTER'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
end
object Datasource1: TDatasource
DataSet = RxMemoryData1
left = 152
top = 16
end
end

View File

@ -0,0 +1,46 @@
{ Это - файл ресурсов, автоматически созданный lazarus }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'n'#1#6'Height'#3#12#2#3'Top'#3#217#0#5'Wi'
+'dth'#3#12#3#7'Caption'#6#14'Auto sort demo'#12'ClientHeight'#3#12#2#11'Clie'
+'ntWidth'#3#12#3#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.27'#0#9
+'TRxDBGrid'#9'RxDBGrid1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSide'
+'Top.Control'#7#9'CheckBox1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anchor'
+'SideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'An'
+'chorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#3#200#1#3'Top'#2'>'#5'Width'#3#0#3#12'TitleButtons'#9
+#8'AutoSort'#9#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#17'Title.Or'
+'ientation'#7#12'toHorizontal'#5'Width'#2'X'#9'FieldName'#6#2'ID'#19'Filter.'
+'DropDownRows'#2#0#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'ta'
+'Center'#17'Title.Orientation'#7#12'toHorizontal'#5'Width'#3'^'#1#9'FieldNam'
+'e'#6#4'NAME'#19'Filter.DropDownRows'#2#0#16'Filter.ItemIndex'#2#255#0#1#15
+'Title.Alignment'#7#8'taCenter'#17'Title.Orientation'#7#12'toHorizontal'#5'W'
+'idth'#2'd'#9'FieldName'#6#10'DATE_ENTER'#19'Filter.DropDownRows'#2#0#16'Fil'
+'ter.ItemIndex'#2#255#0#0#9'OptionsRx'#11#0#7'Anchors'#11#5'akTop'#6'akLeft'
+#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#10'FocusColor'#7#5'cl'
+'Red'#13'SelectedColor'#7#11'clHighlight'#13'GridLineStyle'#7#7'psSolid'#10
+'DataSource'#7#11'Datasource1'#11'ParentColor'#8#8'TabOrder'#2#0#10'TitleSty'
+'le'#7#8'tsNative'#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.Control'#7
+#5'Owner'#21'AnchorSideTop.Control'#7#9'CheckBox2'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'"'#5'Width'#2'h'#20'BorderSp'
+'acing.Around'#2#6#7'Caption'#6#13'Title buttons'#8'OnChange'#7#15'CheckBox2'
+'Change'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox2'#22'AnchorSideLeft.Con'
+'trol'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2#6#6'Height'
+#2#22#3'Top'#2#6#5'Width'#2'T'#20'BorderSpacing.Around'#2#6#7'Caption'#6#9'A'
+'uto sort'#8'OnChange'#7#15'CheckBox2Change'#8'TabOrder'#2#2#0#0#13'TRxMemor'
+'yData'#13'RxMemoryData1'#14'AutoCalcFields'#8#9'FieldDefs'#14#1#4'Name'#6#2
+'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#0#0#1#4'Name'#6
+#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#2'd'#0#1#4'Nam'
+'e'#6#10'DATE_ENTER'#8'DataType'#7#6'ftDate'#9'Precision'#2#255#4'Size'#2#0#0
+#0#4'left'#3#192#0#3'top'#2#16#0#13'TLongintField'#15'RxMemoryData1ID'#12'Di'
+'splayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#2'ID'#5'Index'#2#0
+#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'Read'
+'Only'#8#8'Required'#8#0#0#12'TStringField'#17'RxMemoryData1NAME'#12'Display'
+'Width'#2'd'#9'FieldKind'#7#6'fkData'#9'FieldName'#6#4'NAME'#5'Index'#2#1#11
+'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnl'
+'y'#8#8'Required'#8#4'Size'#2'd'#0#0#10'TDateField'#23'RxMemoryData1DATE_ENT'
+'ER'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#10'DATE_E'
+'NTER'#5'Index'#2#2#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9
+'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#0#11'TDatasource'#11'Datasourc'
+'e1'#7'DataSet'#7#13'RxMemoryData1'#4'left'#3#152#0#3'top'#2#16#0#0#0
]);

View File

@ -0,0 +1,82 @@
{ Demo application from RXFPC
Copyright (C) 2009 Lagunov Aleksey (alexs75@hotbox.ru)
This source is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This code 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. See the GNU General Public License for more
details.
A copy of the GNU General Public License is available on the World Wide Web
at <http://www.gnu.org/copyleft/gpl.html>. You can also obtain it by writing
to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
}
unit asdMainUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, StdCtrls, rxmemds, rxdbgrid;
type
{ TForm1 }
TForm1 = class(TForm)
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
Datasource1: TDatasource;
RxDBGrid1: TRxDBGrid;
RxMemoryData1: TRxMemoryData;
RxMemoryData1DATE_ENTER: TDateField;
RxMemoryData1ID: TLongintField;
RxMemoryData1NAME: TStringField;
procedure CheckBox2Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
RxMemoryData1.Open;
RxMemoryData1.AppendRecord([1, 'Delphi', EncodeDate(1995, 8, 1)]);
RxMemoryData1.AppendRecord([2, 'Turbo Pascal', EncodeDate(1983, 8, 1)]);
RxMemoryData1.AppendRecord([3, 'Free Pascal', EncodeDate(1993, 1, 1)]);
RxMemoryData1.AppendRecord([4, 'Lazarus', Now]);
CheckBox2.Checked:=RxDBGrid1.AutoSort;
CheckBox1.Checked:=RxDBGrid1.TitleButtons;
end;
procedure TForm1.CheckBox2Change(Sender: TObject);
begin
RxDBGrid1.AutoSort:=CheckBox2.Checked;
RxDBGrid1.TitleButtons:=CheckBox1.Checked;
end;
initialization
{$I asdmainunit.lrs}
end.

View File

@ -0,0 +1,55 @@
object AboutForm: TAboutForm
Left = 393
Height = 163
Top = 386
Width = 274
ActiveControl = BitBtn1
Caption = 'About...'
ClientHeight = 163
ClientWidth = 274
Position = poDesktopCenter
LCLVersion = '0.9.27'
object Label1: TLabel
Left = 8
Height = 18
Top = 16
Width = 262
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
Caption = 'FolderLister component demo'
ParentColor = False
end
object Label2: TLabel
Left = 8
Height = 18
Top = 56
Width = 261
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
Caption = '(c) 2005-2009 by Alexs'
ParentColor = False
end
object Label3: TLabel
Left = 8
Height = 18
Top = 84
Width = 262
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
Caption = 'alexs75@hotbox.ru'
ParentColor = False
end
object BitBtn1: TBitBtn
Left = 96
Height = 34
Top = 123
Width = 56
Anchors = [akLeft, akBottom]
AutoSize = True
Caption = '&'
Default = True
Kind = bkOK
ModalResult = 1
TabOrder = 0
end
end

View File

@ -0,0 +1,19 @@
{ ��� - ���� ��������, ������������� ��������� lazarus }
LazarusResources.Add('TAboutForm','FORMDATA',[
'TPF0'#10'TAboutForm'#9'AboutForm'#4'Left'#3#137#1#6'Height'#3#163#0#3'Top'#3
+#130#1#5'Width'#3#18#1#13'ActiveControl'#7#7'BitBtn1'#7'Caption'#6#8'About..'
+'.'#12'ClientHeight'#3#163#0#11'ClientWidth'#3#18#1#8'Position'#7#15'poDeskt'
+'opCenter'#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'He'
+'ight'#2#18#3'Top'#2#16#5'Width'#3#6#1#9'Alignment'#7#8'taCenter'#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#27'FolderLister component d'
+'emo'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#8#6'Height'#2#18#3
+'Top'#2'8'#5'Width'#3#5#1#9'Alignment'#7#8'taCenter'#7'Anchors'#11#5'akTop'#6
+'akLeft'#7'akRight'#0#7'Caption'#6#22'(c) 2005-2009 by Alexs'#11'ParentColor'
+#8#0#0#6'TLabel'#6'Label3'#4'Left'#2#8#6'Height'#2#18#3'Top'#2'T'#5'Width'#3
+#6#1#9'Alignment'#7#8'taCenter'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
+#7'Caption'#6#17'alexs75@hotbox.ru'#11'ParentColor'#8#0#0#7'TBitBtn'#7'BitBt'
+'n1'#4'Left'#2'`'#6'Height'#2'"'#3'Top'#2'{'#5'Width'#2'8'#7'Anchors'#11#6'a'
+'kLeft'#8'akBottom'#0#8'AutoSize'#9#7'Caption'#6#5'&'#208#158#208#154#7'Defa'
+'ult'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#8'TabOrder'#2#0#0#0#0
]);

View File

@ -0,0 +1,35 @@
unit AboutUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
StdCtrls;
type
{ TAboutForm }
TAboutForm = class(TForm)
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
private
{ private declarations }
public
{ public declarations }
end;
var
AboutForm: TAboutForm;
implementation
initialization
{$I AboutUnit.lrs}
end.

View File

@ -0,0 +1,202 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="7"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<TargetFileExt Value=".exe"/>
<Title Value="FolderLister"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<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="2">
<Item1>
<PackageName Value="RxNew"/>
<MinVersion Major="1" Release="1" Build="2" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="15">
<Unit0>
<Filename Value="FolderLister.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="FolderLister"/>
<CursorPos X="24" Y="2"/>
<TopLine Value="1"/>
<UsageCount Value="23"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<ComponentName Value="MainForm"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<CursorPos X="54" Y="78"/>
<TopLine Value="59"/>
<EditorIndex Value="0"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
<UnitName Value="FolderLister"/>
<CursorPos X="1" Y="88"/>
<TopLine Value="70"/>
<UsageCount Value="11"/>
</Unit2>
<Unit3>
<Filename Value="c:\lazarus\fpcsrc\rtl\objpas\sysutils\filutilh.inc"/>
<CursorPos X="64" Y="123"/>
<TopLine Value="110"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="C:\lazarus\fpcsrc\rtl\win32\system.pp"/>
<UnitName Value="System"/>
<CursorPos X="52" Y="331"/>
<TopLine Value="314"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="C:\lazarus\components\RxNew\RxAppUtils.pas"/>
<UnitName Value="RxAppUtils"/>
<CursorPos X="6" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="AboutUnit.pas"/>
<ComponentName Value="AboutForm"/>
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="AboutUnit"/>
<CursorPos X="3" Y="15"/>
<TopLine Value="1"/>
<UsageCount Value="22"/>
</Unit6>
<Unit7>
<Filename Value="C:\lazarus\lcl\include\customform.inc"/>
<CursorPos X="43" Y="1700"/>
<TopLine Value="1695"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="unit1.lrs"/>
<CursorPos X="49" Y="2"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="C:\lazarus\lcl\Forms.pp"/>
<UnitName Value="Forms"/>
<CursorPos X="37" Y="1169"/>
<TopLine Value="1166"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="C:\lazarus\lcl\include\application.inc"/>
<CursorPos X="50" Y="146"/>
<TopLine Value="142"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="C:\lazarus\lcl\Dialogs.pp"/>
<UnitName Value="Dialogs"/>
<CursorPos X="38" Y="48"/>
<TopLine Value="37"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="C:\lazarus\lcl\Controls.pp"/>
<UnitName Value="Controls"/>
<CursorPos X="2" Y="1182"/>
<TopLine Value="1176"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="C:\lazarus\components\RxNew\RX.INC"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="C:\lazarus\components\RxNew\RXStrutils.pas"/>
<UnitName Value="RxStrUtils"/>
<CursorPos X="1" Y="15"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit14>
</Units>
<JumpHistory Count="8" HistoryIndex="7">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="36" Column="5" TopLine="32"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="67" Column="33" TopLine="51"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="19" Column="5" TopLine="19"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="12" TopLine="23"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="53" Column="20" TopLine="47"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="36" Column="47" TopLine="36"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="64" Column="8" TopLine="53"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="35" Column="43" TopLine="35"/>
</Position8>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths>
<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,15 @@
program FolderLister;
{$mode objfpc}{$H+}
uses
Interfaces, // this includes the LCL widgetset
Forms
{ add your units here }, Unit1, AboutUnit;
begin
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.

View File

@ -0,0 +1,143 @@
object MainForm: TMainForm
Left = 427
Height = 300
Top = 245
Width = 460
ActiveControl = Edit1
Caption = 'Main form'
ClientHeight = 275
ClientWidth = 460
Menu = MainMenu1
OnCreate = FormCreate
Position = poDesktopCenter
ShowHint = True
LCLVersion = '0.9.27'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 18
Top = 63
Width = 95
BorderSpacing.Around = 6
Caption = 'Folder for scan'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 18
Top = 6
Width = 71
BorderSpacing.Around = 6
Caption = 'Default ext'
ParentColor = False
end
object Button1: TButton
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DirectoryEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 29
Top = 120
Width = 44
Action = sysScan
AutoSize = True
BorderSpacing.Around = 6
TabOrder = 0
end
object DirectoryEdit1: TDirectoryEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 12
Height = 27
Top = 87
Width = 417
Directory = 'C:\lazarus\components\'
ShowHidden = False
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
TabOrder = 1
end
object Edit1: TEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 27
Top = 30
Width = 80
AutoSize = True
BorderSpacing.Around = 6
TabOrder = 2
Text = '.pas'
end
object ActionList1: TActionList
left = 144
top = 112
object sysExit: TAction
Category = 'System'
Caption = 'Exit'
DisableIfNoHandler = True
Enabled = False
Hint = 'Exit form demo app'
OnExecute = sysExitExecute
ShortCut = 32856
end
object hlpAbout: TAction
Category = 'Help'
Caption = 'About'
DisableIfNoHandler = True
Hint = 'Information of app'
OnExecute = hlpAboutExecute
end
object sysScan: TAction
Category = 'System'
Caption = 'Scan'
DisableIfNoHandler = True
Hint = 'Scan folder'
OnExecute = sysRescanExecute
end
end
object MainMenu1: TMainMenu
left = 144
top = 48
object SystemItems: TMenuItem
Caption = 'System'
object MenuItem3: TMenuItem
Action = sysScan
OnClick = sysRescanExecute
end
object MenuItem4: TMenuItem
Caption = '-'
end
object MenuItem2: TMenuItem
Action = sysExit
end
end
object FolderItems: TMenuItem
Caption = 'Folder'
end
object HelpItems: TMenuItem
Caption = 'Help'
object MenuItem1: TMenuItem
Action = hlpAbout
OnClick = hlpAboutExecute
end
end
end
object FolderLister1: TFolderLister
DefaultExt = '.pas'
OnExecuteItem = FolderLister1ExecuteItem
MenuItem = FolderItems
left = 144
top = 12
end
end

View File

@ -0,0 +1,45 @@
{ ��� - ���� ��������, ������������� ��������� lazarus }
LazarusResources.Add('TMainForm','FORMDATA',[
'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#171#1#6'Height'#3','#1#3'Top'#3#245
+#0#5'Width'#3#204#1#13'ActiveControl'#7#5'Edit1'#7'Caption'#6#9'Main form'#12
+'ClientHeight'#3#19#1#11'ClientWidth'#3#204#1#4'Menu'#7#9'MainMenu1'#8'OnCre'
+'ate'#7#10'FormCreate'#8'Position'#7#15'poDesktopCenter'#8'ShowHint'#9#10'LC'
+'LVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#5
+'Owner'#21'AnchorSideTop.Control'#7#5'Edit1'#18'AnchorSideTop.Side'#7#9'asrB'
+'ottom'#4'Left'#2#6#6'Height'#2#18#3'Top'#2'?'#5'Width'#2'_'#20'BorderSpacin'
+'g.Around'#2#6#7'Caption'#6#15'Folder for scan'#11'ParentColor'#8#0#0#6'TLab'
+'el'#6'Label2'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Contro'
+'l'#7#5'Owner'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2'G'#20'Border'
+'Spacing.Around'#2#6#7'Caption'#6#11'Default ext'#11'ParentColor'#8#0#0#7'TB'
+'utton'#7'Button1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Co'
+'ntrol'#7#14'DirectoryEdit1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#29#3'Top'#2'x'#5'Width'#2','#6'Action'#7#7'sysScan'#8'AutoSiz'
+'e'#9#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#0#0#14'TDirectoryEdit'#14
+'DirectoryEdit1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop.Con'
+'trol'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#12#6'Heig'
+'ht'#2#27#3'Top'#2'W'#5'Width'#3#161#1#9'Directory'#6#22'C:\lazarus\componen'
+'ts\'#10'ShowHidden'#8#11'ButtonWidth'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#17'B'
+'orderSpacing.Top'#2#6#8'TabOrder'#2#1#0#0#5'TEdit'#5'Edit1'#22'AnchorSideLe'
+'ft.Control'#7#6'Label2'#21'AnchorSideTop.Control'#7#6'Label2'#18'AnchorSide'
+'Top.Side'#7#9'asrBottom'#4'Left'#2#12#6'Height'#2#27#3'Top'#2#30#5'Width'#2
+'P'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#2#4'Text'#6#4'.'
+'pas'#0#0#11'TActionList'#11'ActionList1'#4'left'#3#144#0#3'top'#2'p'#0#7'TA'
+'ction'#7'sysExit'#8'Category'#6#6'System'#7'Caption'#6#4'Exit'#18'DisableIf'
+'NoHandler'#9#7'Enabled'#8#4'Hint'#6#18'Exit form demo app'#9'OnExecute'#7#14
+'sysExitExecute'#8'ShortCut'#4'X'#128#0#0#0#0#7'TAction'#8'hlpAbout'#8'Categ'
+'ory'#6#4'Help'#7'Caption'#6#5'About'#18'DisableIfNoHandler'#9#4'Hint'#6#18
+'Information of app'#9'OnExecute'#7#15'hlpAboutExecute'#0#0#7'TAction'#7'sys'
+'Scan'#8'Category'#6#6'System'#7'Caption'#6#4'Scan'#18'DisableIfNoHandler'#9
+#4'Hint'#6#11'Scan folder'#9'OnExecute'#7#16'sysRescanExecute'#0#0#0#9'TMain'
+'Menu'#9'MainMenu1'#4'left'#3#144#0#3'top'#2'0'#0#9'TMenuItem'#11'SystemItem'
+'s'#7'Caption'#6#6'System'#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#7'sysScan'
+#7'OnClick'#7#16'sysRescanExecute'#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6
+#1'-'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#7'sysExit'#0#0#0#9'TMenuItem'
+#11'FolderItems'#7'Caption'#6#6'Folder'#0#0#9'TMenuItem'#9'HelpItems'#7'Capt'
+'ion'#6#4'Help'#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#8'hlpAbout'#7'OnClic'
+'k'#7#15'hlpAboutExecute'#0#0#0#0#13'TFolderLister'#13'FolderLister1'#10'Def'
+'aultExt'#6#4'.pas'#13'OnExecuteItem'#7#24'FolderLister1ExecuteItem'#8'MenuI'
+'tem'#7#11'FolderItems'#4'left'#3#144#0#3'top'#2#12#0#0#0
]);

View File

@ -0,0 +1,92 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ActnList,
Menus, FolderLister, Buttons, EditBtn, StdCtrls;
type
{ TMainForm }
TMainForm = class(TForm)
Edit1: TEdit;
FolderLister1: TFolderLister;
Label2: TLabel;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
sysScan: TAction;
Button1: TButton;
DirectoryEdit1: TDirectoryEdit;
hlpAbout: TAction;
Label1: TLabel;
sysExit: TAction;
ActionList1: TActionList;
MainMenu1: TMainMenu;
SystemItems: TMenuItem;
HelpItems: TMenuItem;
FolderItems: TMenuItem;
procedure FolderLister1ExecuteItem(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure hlpAboutExecute(Sender: TObject);
procedure sysExitExecute(Sender: TObject);
procedure sysRescanExecute(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
MainForm: TMainForm;
implementation
uses AboutUnit;
{ TMainForm }
procedure TMainForm.hlpAboutExecute(Sender: TObject);
begin
AboutForm:=TAboutForm.Create(Application);
try
AboutForm.ShowModal;
finally
AboutForm.Free;
end;
end;
procedure TMainForm.sysExitExecute(Sender: TObject);
begin
Close;
end;
procedure TMainForm.FolderLister1ExecuteItem(Sender: TObject);
var
S:string;
begin
S:='Selected: '+FolderLister1.Files[(Sender as TComponent).Tag];
MessageDlg('Result', S, mtInformation, [mbOK], 0);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
DirectoryEdit1.Directory:=ExtractFileDir(ParamStr(0));
end;
procedure TMainForm.sysRescanExecute(Sender: TObject);
begin
FolderLister1.FileFolder:=DirectoryEdit1.Text;
FolderLister1.DefaultExt:=Edit1.Text;
FolderLister1.Execute;
end;
initialization
{$I unit1.lrs}
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -0,0 +1,306 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<AutoCreateForms Value="False"/>
<Title Value="Phone book demo"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<VersionInfo>
<UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/>
<Language Value=""/>
<CharSet Value=""/>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<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="4">
<Item1>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="DBFLaz"/>
<MinVersion Minor="1" Release="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="rxnew"/>
<MinVersion Major="1" Minor="1" Release="4" Build="93" Valid="True"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="12">
<Unit0>
<Filename Value="PhoneBookDemo.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="PhoneBookDemo"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="3" Y="12"/>
<UsageCount Value="27"/>
</Unit0>
<Unit1>
<Filename Value="pbmainunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="pbMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="23"/>
<CursorPos X="52" Y="23"/>
<UsageCount Value="27"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="usr/local/share/lazarus/components/rxnew/Demos/PhoneBookDemo/pbmainunit.pas"/>
<ComponentName Value="pbMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/>
<TopLine Value="1"/>
<CursorPos X="5" Y="9"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="pbeditdataunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="pbEditDataForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbEditDataUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="11"/>
<CursorPos X="3" Y="42"/>
<UsageCount Value="25"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../rxcloseformvalidator.pas"/>
<UnitName Value="RxCloseFormValidator"/>
<WindowIndex Value="0"/>
<TopLine Value="195"/>
<CursorPos X="1" Y="211"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="../../../../lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/>
<WindowIndex Value="0"/>
<TopLine Value="27"/>
<CursorPos X="13" Y="45"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/include/promptdialog.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="868"/>
<CursorPos X="1" Y="886"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../lcl/lcltype.pp"/>
<UnitName Value="LCLType"/>
<WindowIndex Value="0"/>
<TopLine Value="716"/>
<CursorPos X="3" Y="723"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/>
<WindowIndex Value="0"/>
<TopLine Value="96"/>
<CursorPos X="18" Y="103"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../rxconst.pas"/>
<UnitName Value="rxconst"/>
<WindowIndex Value="0"/>
<TopLine Value="88"/>
<CursorPos X="3" Y="113"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="471"/>
<CursorPos X="1" Y="503"/>
<UsageCount Value="10"/>
</Unit11>
</Units>
<JumpHistory Count="24" HistoryIndex="23">
<Position1>
<Filename Value="pbmainunit.pas"/>
<Caret Line="82" Column="5" TopLine="55"/>
</Position1>
<Position2>
<Filename Value="pbmainunit.pas"/>
<Caret Line="83" Column="26" TopLine="56"/>
</Position2>
<Position3>
<Filename Value="pbmainunit.pas"/>
<Caret Line="84" Column="26" TopLine="57"/>
</Position3>
<Position4>
<Filename Value="pbmainunit.pas"/>
<Caret Line="91" Column="26" TopLine="58"/>
</Position4>
<Position5>
<Filename Value="pbmainunit.pas"/>
<Caret Line="95" Column="23" TopLine="65"/>
</Position5>
<Position6>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="13" TopLine="80"/>
</Position6>
<Position7>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="78" TopLine="80"/>
</Position7>
<Position8>
<Filename Value="pbmainunit.pas"/>
<Caret Line="91" Column="29" TopLine="79"/>
</Position8>
<Position9>
<Filename Value="pbeditdataunit.pas"/>
<Caret Line="15" Column="3" TopLine="3"/>
</Position9>
<Position10>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="74" TopLine="79"/>
</Position10>
<Position11>
<Filename Value="pbmainunit.pas"/>
<Caret Line="75" Column="15" TopLine="41"/>
</Position11>
<Position12>
<Filename Value="pbmainunit.pas"/>
<Caret Line="74" Column="39" TopLine="40"/>
</Position12>
<Position13>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="72" TopLine="81"/>
</Position13>
<Position14>
<Filename Value="pbmainunit.pas"/>
<Caret Line="106" Column="1" TopLine="81"/>
</Position14>
<Position15>
<Filename Value="pbmainunit.pas"/>
<Caret Line="102" Column="1" TopLine="80"/>
</Position15>
<Position16>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="1" TopLine="79"/>
</Position16>
<Position17>
<Filename Value="pbmainunit.pas"/>
<Caret Line="103" Column="1" TopLine="81"/>
</Position17>
<Position18>
<Filename Value="pbeditdataunit.pas"/>
<Caret Line="15" Column="3" TopLine="3"/>
</Position18>
<Position19>
<Filename Value="pbmainunit.pas"/>
<Caret Line="108" Column="13" TopLine="86"/>
</Position19>
<Position20>
<Filename Value="pbmainunit.pas"/>
<Caret Line="36" Column="28" TopLine="18"/>
</Position20>
<Position21>
<Filename Value="pbeditdataunit.pas"/>
<Caret Line="15" Column="3" TopLine="11"/>
</Position21>
<Position22>
<Filename Value="pbeditdataunit.pas"/>
<Caret Line="54" Column="3" TopLine="23"/>
</Position22>
<Position23>
<Filename Value="pbeditdataunit.pas"/>
<Caret Line="52" Column="58" TopLine="1"/>
</Position23>
<Position24>
<Filename Value="pbeditdataunit.pas"/>
<Caret Line="55" Column="58" TopLine="23"/>
</Position24>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="PhoneBookDemo"/>
</Target>
<SearchPaths>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Watches Count="1">
<Item1>
<Expression Value="W"/>
</Item1>
</Watches>
</Debugging>
<EditorMacros Count="0"/>
</CONFIG>

View File

@ -0,0 +1,22 @@
program PhoneBookDemo;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
pbMainUnit,
pbEditDataUnit;
{$R PhoneBookDemo.res}
begin
Application.Title:='Phone book demo';
Application.Initialize;
Application.CreateForm(TpbMainForm, pbMainForm);
Application.Run;
end.

View File

@ -0,0 +1,127 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: tpbeditdataform.caption
msgid "Phone book data"
msgstr ""
#: tpbeditdataform.label1.caption
msgid "Patronymic"
msgstr ""
#: tpbeditdataform.label2.caption
msgid "Name"
msgstr ""
#: tpbeditdataform.label3.caption
msgid "Surname"
msgstr ""
#: tpbeditdataform.label4.caption
msgid "Phone"
msgstr ""
#: tpbeditdataform.label5.caption
msgctxt "TPBEDITDATAFORM.LABEL5.CAPTION"
msgid "ICQ"
msgstr ""
#: tpbeditdataform.label6.caption
msgid "Memo"
msgstr ""
#: tpbmainform.caption
msgid "Phone book"
msgstr ""
#: tpbmainform.edtdelete.caption
msgid "Delete"
msgstr ""
#: tpbmainform.edtedit.caption
msgctxt "TPBMAINFORM.EDTEDIT.CAPTION"
msgid "Edit"
msgstr ""
#: tpbmainform.edtfind.caption
msgid "Find"
msgstr ""
#: tpbmainform.edtnew.caption
msgid "New"
msgstr ""
#: tpbmainform.edtprint.caption
msgid "Print"
msgstr ""
#: tpbmainform.hlpabout.caption
msgid "About"
msgstr ""
#: tpbmainform.menuitem1.caption
msgid "System"
msgstr ""
#: tpbmainform.menuitem10.caption
msgctxt "TPBMAINFORM.MENUITEM10.CAPTION"
msgid "-"
msgstr ""
#: tpbmainform.menuitem14.caption
msgctxt "TPBMAINFORM.MENUITEM14.CAPTION"
msgid "-"
msgstr ""
#: tpbmainform.menuitem16.caption
msgctxt "TPBMAINFORM.MENUITEM16.CAPTION"
msgid "-"
msgstr ""
#: tpbmainform.menuitem18.caption
msgid "Help"
msgstr ""
#: tpbmainform.menuitem3.caption
msgctxt "TPBMAINFORM.MENUITEM3.CAPTION"
msgid "Edit"
msgstr ""
#: tpbmainform.menuitem7.caption
msgctxt "TPBMAINFORM.MENUITEM7.CAPTION"
msgid "-"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[0].title.caption
msgid "ID"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[1].title.caption
msgid "PATRONYMIC"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[2].title.caption
msgid "NAME"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[3].title.caption
msgid "SURNAME"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[4].title.caption
msgid "PHONE"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[5].title.caption
msgctxt "TPBMAINFORM.RXDBGRID1.COLUMNS[5].TITLE.CAPTION"
msgid "ICQ"
msgstr ""
#: tpbmainform.rxdbgrid1.columns[6].title.caption
msgid "MEMO"
msgstr ""
#: tpbmainform.sysexit.caption
msgid "Exit"
msgstr ""

View File

@ -0,0 +1,230 @@
object pbEditDataForm: TpbEditDataForm
Left = 492
Height = 401
Top = 271
Width = 530
Caption = 'Phone book data'
ClientHeight = 401
ClientWidth = 530
Position = poScreenCenter
LCLVersion = '1.3'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 19
Top = 6
Width = 66
BorderSpacing.Around = 6
Caption = 'Patronymic'
FocusControl = DBEdit1
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DBEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 68
Width = 34
BorderSpacing.Around = 6
Caption = 'Name'
FocusControl = DBEdit2
ParentColor = False
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = DBEdit1
AnchorSideTop.Side = asrBottom
Left = 240
Height = 19
Top = 68
Width = 51
BorderSpacing.Around = 6
Caption = 'Surname'
FocusControl = DBEdit3
ParentColor = False
end
object Label4: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DBEdit2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 130
Width = 37
BorderSpacing.Around = 6
Caption = 'Phone'
FocusControl = DBEdit4
ParentColor = False
end
object Label5: TLabel
AnchorSideLeft.Control = Label3
AnchorSideTop.Control = DBEdit3
AnchorSideTop.Side = asrBottom
Left = 240
Height = 19
Top = 130
Width = 22
BorderSpacing.Top = 6
BorderSpacing.Bottom = 6
Caption = 'ICQ'
FocusControl = DBEdit5
ParentColor = False
end
object Label6: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DBEdit4
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 192
Width = 36
BorderSpacing.Around = 6
Caption = 'Memo'
ParentColor = False
end
object DBEdit1: TDBEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 12
Height = 31
Top = 31
Width = 512
DataField = 'PATRONYMIC'
DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
CharCase = ecNormal
MaxLength = 0
TabOrder = 0
end
object DBEdit2: TDBEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label3
Left = 12
Height = 31
Top = 93
Width = 222
DataField = 'NAME'
DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
CharCase = ecNormal
MaxLength = 0
TabOrder = 1
end
object DBEdit3: TDBEdit
AnchorSideLeft.Control = Label3
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 246
Height = 31
Top = 93
Width = 278
DataField = 'SURNAME'
DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
CharCase = ecNormal
MaxLength = 0
TabOrder = 2
end
object DBEdit4: TDBEdit
AnchorSideLeft.Control = Label4
AnchorSideTop.Control = Label4
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label3
Left = 12
Height = 31
Top = 155
Width = 222
DataField = 'PHONE'
DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
CharCase = ecNormal
MaxLength = 0
TabOrder = 3
end
object DBEdit5: TDBEdit
AnchorSideLeft.Control = Label5
AnchorSideTop.Control = Label5
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 246
Height = 31
Top = 155
Width = 278
DataField = 'ICQ'
DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
CharCase = ecNormal
MaxLength = 0
TabOrder = 4
end
object ButtonPanel1: TButtonPanel
Left = 6
Height = 42
Top = 353
Width = 518
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 5
ShowButtons = [pbOK, pbCancel, pbHelp]
end
object DBMemo1: TDBMemo
AnchorSideLeft.Control = Label6
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonPanel1
Left = 12
Height = 130
Top = 217
Width = 512
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
DataField = 'MEMO'
DataSource = pbMainForm.Datasource1
TabOrder = 6
end
object RxCloseFormValidator1: TRxCloseFormValidator
ErrorMsgCaption = 'Ошибка. Не все требуемые поля заполнены!'
Items = <
item
Control = DBEdit1
FieldCaption = 'Patronymic'
end
item
Control = DBEdit2
FieldCaption = 'Name'
OnValidate = RxCloseFormValidator1Items1Validate
end
item
Control = DBEdit4
FieldCaption = 'Phone'
OnValidate = RxCloseFormValidator1Items2Validate
end>
left = 376
top = 8
end
end

View File

@ -0,0 +1,7 @@
TPBEDITDATAFORM.CAPTION=Phone book data
TPBEDITDATAFORM.LABEL1.CAPTION=Patronymic
TPBEDITDATAFORM.LABEL2.CAPTION=Name
TPBEDITDATAFORM.LABEL3.CAPTION=Surname
TPBEDITDATAFORM.LABEL4.CAPTION=Phone
TPBEDITDATAFORM.LABEL5.CAPTION=ICQ
TPBEDITDATAFORM.LABEL6.CAPTION=Memo

View File

@ -0,0 +1,44 @@
unit pbEditDataUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, RxCloseFormValidator, Forms, Controls, Graphics,
Dialogs, StdCtrls, DbCtrls, ButtonPanel;
type
{ TpbEditDataForm }
TpbEditDataForm = class(TForm)
ButtonPanel1: TButtonPanel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBMemo1: TDBMemo;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
RxCloseFormValidator1: TRxCloseFormValidator;
private
{ private declarations }
public
{ public declarations }
end;
var
pbEditDataForm: TpbEditDataForm;
implementation
{$R *.lfm}
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
TPBMAINFORM.CAPTION=Phone book
TPBMAINFORM.RXDBGRID1.COLUMNS[0].TITLE.CAPTION=ID
TPBMAINFORM.RXDBGRID1.COLUMNS[1].TITLE.CAPTION=PATRONYMIC
TPBMAINFORM.RXDBGRID1.COLUMNS[2].TITLE.CAPTION=NAME
TPBMAINFORM.RXDBGRID1.COLUMNS[3].TITLE.CAPTION=SURNAME
TPBMAINFORM.RXDBGRID1.COLUMNS[4].TITLE.CAPTION=PHONE
TPBMAINFORM.RXDBGRID1.COLUMNS[5].TITLE.CAPTION=ICQ
TPBMAINFORM.RXDBGRID1.COLUMNS[6].TITLE.CAPTION=MEMO
TPBMAINFORM.EDTNEW.CAPTION=New
TPBMAINFORM.EDTEDIT.CAPTION=Edit
TPBMAINFORM.EDTDELETE.CAPTION=Delete
TPBMAINFORM.EDTPRINT.CAPTION=Print
TPBMAINFORM.EDTFIND.CAPTION=Find
TPBMAINFORM.SYSEXIT.CAPTION=Exit
TPBMAINFORM.HLPABOUT.CAPTION=About
TPBMAINFORM.MENUITEM1.CAPTION=System
TPBMAINFORM.MENUITEM3.CAPTION=Edit
TPBMAINFORM.MENUITEM7.CAPTION=-
TPBMAINFORM.MENUITEM10.CAPTION=-
TPBMAINFORM.MENUITEM18.CAPTION=Help
TPBMAINFORM.MENUITEM14.CAPTION=-
TPBMAINFORM.MENUITEM16.CAPTION=-

View File

@ -0,0 +1,122 @@
unit pbMainUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxtoolbar,
rxdbgrid, rxmemds, RxAboutDialog, ComCtrls, ActnList, Menus, db;
type
{ TpbMainForm }
TpbMainForm = class(TForm)
hlpAbout: TAction;
MenuItem1: TMenuItem;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem13: TMenuItem;
MenuItem14: TMenuItem;
MenuItem15: TMenuItem;
MenuItem16: TMenuItem;
MenuItem17: TMenuItem;
MenuItem18: TMenuItem;
MenuItem19: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
RxAboutDialog1: TRxAboutDialog;
sysExit: TAction;
edtFind: TAction;
edtPrint: TAction;
edtDelete: TAction;
edtEdit: TAction;
edtNew: TAction;
ActionList1: TActionList;
Datasource1: TDatasource;
ImageList1: TImageList;
MainMenu1: TMainMenu;
PopupMenu1: TPopupMenu;
RxDBGrid1: TRxDBGrid;
rxPhoneBook: TRxMemoryData;
rxPhoneBookICQ: TStringField;
rxPhoneBookID: TAutoIncField;
rxPhoneBookMEMO: TMemoField;
rxPhoneBookNAME: TStringField;
rxPhoneBookPATRONYMIC: TStringField;
rxPhoneBookPHONE: TStringField;
rxPhoneBookSURNAME: TStringField;
StatusBar1: TStatusBar;
ToolPanel1: TToolPanel;
procedure edtDeleteExecute(Sender: TObject);
procedure edtNewExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure hlpAboutExecute(Sender: TObject);
procedure RxDBGrid1DblClick(Sender: TObject);
procedure sysExitExecute(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
pbMainForm: TpbMainForm;
implementation
uses FileUtil, pbEditDataUnit, LCLType;
{$R *.lfm}
{ TpbMainForm }
procedure TpbMainForm.FormCreate(Sender: TObject);
begin
rxPhoneBook.Open;
end;
procedure TpbMainForm.edtNewExecute(Sender: TObject);
begin
if (Sender as TComponent).Tag = 1 then
rxPhoneBook.Append
else
rxPhoneBook.Edit;
pbEditDataForm:=TpbEditDataForm.Create(Application);
if pbEditDataForm.ShowModal = mrOk then
rxPhoneBook.Post
else
rxPhoneBook.Cancel;
pbEditDataForm.Free;
end;
procedure TpbMainForm.edtDeleteExecute(Sender: TObject);
begin
if Application.MessageBox('Delete record', 'Delete this record?', MB_YESNO + MB_ICONQUESTION) = ID_YES then
rxPhoneBook.Delete;
end;
procedure TpbMainForm.hlpAboutExecute(Sender: TObject);
begin
RxAboutDialog1.Execute;
end;
procedure TpbMainForm.RxDBGrid1DblClick(Sender: TObject);
begin
edtEdit.Execute;
end;
procedure TpbMainForm.sysExitExecute(Sender: TObject);
begin
Close;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,115 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1" Active="Default">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="4">
<Item1>
<PackageName Value="LCLBase"/>
<MinVersion Major="1" Release="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
<MinVersion Major="1" Release="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="rxnew"/>
<MinVersion Major="2" Minor="1" Release="2" Build="105" Valid="True"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="20"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="24"/>
<CursorPos X="50" Y="52"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="45" Column="16" TopLine="19"/>
</Position2>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="10"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, rxnew, Unit1
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,239 @@
object Form1: TForm1
Left = 390
Height = 454
Top = 236
Width = 930
Caption = 'Form1'
ClientHeight = 454
ClientWidth = 930
OnCreate = FormCreate
LCLVersion = '0.9.31'
object RxDBGrid1: TRxDBGrid
AnchorSideTop.Control = DBNavigator1
AnchorSideTop.Side = asrBottom
Left = 0
Height = 346
Top = 108
Width = 930
TitleButtons = False
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Caption = 'FIELD_ID'
Title.Orientation = toHorizontal
Width = 100
FieldName = 'FIELD_ID'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Caption = 'COLOR_INT'
Title.Orientation = toHorizontal
Width = 150
FieldName = 'COLOR_INT'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Caption = 'COLOR_STR'
Title.Orientation = toHorizontal
Width = 500
FieldName = 'COLOR_STR'
Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end>
KeyStrokes = <
item
Command = rxgcShowFindDlg
ShortCut = 16454
Enabled = True
end
item
Command = rxgcShowColumnsDlg
ShortCut = 16471
Enabled = True
end
item
Command = rxgcShowFilterDlg
ShortCut = 16468
Enabled = True
end
item
Command = rxgcShowSortDlg
ShortCut = 16467
Enabled = True
end
item
Command = rxgcShowQuickFilter
ShortCut = 16465
Enabled = True
end
item
Command = rxgcHideQuickFilter
ShortCut = 16456
Enabled = True
end>
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgAllowQuickFilter]
FooterColor = clYellow
Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom]
Color = clWindow
DrawFullLine = False
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = Datasource1
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
ParentColor = False
ReadOnly = True
TabOrder = 0
end
object RxDBColorBox1: TRxDBColorBox
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label2
Left = 12
Height = 29
Top = 30
Width = 385
DataField = 'COLOR_INT'
DataSource = Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 0
TabOrder = 1
end
object RxDBColorBox2: TRxDBColorBox
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 409
Height = 29
Top = 30
Width = 515
DataField = 'COLOR_STR'
DataSource = Datasource1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 0
TabOrder = 2
end
object DBNavigator1: TDBNavigator
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = RxDBColorBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 25
Top = 77
Width = 241
BevelOuter = bvNone
BorderSpacing.Top = 12
BorderSpacing.Around = 6
ChildSizing.EnlargeHorizontal = crsScaleChilds
ChildSizing.EnlargeVertical = crsScaleChilds
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 100
ClientHeight = 25
ClientWidth = 241
TabOrder = 3
end
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 18
Top = 6
Width = 133
BorderSpacing.Around = 6
Caption = 'Test for integer field'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
Left = 403
Height = 18
Top = 6
Width = 124
BorderSpacing.Around = 6
Caption = 'Test for string field'
ParentColor = False
end
object RxMemoryData1: TRxMemoryData
FieldDefs = <
item
Name = 'FIELD_ID'
DataType = ftAutoInc
Precision = 0
Size = 0
end
item
Name = 'COLOR_STR'
DataType = ftString
Precision = 0
Size = 50
end
item
Name = 'COLOR_INT'
DataType = ftInteger
Precision = 0
Size = 0
end>
left = 368
top = 160
object RxMemoryData1FIELD_ID: TAutoIncField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'FIELD_ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInWhere]
ReadOnly = False
Required = False
end
object RxMemoryData1COLOR_STR: TStringField
DisplayWidth = 50
FieldKind = fkData
FieldName = 'COLOR_STR'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object RxMemoryData1COLOR_INT: TLongintField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'COLOR_INT'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
end
object Datasource1: TDatasource
DataSet = RxMemoryData1
left = 336
top = 160
end
end

View File

@ -0,0 +1,57 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, DbCtrls,
StdCtrls, db, rxmemds, rxdbgrid, RxDBColorBox;
type
{ TForm1 }
TForm1 = class(TForm)
Datasource1: TDatasource;
DBNavigator1: TDBNavigator;
Label1: TLabel;
Label2: TLabel;
RxDBColorBox1: TRxDBColorBox;
RxDBColorBox2: TRxDBColorBox;
RxDBGrid1: TRxDBGrid;
RxMemoryData1: TRxMemoryData;
RxMemoryData1COLOR_INT: TLongintField;
RxMemoryData1COLOR_STR: TStringField;
RxMemoryData1FIELD_ID: TAutoIncField;
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
RxMemoryData1.Open;
RxMemoryData1.Append;
RxMemoryData1COLOR_STR.AsString:='clWhite';
RxMemoryData1COLOR_INT.AsInteger:=Integer(clGreen);
RxMemoryData1.Post;
RxMemoryData1.Append;
RxMemoryData1COLOR_STR.AsString:='clGreen';
RxMemoryData1COLOR_INT.AsInteger:=Integer(clRed);
RxMemoryData1.Post;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@ -0,0 +1,922 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<Title Value="RxDBGrid demo"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<VersionInfo>
<UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/>
<MajorVersionNr Value="3"/>
<MinorVersionNr Value="4"/>
<RevisionNr Value="1"/>
<BuildNr Value="1"/>
<StringTable ProductName="Demo application from RXFPC library" LegalCopyright="Lagunov Aleksey, GPL 2" ProductVersion="3.1.1.0" FileDescription="Demo application from RXFPC library"/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<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="5">
<Item1>
<PackageName Value="rxdbgrid_export_spreadsheet"/>
</Item1>
<Item2>
<PackageName Value="rxdbgrid_print"/>
</Item2>
<Item3>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
<Item5>
<PackageName Value="rxnew"/>
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item5>
</RequiredPackages>
<Units Count="106">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="9" Y="16"/>
<UsageCount Value="100"/>
</Unit0>
<Unit1>
<Filename Value="rxdbgridmainunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="RxDBGridMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="10" Y="11"/>
<UsageCount Value="100"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../../fpcsrc/fcl/db/db.pp"/>
<TopLine Value="1112"/>
<CursorPos X="17" Y="1116"/>
<UsageCount Value="5"/>
</Unit2>
<Unit3>
<Filename Value="../../../fpcsrc/fcl/db/dataset.inc"/>
<TopLine Value="1134"/>
<CursorPos X="21" Y="1139"/>
<UsageCount Value="5"/>
</Unit3>
<Unit4>
<Filename Value="../../rxmemds.pas"/>
<TopLine Value="337"/>
<CursorPos Y="356"/>
<UsageCount Value="5"/>
</Unit4>
<Unit5>
<Filename Value="../../rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="3475"/>
<CursorPos X="1" Y="3495"/>
<UsageCount Value="17"/>
<Bookmarks Count="2">
<Item0 X="1" Y="2573" ID="2"/>
<Item1 X="1" Y="3776" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="../../../lcl/lresources.pp"/>
<TopLine Value="2626"/>
<CursorPos Y="2644"/>
<UsageCount Value="5"/>
</Unit6>
<Unit7>
<Filename Value="../../../lcl/grids.pas"/>
<TopLine Value="385"/>
<CursorPos X="33" Y="394"/>
<UsageCount Value="6"/>
</Unit7>
<Unit8>
<Filename Value="../../../lcl/dbgrids.pas"/>
<TopLine Value="187"/>
<CursorPos X="30" Y="199"/>
<UsageCount Value="6"/>
</Unit8>
<Unit9>
<Filename Value="../../rxpopupunit.pas"/>
<TopLine Value="246"/>
<CursorPos X="15" Y="249"/>
<UsageCount Value="6"/>
</Unit9>
<Unit10>
<Filename Value="../../../lcl/include/wincontrol.inc"/>
<TopLine Value="7217"/>
<CursorPos Y="7236"/>
<UsageCount Value="5"/>
</Unit10>
<Unit11>
<Filename Value="../../../lcl/include/control.inc"/>
<UsageCount Value="5"/>
</Unit11>
<Unit12>
<Filename Value="../../../lcl/lclmessageglue.pas"/>
<TopLine Value="92"/>
<CursorPos X="46" Y="96"/>
<UsageCount Value="5"/>
</Unit12>
<Unit13>
<Filename Value="../../../lcl/controls.pp"/>
<TopLine Value="1779"/>
<CursorPos X="60" Y="1798"/>
<UsageCount Value="5"/>
</Unit13>
<Unit14>
<Filename Value="../../../install/2/rxdbgrid.diff"/>
<CursorPos Y="21"/>
<UsageCount Value="5"/>
<DefaultSyntaxHighlighter Value="Diff"/>
</Unit14>
<Unit15>
<Filename Value="../../../lcl/interfaces/gtk/gtkdevicecontext.inc"/>
<TopLine Value="626"/>
<CursorPos Y="644"/>
<UsageCount Value="5"/>
</Unit15>
<Unit16>
<Filename Value="../../../lcl/interfaces/gtk2/gtk2winapi.inc"/>
<TopLine Value="559"/>
<CursorPos Y="577"/>
<UsageCount Value="5"/>
</Unit16>
<Unit17>
<Filename Value="../../rxdbgrid_columsunit.pas"/>
<ComponentName Value="rxDBGridColumsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="103"/>
<CursorPos X="55" Y="103"/>
<UsageCount Value="11"/>
</Unit17>
<Unit18>
<Filename Value="../../rxdconst.pas"/>
<TopLine Value="144"/>
<CursorPos X="21" Y="165"/>
<UsageCount Value="11"/>
</Unit18>
<Unit19>
<Filename Value="../../../lcl/include/winapih.inc"/>
<TopLine Value="211"/>
<CursorPos X="10" Y="223"/>
<UsageCount Value="5"/>
</Unit19>
<Unit20>
<Filename Value="../../backup/rxdbgrid.pas"/>
<TopLine Value="1207"/>
<CursorPos Y="1227"/>
<UsageCount Value="5"/>
</Unit20>
<Unit21>
<Filename Value="../../rxaboutdialog.pas"/>
<TopLine Value="10"/>
<CursorPos X="73" Y="30"/>
<UsageCount Value="6"/>
</Unit21>
<Unit22>
<Filename Value="../../registerrx.pas"/>
<TopLine Value="174"/>
<CursorPos X="18" Y="201"/>
<UsageCount Value="6"/>
</Unit22>
<Unit23>
<Filename Value="../../../ideintf/idewindowintf.pas"/>
<TopLine Value="31"/>
<UsageCount Value="5"/>
</Unit23>
<Unit24>
<Filename Value="../../../lcl/extdlgs.pas"/>
<TopLine Value="105"/>
<CursorPos X="35" Y="122"/>
<UsageCount Value="5"/>
</Unit24>
<Unit25>
<Filename Value="../../../lcl/dialogs.pp"/>
<TopLine Value="62"/>
<CursorPos X="21" Y="79"/>
<UsageCount Value="5"/>
</Unit25>
<Unit26>
<Filename Value="../../../lcl/include/commondialog.inc"/>
<TopLine Value="80"/>
<CursorPos X="17" Y="84"/>
<UsageCount Value="5"/>
</Unit26>
<Unit27>
<Filename Value="../../../lcl/widgetset/wsdialogs.pp"/>
<TopLine Value="132"/>
<CursorPos X="3" Y="136"/>
<UsageCount Value="5"/>
</Unit27>
<Unit28>
<Filename Value="../../rxaboutformunit.pas"/>
<ComponentName Value="rxAboutFormForm"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="41"/>
<CursorPos X="26" Y="55"/>
<UsageCount Value="6"/>
</Unit28>
<Unit29>
<Filename Value="../../rxversinfo.pas"/>
<TopLine Value="72"/>
<CursorPos X="49" Y="105"/>
<UsageCount Value="5"/>
</Unit29>
<Unit30>
<Filename Value="../../../lcl/buttonpanel.pas"/>
<TopLine Value="11"/>
<CursorPos X="6" Y="15"/>
<UsageCount Value="6"/>
</Unit30>
<Unit31>
<Filename Value="../../../lcl/extctrls.pp"/>
<TopLine Value="604"/>
<CursorPos X="15" Y="607"/>
<UsageCount Value="6"/>
</Unit31>
<Unit32>
<Filename Value="../../../lcl/include/customimage.inc"/>
<TopLine Value="67"/>
<CursorPos X="3" Y="69"/>
<UsageCount Value="6"/>
</Unit32>
<Unit33>
<Filename Value="../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<TopLine Value="426"/>
<CursorPos X="17" Y="448"/>
<UsageCount Value="13"/>
</Unit33>
<Unit34>
<Filename Value="../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/>
<ComponentName Value="smsSendAboutForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="28"/>
<CursorPos Y="57"/>
<UsageCount Value="6"/>
</Unit34>
<Unit35>
<Filename Value="../../../smsprog/sms_shared/smsabstarctconstunit.pas"/>
<CursorPos X="42" Y="11"/>
<UsageCount Value="6"/>
</Unit35>
<Unit36>
<Filename Value="../../rxconst.pas"/>
<TopLine Value="34"/>
<CursorPos X="3" Y="51"/>
<UsageCount Value="6"/>
</Unit36>
<Unit37>
<Filename Value="../../../rxnet/demo/send_demo/smssendparamsunit.pas"/>
<ComponentName Value="smssendParamsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="49"/>
<CursorPos X="34" Y="60"/>
<UsageCount Value="6"/>
</Unit37>
<Unit38>
<Filename Value="../../../rxnet/demo/send_demo/smssenddemomainunit.pas"/>
<ComponentName Value="smsSendDemoMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="41"/>
<CursorPos X="105" Y="29"/>
<UsageCount Value="6"/>
</Unit38>
<Unit39>
<Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/>
<UsageCount Value="6"/>
</Unit39>
<Unit40>
<Filename Value="../../../doceditor/lazdeopts.pp"/>
<TopLine Value="43"/>
<CursorPos Y="56"/>
<UsageCount Value="6"/>
</Unit40>
<Unit41>
<Filename Value="../../rxfileutils.pas"/>
<TopLine Value="18"/>
<CursorPos X="33" Y="42"/>
<UsageCount Value="6"/>
</Unit41>
<Unit42>
<Filename Value="../../registerrxdb.pas"/>
<TopLine Value="2"/>
<CursorPos X="20" Y="17"/>
<UsageCount Value="6"/>
</Unit42>
<Unit43>
<Filename Value="../../../ideintf/dbpropedits.pas"/>
<TopLine Value="13"/>
<CursorPos X="6" Y="19"/>
<UsageCount Value="6"/>
</Unit43>
<Unit44>
<Filename Value="../../../ideintf/propedits.pp"/>
<CursorPos X="6" Y="26"/>
<UsageCount Value="6"/>
</Unit44>
<Unit45>
<Filename Value="../../rxdbgrid_findunit.pas"/>
<ComponentName Value="rxDBGridFindForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="78"/>
<CursorPos Y="94"/>
<UsageCount Value="6"/>
</Unit45>
<Unit46>
<Filename Value="../../rxtoolbar.pas"/>
<CursorPos X="52" Y="26"/>
<UsageCount Value="8"/>
</Unit46>
<Unit47>
<Filename Value="../../../synedit/synedit.pp"/>
<TopLine Value="5699"/>
<CursorPos Y="5702"/>
<UsageCount Value="13"/>
</Unit47>
<Unit48>
<Filename Value="../../../synedit/syneditkeycmds.pp"/>
<TopLine Value="750"/>
<CursorPos X="3" Y="752"/>
<UsageCount Value="9"/>
</Unit48>
<Unit49>
<Filename Value="../../../install/fpcsrc/rtl/objpas/classes/classes.inc"/>
<TopLine Value="429"/>
<CursorPos X="33" Y="447"/>
<UsageCount Value="6"/>
</Unit49>
<Unit50>
<Filename Value="../../../lcl/actnlist.pas"/>
<TopLine Value="206"/>
<CursorPos X="33" Y="224"/>
<UsageCount Value="6"/>
</Unit50>
<Unit51>
<Filename Value="../../../lcl/lclproc.pas"/>
<TopLine Value="1154"/>
<CursorPos X="10" Y="1165"/>
<UsageCount Value="6"/>
</Unit51>
<Unit52>
<Filename Value="rxdbgridmainunit.lfm"/>
<TopLine Value="133"/>
<CursorPos X="5" Y="103"/>
<UsageCount Value="7"/>
<DefaultSyntaxHighlighter Value="LFM"/>
</Unit52>
<Unit53>
<Filename Value="../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<TopLine Value="286"/>
<CursorPos Y="288"/>
<UsageCount Value="12"/>
</Unit53>
<Unit54>
<Filename Value="../../../wine/1/1/rx.diff"/>
<CursorPos Y="9"/>
<UsageCount Value="7"/>
<DefaultSyntaxHighlighter Value="Diff"/>
</Unit54>
<Unit55>
<Filename Value="../../../install/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<TopLine Value="541"/>
<CursorPos Y="569"/>
<UsageCount Value="7"/>
</Unit55>
<Unit56>
<Filename Value="../../../lcl/include/canvas.inc"/>
<TopLine Value="1116"/>
<CursorPos Y="1132"/>
<UsageCount Value="8"/>
</Unit56>
<Unit57>
<Filename Value="../../exsortsql.pas"/>
<TopLine Value="69"/>
<CursorPos X="49" Y="3"/>
<UsageCount Value="7"/>
</Unit57>
<Unit58>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="213"/>
<CursorPos X="3" Y="216"/>
<UsageCount Value="19"/>
<Loaded Value="True"/>
</Unit58>
<Unit59>
<Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="10079"/>
<CursorPos X="25" Y="10111"/>
<UsageCount Value="22"/>
<Bookmarks Count="1">
<Item0 X="23" Y="7562" ID="3"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit59>
<Unit60>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<TopLine Value="1554"/>
<CursorPos X="38" Y="1569"/>
<UsageCount Value="7"/>
</Unit60>
<Unit61>
<Filename Value="../../../../lcl/buttons.pp"/>
<TopLine Value="333"/>
<CursorPos X="3" Y="360"/>
<UsageCount Value="7"/>
</Unit61>
<Unit62>
<Filename Value="../../../../../../install/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<TopLine Value="1588"/>
<CursorPos X="15" Y="1609"/>
<UsageCount Value="7"/>
</Unit62>
<Unit63>
<Filename Value="../../vclutils.pas"/>
<CursorPos Y="35"/>
<UsageCount Value="9"/>
</Unit63>
<Unit64>
<Filename Value="../../../../lcl/include/canvas.inc"/>
<TopLine Value="1317"/>
<CursorPos Y="1338"/>
<UsageCount Value="7"/>
</Unit64>
<Unit65>
<Filename Value="../../../../lcl/graphics.pp"/>
<TopLine Value="93"/>
<CursorPos X="3" Y="99"/>
<UsageCount Value="8"/>
</Unit65>
<Unit66>
<Filename Value="../../../../lcl/include/lclintf.inc"/>
<TopLine Value="132"/>
<CursorPos Y="155"/>
<UsageCount Value="7"/>
</Unit66>
<Unit67>
<Filename Value="../../../../lcl/interfaces/gtk2/gtk2lclintf.inc"/>
<TopLine Value="167"/>
<CursorPos Y="190"/>
<UsageCount Value="7"/>
</Unit67>
<Unit68>
<Filename Value="../../rxsortby.pas"/>
<ComponentName Value="rxSortByForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="50"/>
<CursorPos X="14" Y="65"/>
<UsageCount Value="9"/>
</Unit68>
<Unit69>
<Filename Value="../../rxfilterby.pas"/>
<ComponentName Value="rxFilterByForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<TopLine Value="315"/>
<CursorPos Y="350"/>
<UsageCount Value="7"/>
</Unit69>
<Unit70>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<TopLine Value="72"/>
<CursorPos X="30" Y="95"/>
<UsageCount Value="11"/>
</Unit70>
<Unit71>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/objpas/classes/stringl.inc"/>
<TopLine Value="593"/>
<CursorPos X="3" Y="598"/>
<UsageCount Value="7"/>
</Unit71>
<Unit72>
<Filename Value="../../rxstrutils.pas"/>
<TopLine Value="140"/>
<CursorPos X="23" Y="168"/>
<UsageCount Value="7"/>
</Unit72>
<Unit73>
<Filename Value="../../rxlookup.pas"/>
<TopLine Value="1176"/>
<CursorPos X="3" Y="1196"/>
<UsageCount Value="14"/>
</Unit73>
<Unit74>
<Filename Value="../../../../../../install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<TopLine Value="1776"/>
<CursorPos X="14" Y="1796"/>
<UsageCount Value="14"/>
</Unit74>
<Unit75>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/objpas/classes/collect.inc"/>
<TopLine Value="397"/>
<CursorPos X="3" Y="399"/>
<UsageCount Value="11"/>
</Unit75>
<Unit76>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/objpas/classes/lists.inc"/>
<TopLine Value="131"/>
<CursorPos X="3" Y="133"/>
<UsageCount Value="11"/>
</Unit76>
<Unit77>
<Filename Value="../../rxsortmemds.pas"/>
<TopLine Value="16"/>
<UsageCount Value="8"/>
</Unit77>
<Unit78>
<Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="2211"/>
<CursorPos X="15" Y="2233"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit78>
<Unit79>
<Filename Value="../../../../lcl/stdctrls.pp"/>
<TopLine Value="233"/>
<CursorPos X="3" Y="254"/>
<UsageCount Value="9"/>
</Unit79>
<Unit80>
<Filename Value="../../../../lcl/lcltype.pp"/>
<TopLine Value="439"/>
<CursorPos X="3" Y="433"/>
<UsageCount Value="10"/>
</Unit80>
<Unit81>
<Filename Value="../../../../lcl/include/customcontrol.inc"/>
<TopLine Value="70"/>
<CursorPos X="3" Y="79"/>
<UsageCount Value="9"/>
</Unit81>
<Unit82>
<Filename Value="../../../../lcl/include/wincontrol.inc"/>
<TopLine Value="7862"/>
<CursorPos X="3" Y="7901"/>
<UsageCount Value="11"/>
</Unit82>
<Unit83>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/objpas/types.pp"/>
<TopLine Value="70"/>
<CursorPos X="16" Y="91"/>
<UsageCount Value="10"/>
</Unit83>
<Unit84>
<Filename Value="../../../../lcl/include/control.inc"/>
<TopLine Value="3955"/>
<CursorPos Y="3977"/>
<UsageCount Value="10"/>
</Unit84>
<Unit85>
<Filename Value="../../../../lcl/include/scrollingwincontrol.inc"/>
<TopLine Value="65"/>
<CursorPos Y="87"/>
<UsageCount Value="10"/>
</Unit85>
<Unit86>
<Filename Value="../../../../lcl/include/customform.inc"/>
<TopLine Value="732"/>
<CursorPos Y="761"/>
<UsageCount Value="10"/>
</Unit86>
<Unit87>
<Filename Value="../../../../lcl/editbtn.pas"/>
<TopLine Value="648"/>
<CursorPos Y="670"/>
<UsageCount Value="10"/>
</Unit87>
<Unit88>
<Filename Value="../../../../lcl/include/winapi.inc"/>
<TopLine Value="596"/>
<CursorPos Y="618"/>
<UsageCount Value="10"/>
</Unit88>
<Unit89>
<Filename Value="../../../../lcl/lclintf.pas"/>
<TopLine Value="63"/>
<CursorPos X="39" Y="49"/>
<UsageCount Value="10"/>
</Unit89>
<Unit90>
<Filename Value="../../../../lcl/include/lclintfh.inc"/>
<TopLine Value="130"/>
<CursorPos Y="130"/>
<UsageCount Value="10"/>
</Unit90>
<Unit91>
<Filename Value="../../../../lcl/lmessages.pp"/>
<TopLine Value="241"/>
<CursorPos Y="256"/>
<UsageCount Value="11"/>
</Unit91>
<Unit92>
<Filename Value="../../../../lcl/forms.pp"/>
<TopLine Value="248"/>
<CursorPos X="16" Y="285"/>
<UsageCount Value="11"/>
</Unit92>
<Unit93>
<Filename Value="../../../../lcl/include/customframe.inc"/>
<TopLine Value="184"/>
<CursorPos X="3" Y="186"/>
<UsageCount Value="10"/>
</Unit93>
<Unit94>
<Filename Value="../../../../lcl/lclversion.pas"/>
<UsageCount Value="11"/>
</Unit94>
<Unit95>
<Filename Value="../../rx.inc"/>
<TopLine Value="42"/>
<CursorPos Y="63"/>
<UsageCount Value="10"/>
</Unit95>
<Unit96>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/objpas/classes/classes.inc"/>
<TopLine Value="846"/>
<CursorPos X="3" Y="851"/>
<UsageCount Value="10"/>
</Unit96>
<Unit97>
<Filename Value="../../../../lcl/clipbrd.pp"/>
<TopLine Value="176"/>
<CursorPos X="15" Y="190"/>
<UsageCount Value="10"/>
</Unit97>
<Unit98>
<Filename Value="../../../../lcl/include/clipbrd.inc"/>
<TopLine Value="178"/>
<CursorPos X="3" Y="180"/>
<UsageCount Value="10"/>
</Unit98>
<Unit99>
<Filename Value="../../../../../../install/source/fpcsrc/rtl/inc/objpash.inc"/>
<TopLine Value="178"/>
<CursorPos X="23" Y="193"/>
<UsageCount Value="10"/>
</Unit99>
<Unit100>
<Filename Value="../../../../lcl/buttonpanel.pas"/>
<TopLine Value="339"/>
<CursorPos Y="349"/>
<UsageCount Value="11"/>
</Unit100>
<Unit101>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<TopLine Value="468"/>
<CursorPos X="15" Y="489"/>
<UsageCount Value="10"/>
</Unit101>
<Unit102>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/collect.inc"/>
<TopLine Value="41"/>
<CursorPos X="2" Y="44"/>
<UsageCount Value="10"/>
</Unit102>
<Unit103>
<Filename Value="../../rxdbgridexportspreadsheet.pas"/>
<UnitName Value="RxDBGridExportSpreadSheet"/>
<TopLine Value="185"/>
<CursorPos X="12" Y="203"/>
<UsageCount Value="10"/>
</Unit103>
<Unit104>
<Filename Value="../../../fpspreadsheet/fpsexprparser.pas"/>
<UnitName Value="fpsExprParser"/>
<WindowIndex Value="1"/>
<TopLine Value="820"/>
<CursorPos X="48" Y="833"/>
<UsageCount Value="10"/>
</Unit104>
<Unit105>
<Filename Value="/home/alexs/install/src/fixes_2_6/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="471"/>
<CursorPos X="15" Y="491"/>
<UsageCount Value="10"/>
</Unit105>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="539" Column="30" TopLine="520"/>
</Position1>
<Position2>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="11456" Column="18" TopLine="11424"/>
</Position2>
<Position3>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="11484" Column="38" TopLine="11452"/>
</Position3>
<Position4>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="594" Column="17" TopLine="574"/>
</Position4>
<Position5>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="11456" Column="18" TopLine="11424"/>
</Position5>
<Position6>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="10954" Column="3" TopLine="10952"/>
</Position6>
<Position7>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="11414" Column="3" TopLine="11411"/>
</Position7>
<Position8>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="529" Column="15" TopLine="510"/>
</Position8>
<Position9>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="539" Column="30" TopLine="498"/>
</Position9>
<Position10>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="11456" Column="18" TopLine="11424"/>
</Position10>
<Position11>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="11484" Column="38" TopLine="11461"/>
</Position11>
<Position12>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="588" Column="26" TopLine="568"/>
</Position12>
<Position13>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="808" Column="33" TopLine="777"/>
</Position13>
<Position14>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="657" Column="26" TopLine="624"/>
</Position14>
<Position15>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="808" Column="33" TopLine="777"/>
</Position15>
<Position16>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="7569" Column="3" TopLine="7565"/>
</Position16>
<Position17>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="258" Column="14" TopLine="242"/>
</Position17>
<Position18>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="427" Column="29" TopLine="395"/>
</Position18>
<Position19>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="440" Column="40" TopLine="408"/>
</Position19>
<Position20>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="446" Column="54" TopLine="414"/>
</Position20>
<Position21>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="465" Column="37" TopLine="433"/>
</Position21>
<Position22>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5197" Column="46" TopLine="5165"/>
</Position22>
<Position23>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5207" Column="60" TopLine="5175"/>
</Position23>
<Position24>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5267" Column="29" TopLine="5235"/>
</Position24>
<Position25>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3475" Column="5" TopLine="3475"/>
</Position25>
<Position26>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="4114" Column="3" TopLine="4109"/>
</Position26>
<Position27>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="7570" Column="16" TopLine="7538"/>
</Position27>
<Position28>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="8218" Column="17" TopLine="8186"/>
</Position28>
<Position29>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="10" Column="3" TopLine="1"/>
</Position29>
<Position30>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="11" Column="10" TopLine="1"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="RxDBGridDemo"/>
</Target>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
<SrcPath Value="$(LazarusDir)/lcl;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Watches Count="5">
<Item1>
<Expression Value="K"/>
</Item1>
<Item2>
<Expression Value="H"/>
</Item2>
<Item3>
<Expression Value="I"/>
</Item3>
<Item4>
<Expression Value="S"/>
</Item4>
<Item5>
<Expression Value="K1"/>
</Item5>
</Watches>
<Exceptions Count="2">
<Item1>
<Name Value="EInvalidOp"/>
</Item1>
<Item2>
<Name Value="EConvertError"/>
</Item2>
</Exceptions>
</Debugging>
<EditorMacros Count="0"/>
</CONFIG>

View File

@ -0,0 +1,23 @@
program RxDBGridDemo;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
RxDBGridMainUnit;
{$R RxDBGridDemo.res}
begin
LocalizeApp;
//
Application.Title:='RxDBGrid demo';
Application.Initialize;
Application.CreateForm(TRxDBGridMainForm, RxDBGridMainForm);
Application.Run;
end.

View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
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. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,280 @@
unit RxDBGridMainUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxmemds,
DB, rxdbgrid, RxAboutDialog, RxIniPropStorage, RxDBGridPrintGrid,
RxDBGridExportSpreadSheet, ExtCtrls, Buttons, Menus, ActnList, StdCtrls,
DBGrids, types;
type
{ TRxDBGridMainForm }
TRxDBGridMainForm = class(TForm)
actCalcTotal: TAction;
CheckBox5: TCheckBox;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
RxAboutDialog1: TRxAboutDialog;
RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet;
RxDBGridPrint1: TRxDBGridPrint;
RxIniPropStorage1: TRxIniPropStorage;
RxMemoryData1RAIT: TStringField;
SpeedButton1: TSpeedButton;
sysExit: TAction;
hlpAbout: TAction;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
ImageList1: TImageList;
MainMenu1: TMainMenu;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
showColumnsDialog: TAction;
showFindDialog: TAction;
actOptimizeWidthCol1: TAction;
actOptimizeColumnsWidthAll: TAction;
ActionList1: TActionList;
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
ComboBox1: TComboBox;
Datasource1: TDatasource;
Datasource2: TDatasource;
Label1: TLabel;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
Panel1: TPanel;
PopupMenu1: TPopupMenu;
RxDBGrid1: TRxDBGrid;
RxMemoryData1: TRxMemoryData;
RxMemoryData1Date_Present1: TDateField;
RxMemoryData1Developer1: TStringField;
RxMemoryData1DEVELOPER_ID1: TLongintField;
RxMemoryData1ID1: TLongintField;
RxMemoryData1NAME1: TStringField;
RxMemoryData1PRICE1: TFloatField;
RxMemoryData2: TRxMemoryData;
RxMemoryData2DEVELOPER_ID1: TLongintField;
RxMemoryData2DEVELOPER_NAME1: TStringField;
procedure actCalcTotalExecute(Sender: TObject);
procedure actOptimizeColumnsWidthAllExecute(Sender: TObject);
procedure actOptimizeWidthCol1Execute(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure CheckBox2Change(Sender: TObject);
procedure CheckBox3Change(Sender: TObject);
procedure CheckBox4Change(Sender: TObject);
procedure CheckBox5Change(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure hlpAboutExecute(Sender: TObject);
procedure RxDBGrid1Filtred(Sender: TObject);
procedure RxDBGrid1GetCellProps(Sender: TObject; Field: TField;
AFont: TFont; var Background: TColor);
procedure showColumnsDialogExecute(Sender: TObject);
procedure showFindDialogExecute(Sender: TObject);
procedure sysExitExecute(Sender: TObject);
procedure TRxColumnEditButtons0Click(Sender: TObject);
procedure TRxColumnEditButtons1Click(Sender: TObject);
procedure TRxColumnEditButtons2Click(Sender: TObject);
private
procedure DoFillFilters;
public
{ public declarations }
end;
var
RxDBGridMainForm: TRxDBGridMainForm;
procedure LocalizeApp;
implementation
uses rxsortmemds, FileUtil, gettext, translations, rxFileUtils;
procedure LocalizeApp;
var
Lang, FallbackLang: String;
begin
GetLanguageIDs(Lang,FallbackLang); // in unit gettext
TranslateUnitResourceStrings('rxconst',NormalizeDirectoryName('../../languages/rxconst.%s.po'), Lang, FallbackLang);
TranslateUnitResourceStrings('rxdconst',NormalizeDirectoryName('../../languages/rxdconst.%s.po'), Lang, FallbackLang);
end;
{$R *.lfm}
{ TRxDBGridMainForm }
procedure TRxDBGridMainForm.FormCreate(Sender: TObject);
begin
RxAboutDialog1.LicenseFileName:=AppendPathDelim(AppendPathDelim(ExtractFileDir(ParamStrUTF8(0))) + 'docs')+'COPYING.GPL.txt';
RxMemoryData2.Open;
RxMemoryData2.AppendRecord([1, 'Open source']);
RxMemoryData2.AppendRecord([2, 'Borland']);
RxMemoryData2.AppendRecord([3, 'Microsoft']);
RxMemoryData1.Open;
RxMemoryData1.AppendRecord([1, 'Lazarus 0.9.23', 0, 'Open source', EncodeDate(2006, 1, 1), 1]);
RxMemoryData1.AppendRecord([2, 'Delphi 7.0 Prof', 990, 'Borland', EncodeDate(2002, 1, 1), 2]);
RxMemoryData1.AppendRecord([3, 'Open Office 2.2.0', 0, 'Open source', EncodeDate(2006, 10, 1), 1]);
RxMemoryData1.AppendRecord([4, 'Microsoft Office', 150, 'Microsoft', EncodeDate(1997, 8, 12), 3]);
RxMemoryData1.AppendRecord([5, 'Microsoft Windows 95', 50, 'Microsoft', EncodeDate(1995, 8, 12), 3]);
RxMemoryData1.AppendRecord([6, 'Microsoft Windows 98', 90, 'Microsoft', EncodeDate(1997, 12, 12), 3]);
RxMemoryData1.AppendRecord([7, 'Microsoft Windows ME', 90, 'Microsoft', EncodeDate(1999, 10, 25), 3]);
RxMemoryData1.AppendRecord([8, 'Microsoft Windows NT 4.0', 250, 'Microsoft', EncodeDate(1996, 2, 3), 3]);
RxMemoryData1.AppendRecord([9, 'Microsoft Windows 2000', 150, 'Microsoft', EncodeDate(1999, 11, 13), 3]);
RxMemoryData1.AppendRecord([10, 'Microsoft Windows XP', 130, 'Microsoft', EncodeDate(2003, 10, 1), 3]);
RxMemoryData1.AppendRecord([11, 'Microsoft Windows Vista', 180, 'Microsoft', EncodeDate(2007, 2, 1), 3]);
RxMemoryData1.AppendRecord([12, 'Поисковая системя Яндекс', 0, 'Yandex', EncodeDate(2007, 2, 1), 3]);
RxMemoryData1.AppendRecord([13, 'Бухгалтерия 1С', 280, '1С', EncodeDate(1994, 2, 1), 3]);
RxMemoryData1.AppendRecord([14, 'Бух. комплекс "45-я Параллель"', 180, 'ООО "Boot"', EncodeDate(2007, 2, 1), 3]);
RxMemoryData1.AppendRecord([15, 'Консультант+', 380, 'Консультант+', EncodeDate(2007, 2, 1), 3]);
RxMemoryData1.AppendRecord([16, 'Гарант', 480, 'Гарант', EncodeDate(2007, 2, 1), 3]);
RxMemoryData1.First;
end;
procedure TRxDBGridMainForm.hlpAboutExecute(Sender: TObject);
begin
RxAboutDialog1.Execute;
end;
procedure TRxDBGridMainForm.RxDBGrid1Filtred(Sender: TObject);
begin
RxMemoryData1.First;
end;
procedure TRxDBGridMainForm.RxDBGrid1GetCellProps(Sender: TObject;
Field: TField; AFont: TFont; var Background: TColor);
begin
if (Field = RxMemoryData1PRICE1) and (RxMemoryData1PRICE1.AsFloat>99) then
Background:=clRed;
end;
procedure TRxDBGridMainForm.showColumnsDialogExecute(Sender: TObject);
begin
RxDBGrid1.ShowColumnsDialog;
end;
procedure TRxDBGridMainForm.showFindDialogExecute(Sender: TObject);
begin
RxDBGrid1.ShowFindDialog;
end;
procedure TRxDBGridMainForm.sysExitExecute(Sender: TObject);
begin
Close;
end;
procedure TRxDBGridMainForm.TRxColumnEditButtons0Click(Sender: TObject);
begin
ShowMessage('Click first button');
end;
procedure TRxDBGridMainForm.TRxColumnEditButtons1Click(Sender: TObject);
begin
ShowMessage('Click next button');
end;
procedure TRxDBGridMainForm.TRxColumnEditButtons2Click(Sender: TObject);
begin
if RxMemoryData1.State <> dsEdit then
RxMemoryData1.Edit;
RxMemoryData1PRICE1.Clear;
RxMemoryData1.Post;
end;
procedure TRxDBGridMainForm.DoFillFilters;
var
C:TRxColumn;
i:integer;
begin
for i:=0 to RxDBGrid1.Columns.Count-1 do
begin
C:=TRxColumn(RxDBGrid1.Columns[i]);
C.Filter.EmptyValue:='None...';
C.Filter.ValueList.Add(C.Filter.EmptyValue);
end;
RxMemoryData1.First;
while not RxMemoryData1.EOF do
begin
for i:=0 to RxDBGrid1.Columns.Count-1 do
begin
C:=TRxColumn(RxDBGrid1.Columns[i]);
if C.Filter.ValueList.IndexOf(C.Field.AsString)<0 then
C.Filter.ValueList.Add(C.Field.AsString);
end;
RxMemoryData1.Next;
end;
end;
procedure TRxDBGridMainForm.actCalcTotalExecute(Sender: TObject);
begin
RxDBGrid1.CalcStatTotals;
end;
procedure TRxDBGridMainForm.actOptimizeColumnsWidthAllExecute(Sender: TObject);
begin
RxDBGrid1.OptimizeColumnsWidthAll;
end;
procedure TRxDBGridMainForm.actOptimizeWidthCol1Execute(Sender: TObject);
begin
TRxColumn(RxDBGrid1.SelectedColumn).OptimizeWidth;
end;
procedure TRxDBGridMainForm.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.Checked then
RxDBGrid1.OptionsRx:=RxDBGrid1.OptionsRx + [rdgFilter]
else
RxDBGrid1.OptionsRx:=RxDBGrid1.OptionsRx - [rdgFilter];
RxMemoryData1.Filtered:=CheckBox1.Checked;
end;
procedure TRxDBGridMainForm.CheckBox2Change(Sender: TObject);
begin
RxDBGrid1.AutoFillColumns:=CheckBox2.Checked;
end;
procedure TRxDBGridMainForm.CheckBox3Change(Sender: TObject);
begin
if CheckBox3.Checked then
RxDBGrid1.Options:=RxDBGrid1.Options + [dgIndicator]
else
RxDBGrid1.Options:=RxDBGrid1.Options - [dgIndicator];
end;
procedure TRxDBGridMainForm.CheckBox4Change(Sender: TObject);
begin
if CheckBox4.Checked then
RxDBGrid1.Options:=RxDBGrid1.Options + [dgTitles]
else
RxDBGrid1.Options:=RxDBGrid1.Options - [dgTitles];
end;
procedure TRxDBGridMainForm.CheckBox5Change(Sender: TObject);
begin
if CheckBox5.Checked then
RxDBGrid1.OptionsRx:=RxDBGrid1.OptionsRx + [rdgWordWrap]
else
RxDBGrid1.OptionsRx:=RxDBGrid1.OptionsRx - [rdgWordWrap];
end;
procedure TRxDBGridMainForm.ComboBox1Change(Sender: TObject);
begin
RxDBGrid1.ReadOnly:=ComboBox1.ItemIndex <> 0;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="4">
<Item1>
<PackageName Value="rxdbgrid_export_spreadsheet"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
</Item2>
<Item3>
<PackageName Value="rxnew"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, rxnew
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="5">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<WindowIndex Value="-1"/>
<TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/>
<UsageCount Value="21"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<TopLine Value="10"/>
<CursorPos X="46" Y="23"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../../fpspreadsheet/fpspreadsheet.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="4364"/>
<CursorPos Y="4385"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="unit1.lfm"/>
<EditorIndex Value="-1"/>
<TopLine Value="223"/>
<CursorPos X="56" Y="250"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="LFM"/>
</Unit3>
<Unit4>
<Filename Value="../../rxdbgridexportspreadsheet.pas"/>
<UnitName Value="RxDBGridExportSpreadSheet"/>
<EditorIndex Value="1"/>
<TopLine Value="35"/>
<CursorPos X="34" Y="54"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit4>
</Units>
<JumpHistory Count="22" HistoryIndex="21">
<Position1>
<Filename Value="unit1.pas"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="15" Column="27"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="16" Column="33"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="52" Column="22" TopLine="11"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="53" Column="22" TopLine="11"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="54" Column="22" TopLine="12"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="55" Column="22" TopLine="13"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="57" Column="22" TopLine="15"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="53" Column="50" TopLine="22"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="69" Column="57" TopLine="30"/>
</Position10>
<Position11>
<Filename Value="unit1.pas"/>
<Caret Line="67" Column="40" TopLine="36"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="52" Column="59" TopLine="32"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="48" Column="49" TopLine="8"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="8" Column="75" TopLine="8"/>
</Position14>
<Position15>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="22" TopLine="8"/>
</Position15>
<Position16>
<Filename Value="unit1.pas"/>
<Caret Line="22" Column="26" TopLine="8"/>
</Position16>
<Position17>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="60" TopLine="8"/>
</Position17>
<Position18>
<Filename Value="unit1.pas"/>
<Caret Line="83" TopLine="48"/>
</Position18>
<Position19>
<Filename Value="unit1.pas"/>
<Caret Line="77" TopLine="43"/>
</Position19>
<Position20>
<Filename Value="unit1.pas"/>
<Caret Line="67" TopLine="43"/>
</Position20>
<Position21>
<Filename Value="unit1.pas"/>
<Caret Line="72" Column="35" TopLine="43"/>
</Position21>
<Position22>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="46" TopLine="10"/>
</Position22>
</JumpHistory>
</ProjectSession>
</CONFIG>

View File

@ -0,0 +1,265 @@
object Form1: TForm1
Left = 609
Height = 527
Top = 272
Width = 746
Caption = 'Form1'
ClientHeight = 527
ClientWidth = 746
OnCreate = FormCreate
LCLVersion = '1.3'
object RxDBGrid1: TRxDBGrid
Left = 0
Height = 457
Top = 70
Width = 746
TitleButtons = False
AutoSort = True
Columns = <
item
Color = clMoneyGreen
Title.Alignment = taCenter
Title.Caption = 'CODE'
Title.Orientation = toHorizontal
Width = 90
FieldName = 'CODE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Color = clAqua
Title.Alignment = taCenter
Title.Caption = 'NAME'
Title.Orientation = toHorizontal
Width = 350
FieldName = 'NAME'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end
item
Title.Alignment = taCenter
Title.Caption = 'PRICE'
Title.Orientation = toHorizontal
Width = 120
FieldName = 'PRICE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
end>
KeyStrokes = <
item
Command = rxgcShowFindDlg
ShortCut = 16454
Enabled = True
end
item
Command = rxgcShowColumnsDlg
ShortCut = 16471
Enabled = True
end
item
Command = rxgcShowFilterDlg
ShortCut = 16468
Enabled = True
end
item
Command = rxgcShowSortDlg
ShortCut = 16467
Enabled = True
end
item
Command = rxgcShowQuickFilter
ShortCut = 16465
Enabled = True
end
item
Command = rxgcHideQuickFilter
ShortCut = 16456
Enabled = True
end
item
Command = rxgcSelectAll
ShortCut = 16449
Enabled = True
end
item
Command = rxgcDeSelectAll
ShortCut = 16429
Enabled = True
end
item
Command = rxgcInvertSelection
ShortCut = 16426
Enabled = True
end
item
Command = rxgcOptimizeColumnsWidth
ShortCut = 16427
Enabled = True
end
item
Command = rxgcCopyCellValue
ShortCut = 16451
Enabled = True
end>
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgAllowToolMenu]
Align = alClient
Color = clWindow
DrawFullLine = False
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = DataSource1
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
ParentColor = False
TabOrder = 0
TitleStyle = tsNative
end
object Panel1: TPanel
Left = 0
Height = 70
Top = 0
Width = 746
Align = alTop
AutoSize = True
ClientHeight = 70
ClientWidth = 746
TabOrder = 1
object Label1: TLabel
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 7
Height = 19
Top = 7
Width = 131
BorderSpacing.Around = 6
Caption = 'SpeadSheet file name '
ParentColor = False
end
object CheckBox1: TCheckBox
AnchorSideTop.Control = Panel1
AnchorSideRight.Control = Panel1
AnchorSideRight.Side = asrBottom
Left = 606
Height = 23
Top = 7
Width = 133
Anchors = [akTop, akRight]
BorderSpacing.Around = 6
Caption = 'Open after export'
Checked = True
State = cbChecked
TabOrder = 0
end
object FileNameEdit1: TFileNameEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 13
Height = 31
Top = 32
Width = 275
FilterIndex = 0
HideDirectories = False
ButtonWidth = 23
NumGlyphs = 1
BorderSpacing.Around = 6
MaxLength = 0
TabOrder = 1
end
object Button1: TButton
AnchorSideLeft.Control = FileNameEdit1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = FileNameEdit1
AnchorSideTop.Side = asrCenter
Left = 294
Height = 33
Top = 31
Width = 87
Caption = 'Export data'
OnClick = Button1Click
TabOrder = 2
end
end
object RxMemoryData1: TRxMemoryData
FieldDefs = <
item
Name = 'CODE'
DataType = ftInteger
Precision = 0
Size = 0
end
item
Name = 'NAME'
DataType = ftString
Precision = 0
Size = 300
end
item
Name = 'PRICE'
DataType = ftCurrency
Precision = 0
Size = 0
end>
PacketRecords = 0
left = 368
top = 184
object RxMemoryData1CODE: TLongintField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'CODE'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object RxMemoryData1NAME: TStringField
DisplayWidth = 300
FieldKind = fkData
FieldName = 'NAME'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 300
end
object RxMemoryData1PRICE: TCurrencyField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'PRICE'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
MaxValue = 0
MinValue = 0
Precision = 2
end
end
object DataSource1: TDataSource
DataSet = RxMemoryData1
left = 328
top = 184
end
object RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet
RxDBGrid = RxDBGrid1
Caption = 'Экспорт в электронную таблицу'
ShowSetupForm = True
OnBeforeExecute = RxDBGridExportSpreadSheet1BeforeExecute
PageName = 'Test page'
Options = [ressExportTitle, ressExportColors, ressExportFooter, ressOverwriteExisting]
left = 336
top = 256
end
end

View File

@ -0,0 +1,78 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, RxDBGridExportSpreadSheet,
Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, EditBtn, db;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
CheckBox1: TCheckBox;
DataSource1: TDataSource;
FileNameEdit1: TFileNameEdit;
Label1: TLabel;
Panel1: TPanel;
RxDBGrid1: TRxDBGrid;
RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet;
RxMemoryData1: TRxMemoryData;
RxMemoryData1CODE: TLongintField;
RxMemoryData1NAME: TStringField;
RxMemoryData1PRICE: TCurrencyField;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RxDBGridExportSpreadSheet1BeforeExecute(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses LCLIntf;
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
RxMemoryData1.Open;
//fill test values
for i:=1 to 20 do
begin
RxMemoryData1.Append;
RxMemoryData1CODE.AsInteger:=i;
RxMemoryData1NAME.AsString:=Format('Line %d', [i]);
RxMemoryData1PRICE.AsFloat:=Random * 100 + 5;
RxMemoryData1.Post;
end;
RxMemoryData1.Open;
FileNameEdit1.Text:='test1.ods';
end;
procedure TForm1.RxDBGridExportSpreadSheet1BeforeExecute(Sender: TObject);
begin
RxDBGridExportSpreadSheet1.FileName:=FileNameEdit1.Text;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RxDBGridExportSpreadSheet1.Execute;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,351 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<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="rxnew"/>
<MinVersion Major="2" Minor="1" Release="1" Build="103" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPackages>
<Units Count="23">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="14"/>
<UsageCount Value="20"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="6"/>
<CursorPos X="26" Y="13"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../curredit.pas"/>
<UnitName Value="curredit"/>
<WindowIndex Value="0"/>
<TopLine Value="469"/>
<CursorPos X="1" Y="485"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="../../tooledit.pas"/>
<UnitName Value="tooledit"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="794"/>
<CursorPos X="5" Y="797"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="../../rx.inc"/>
<TopLine Value="1"/>
<CursorPos X="20" Y="11"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="../../../../lcl/maskedit.pp"/>
<UnitName Value="MaskEdit"/>
<TopLine Value="149"/>
<CursorPos X="30" Y="145"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="../../../../lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<TopLine Value="677"/>
<CursorPos X="3" Y="693"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/>
<TopLine Value="1720"/>
<CursorPos X="15" Y="1736"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../lcl/include/wincontrol.inc"/>
<TopLine Value="4997"/>
<CursorPos X="1" Y="5013"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../../../lcl/dbctrls.pp"/>
<UnitName Value="DbCtrls"/>
<TopLine Value="196"/>
<CursorPos X="15" Y="212"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../../../lcl/include/dbedit.inc"/>
<TopLine Value="263"/>
<CursorPos X="3" Y="265"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="../../../../lcl/graphics.pp"/>
<UnitName Value="Graphics"/>
<TopLine Value="1099"/>
<CursorPos X="15" Y="1115"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="../../../../lcl/include/canvas.inc"/>
<TopLine Value="1057"/>
<CursorPos X="1" Y="1073"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="../../../../lcl/include/control.inc"/>
<TopLine Value="1615"/>
<CursorPos X="1" Y="1631"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="../../../../lcl/lclmessageglue.pas"/>
<UnitName Value="LCLMessageGlue"/>
<TopLine Value="105"/>
<CursorPos X="1" Y="121"/>
<UsageCount Value="10"/>
</Unit14>
<Unit15>
<Filename Value="../../../../lcl/interfaces/gtk/gtkproc.inc"/>
<TopLine Value="3696"/>
<CursorPos X="1" Y="3712"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="../../../../lcl/interfaces/gtk/gtkcallback.inc"/>
<TopLine Value="660"/>
<CursorPos X="1" Y="676"/>
<UsageCount Value="10"/>
</Unit16>
<Unit17>
<Filename Value="../../../../lcl/interfaces/gtk/gtkwidgetset.inc"/>
<TopLine Value="1200"/>
<CursorPos X="1" Y="1226"/>
<UsageCount Value="10"/>
</Unit17>
<Unit18>
<Filename Value="../../dbdateedit.pas"/>
<UnitName Value="dbdateedit"/>
<WindowIndex Value="0"/>
<TopLine Value="211"/>
<CursorPos X="1" Y="227"/>
<UsageCount Value="10"/>
</Unit18>
<Unit19>
<Filename Value="/home/alexs/install/fpcsrc/rtl/objpas/sysutils/sysinth.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="77"/>
<CursorPos X="37" Y="93"/>
<UsageCount Value="10"/>
</Unit19>
<Unit20>
<Filename Value="../../../../lcl/editbtn.pas"/>
<UnitName Value="EditBtn"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="774"/>
<CursorPos X="1" Y="792"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit20>
<Unit21>
<Filename Value="../../../rxnet/registerrxnet.pas"/>
<UnitName Value="RegisterRxNet"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="34" Y="19"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit21>
<Unit22>
<Filename Value="../../registerrxtools.pas"/>
<UnitName Value="RegisterRxTools"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="22"/>
<CursorPos X="1" Y="48"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit22>
</Units>
<JumpHistory Count="21" HistoryIndex="20">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="1" TopLine="28"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="22" TopLine="8"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="1" TopLine="28"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="47" Column="1" TopLine="28"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="26" TopLine="28"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="20" Column="25" TopLine="20"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="22" Column="20" TopLine="20"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="9" Column="22" TopLine="9"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="39" Column="1" TopLine="22"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="38" Column="1" TopLine="22"/>
</Position10>
<Position11>
<Filename Value="unit1.pas"/>
<Caret Line="40" Column="7" TopLine="22"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="39" Column="7" TopLine="21"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="40" Column="7" TopLine="21"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="39" Column="7" TopLine="21"/>
</Position14>
<Position15>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="15" TopLine="6"/>
</Position15>
<Position16>
<Filename Value="../../tooledit.pas"/>
<Caret Line="161" Column="50" TopLine="142"/>
</Position16>
<Position17>
<Filename Value="../../tooledit.pas"/>
<Caret Line="897" Column="1" TopLine="868"/>
</Position17>
<Position18>
<Filename Value="../../../../lcl/editbtn.pas"/>
<Caret Line="249" Column="3" TopLine="234"/>
</Position18>
<Position19>
<Filename Value="../../tooledit.pas"/>
<Caret Line="223" Column="1" TopLine="203"/>
</Position19>
<Position20>
<Filename Value="../../tooledit.pas"/>
<Caret Line="900" Column="1" TopLine="870"/>
</Position20>
<Position21>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="15" TopLine="6"/>
</Position21>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
<EditorMacros Count="0"/>
</CONFIG>

View File

@ -0,0 +1,23 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms,
Unit1,
sysutils
{ you can add units after this };
{$R *.res}
begin
DefaultFormatSettings.ShortDateFormat:='dd.mm.yyyy';
DefaultFormatSettings.DateSeparator:='.';
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -0,0 +1,7 @@
#define RT_MANIFEST 24
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "project1.manifest"
MAINICON ICON "project1.ico"

View File

@ -0,0 +1,121 @@
object Form1: TForm1
Left = 608
Height = 300
Top = 495
Width = 400
Caption = 'Form1'
ClientHeight = 300
ClientWidth = 400
OnCreate = FormCreate
LCLVersion = '1.3'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 15
Top = 6
Width = 43
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Label1'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DBDateEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 58
Width = 87
BorderSpacing.Around = 6
Caption = 'Currency edit'
ParentColor = False
end
object CurrencyEdit1: TCurrencyEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 25
Top = 79
Width = 148
Alignment = taCenter
BorderSpacing.Around = 6
MaxValue = 0
MinValue = 0
TabOrder = 0
Value = 0
end
object Button1: TButton
Left = 248
Height = 27
Top = 80
Width = 77
AutoSize = True
Caption = 'Invalidate'
OnClick = Button1Click
TabOrder = 1
end
object RxDateEdit1: TRxDateEdit
Left = 12
Height = 25
Top = 135
Width = 80
ButtonWidth = 23
CharCase = ecNormal
MaxLength = 10
NumGlyphs = 2
PopupColor = clWindow
TabOrder = 2
Text = ' . . '
end
object DBDateEdit1: TDBDateEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 12
Height = 25
Top = 27
Width = 139
BorderSpacing.Left = 6
BorderSpacing.Top = 6
ButtonWidth = 23
CharCase = ecNormal
Enabled = False
MaxLength = 10
NumGlyphs = 2
PopupColor = clWindow
TabOrder = 3
Text = ' . . '
DataField = 'DOC_DATE'
DataSource = dsData
end
object dsData: TDataSource
DataSet = rxData
left = 264
top = 21
end
object rxData: TRxMemoryData
FieldDefs = <
item
Name = 'DOC_DATE'
DataType = ftDate
Precision = 0
Size = 0
end>
PacketRecords = 0
left = 304
top = 21
object rxDataDOC_DATE: TDateField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'DOC_DATE'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
end
end

View File

@ -0,0 +1,43 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'`'#2#6'Height'#3','#1#3'Top'#3#239#1#5'Wi'
+'dth'#3#144#1#7'Caption'#6#5'Form1'#12'ClientHeight'#3','#1#11'ClientWidth'#3
+#144#1#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.29'#0#6'TLabel'#6
+'Label1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5
+'Owner'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2'.'#18'BorderSpacing'
+'.Left'#2#6#17'BorderSpacing.Top'#2#6#7'Caption'#6#6'Label1'#11'ParentColor'
+#8#0#0#6'TLabel'#6'Label2'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSi'
+'deTop.Control'#7#11'DBDateEdit1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2#18#3'Top'#2'?'#5'Width'#2']'#20'BorderSpacing.Around'#2
+#6#7'Caption'#6#13'Currency edit'#11'ParentColor'#8#0#0#11'TDBDateEdit'#11'D'
+'BDateEdit1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop.Control'
+#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#12#6'Height'#2
+#27#3'Top'#2#30#5'Width'#3#148#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing'
+'.Top'#2#6#11'ButtonWidth'#2#23#7'Enabled'#8#10'Glyph.Data'#10':'#1#0#0'6'#1
+#0#0'BM6'#1#0#0#0#0#0#0'v'#0#0#0'('#0#0#0#28#0#0#0#12#0#0#0#1#0#4#0#0#0#0#0
+#192#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128
+#128#0#128#0#0#0#128#0#128#0#128#128#0#0#128#128#128#0#192#192#192#0#0#0#255
+#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0#221
+#215'wwwww'#221#255#255#255#255#255#255#0#0#221#0'@D'#4#0'G'#215'wwwww'#127#0
+#0#221#255#255#255#255#255'G'#215#253#255#253#255#253#127#0#0#221#240#0#240#0
+#143'G'#215#247'w'#215'w'#223#127#0#0#221#255#15#248#248#15'G'#215#253#127
+#221#221#127#127#0#0#221#255#15#255#255#15'G'#215#253#127#221#255'}'#127#0#0
+#221#255#15#240#0#143'G'#215#253#127#215'w'#221#127#0#0#221#240#15#240#255
+#255'G'#215#247#127#215#255#255#127#0#0#221#255#15#240#0#15'G'#215#253'}'#215
+'w}'#127#0#0#221#255#255#255#255#255'G'#215#253#221#221#221#221#127#0#0#221
+#248#136#136#136#143'G'#215#255#255#255#255#255#127#0#0#221#0#0#0#0#0#221#215
+'wwwww}'#0#0#9'NumGlyphs'#2#2#10'PopupColor'#7#8'clWindow'#8'TabOrder'#2#0#9
+'DataField'#6#8'DOC_DATE'#10'DataSource'#7#6'dsData'#0#0#13'TCurrencyEdit'#13
+'CurrencyEdit1'#22'AnchorSideLeft.Control'#7#6'Label2'#21'AnchorSideTop.Cont'
+'rol'#7#6'Label2'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#12#6'Heigh'
+'t'#2#27#3'Top'#2'W'#5'Width'#3#148#0#9'Alignment'#7#8'taCenter'#20'BorderSp'
+'acing.Around'#2#6#8'MaxValue'#2#0#8'MinValue'#2#0#8'TabOrder'#2#1#5'Value'#2
+#0#0#0#7'TButton'#7'Button1'#4'Left'#3#248#0#6'Height'#2#29#3'Top'#2'P'#5'Wi'
+'dth'#2'L'#8'AutoSize'#9#7'Caption'#6#10'Invalidate'#7'OnClick'#7#12'Button1'
+'Click'#8'TabOrder'#2#2#0#0#11'TDatasource'#6'dsData'#7'DataSet'#7#6'rxData'
+#4'left'#3#8#1#3'top'#2#21#0#0#13'TRxMemoryData'#6'rxData'#9'FieldDefs'#14#1
+#4'Name'#6#8'DOC_DATE'#8'DataType'#7#6'ftDate'#9'Precision'#2#0#4'Size'#2#0#0
+#0#4'left'#3'0'#1#3'top'#2#21#0#10'TDateField'#14'rxDataDOC_DATE'#12'Display'
+'Width'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#8'DOC_DATE'#5'Index'#2#0
+#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'Read'
+'Only'#8#8'Required'#8#0#0#0#0
]);

View File

@ -0,0 +1,56 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, StdCtrls, rxmemds, dbdateedit, curredit, tooledit;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
CurrencyEdit1: TCurrencyEdit;
DBDateEdit1: TDBDateEdit;
dsData: TDatasource;
Label1: TLabel;
Label2: TLabel;
rxData: TRxMemoryData;
rxDataDOC_DATE: TDateField;
RxDateEdit1: TRxDateEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
rxData.Open;
rxData.Append;
rxDataDOC_DATE.AsDateTime:=Now;
CurrencyEdit1.Value:=1214.55
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CurrencyEdit1.Invalidate;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,87 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, rxnew
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,272 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectSession>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="16">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="28"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="45"/>
<CursorPos X="26" Y="58"/>
<UsageCount Value="28"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../rxhistorynavigator.pas"/>
<UnitName Value="RxHistoryNavigator"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="179"/>
<CursorPos X="3" Y="181"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="/home/alexs/install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="102"/>
<CursorPos X="55" Y="120"/>
<UsageCount Value="12"/>
</Unit3>
<Unit4>
<Filename Value="/home/alexs/work/makosh/trunk/MakoshShared/system/makoshnavigateobjectunit.pas"/>
<UnitName Value="makoshNavigateObjectUnit"/>
<WindowIndex Value="0"/>
<TopLine Value="37"/>
<CursorPos X="1" Y="38"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="../../../../lcl/actnlist.pas"/>
<UnitName Value="ActnList"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="14" Y="22"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="../../rxtoolbar.pas"/>
<UnitName Value="rxtoolbar"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="31"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/include/control.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1398"/>
<CursorPos X="1" Y="1416"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../lcl/include/customaction.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="104"/>
<CursorPos X="1" Y="134"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../../../lcl/include/controlactionlink.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="31"/>
<CursorPos X="1" Y="50"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../../../lcl/include/actionlink.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="3"/>
<CursorPos X="1" Y="33"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="../../registerrxdb.pas"/>
<UnitName Value="RegisterRxDB"/>
<WindowIndex Value="0"/>
<TopLine Value="45"/>
<CursorPos X="47" Y="62"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="../../../../ideintf/dbpropedits.pas"/>
<UnitName Value="DBPropEdits"/>
<WindowIndex Value="0"/>
<TopLine Value="115"/>
<CursorPos X="1" Y="146"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="../../../../ideintf/propedits.pp"/>
<UnitName Value="PropEdits"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="15" Y="26"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="../../registerrx.pas"/>
<UnitName Value="registerrx"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="65"/>
<CursorPos X="1" Y="84"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
<Filename Value="../../rxconst.pas"/>
<UnitName Value="rxconst"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="89"/>
<CursorPos X="1" Y="119"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit15>
</Units>
<General>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../rxtoolbar.pas"/>
<Caret Line="35" Column="1" TopLine="1"/>
</Position1>
<Position2>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="4" Column="1" TopLine="1"/>
</Position2>
<Position3>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="32" Column="6" TopLine="1"/>
</Position3>
<Position4>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="3" Column="26" TopLine="1"/>
</Position4>
<Position5>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="241" Column="1" TopLine="223"/>
</Position5>
<Position6>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="272" Column="1" TopLine="254"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="57" Column="6" TopLine="39"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="56" Column="26" TopLine="39"/>
</Position8>
<Position9>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="387" Column="13" TopLine="367"/>
</Position9>
<Position10>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="103" Column="89" TopLine="77"/>
</Position10>
<Position11>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="104" Column="76" TopLine="86"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="49" Column="7" TopLine="38"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="51" Column="7" TopLine="40"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="72" Column="7" TopLine="46"/>
</Position14>
<Position15>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="333" Column="26" TopLine="324"/>
</Position15>
<Position16>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="338" Column="1" TopLine="324"/>
</Position16>
<Position17>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="98" Column="1" TopLine="90"/>
</Position17>
<Position18>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="160" Column="1" TopLine="126"/>
</Position18>
<Position19>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="110" Column="25" TopLine="94"/>
</Position19>
<Position20>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="122" Column="15" TopLine="100"/>
</Position20>
<Position21>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="185" Column="1" TopLine="156"/>
</Position21>
<Position22>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="113" Column="1" TopLine="99"/>
</Position22>
<Position23>
<Filename Value="../../registerrx.pas"/>
<Caret Line="55" Column="7" TopLine="54"/>
</Position23>
<Position24>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="109" Column="14" TopLine="100"/>
</Position24>
<Position25>
<Filename Value="../../registerrx.pas"/>
<Caret Line="128" Column="1" TopLine="92"/>
</Position25>
<Position26>
<Filename Value="../../registerrx.pas"/>
<Caret Line="118" Column="36" TopLine="100"/>
</Position26>
<Position27>
<Filename Value="../../registerrx.pas"/>
<Caret Line="120" Column="29" TopLine="102"/>
</Position27>
<Position28>
<Filename Value="../../registerrx.pas"/>
<Caret Line="122" Column="31" TopLine="104"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="58" Column="26" TopLine="45"/>
</Position29>
<Position30>
<Filename Value="../../rxhistorynavigator.pas"/>
<Caret Line="378" Column="10" TopLine="358"/>
</Position30>
</JumpHistory>
</ProjectSession>
</CONFIG>

View File

@ -0,0 +1,387 @@
object Form1: TForm1
Left = 484
Height = 397
Top = 317
Width = 552
Caption = 'Find form'
ClientHeight = 397
ClientWidth = 552
Position = poScreenCenter
ShowHint = True
LCLVersion = '0.9.31'
object ToolPanel1: TToolPanel
Left = 0
Height = 34
Top = 0
Width = 552
Items = <
item
Action = actExit
Visible = True
Left = 5
Height = 24
Top = 5
Width = 53
ShowCaption = True
end
item
Visible = True
Left = 58
Height = 24
Top = 5
Width = 7
ShowCaption = False
ButtonStyle = tbrSeparator
end
item
Action = actBack
Visible = True
Left = 65
Height = 24
Top = 5
Width = 76
ShowCaption = True
ButtonStyle = tbrDropDownExtra
end
item
Action = actForward
Visible = True
Left = 141
Height = 24
Top = 5
Width = 89
ShowCaption = True
ButtonStyle = tbrDropDownExtra
end>
ImageList = ImageList1
ToolBarStyle = tbsWindowsXP
Options = [tpFlatBtns]
Align = alTop
BorderWidth = 4
ClientHeight = 34
ClientWidth = 552
TabOrder = 0
end
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ToolPanel1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 18
Top = 40
Width = 99
BorderSpacing.Around = 6
Caption = 'Enter finde text'
ParentColor = False
end
object Edit1: TEdit
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn1
Left = 6
Height = 27
Top = 64
Width = 476
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 1
Text = 'text to find'
end
object Memo1: TMemo
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = StatusBar1
Left = 6
Height = 273
Top = 97
Width = 540
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
TabOrder = 2
end
object BitBtn1: TBitBtn
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 488
Height = 30
Top = 62
Width = 58
Action = actFind
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Glyph.Data = {
46050000424D4605000000000000360000002800000012000000120000000100
2000000000001005000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF003E39
34FF393430FF332F2BFF2C2925FF272421FF201D1BFF1716141A110F0EDB0B0A
09FF070706FF040403FF000000FF000000FFFFFFFF00FFFFFF00000000000000
0000FFFFFF0046413BFF857A70FFC3B8AEFF7C7268FF7F756BFF36322DFF1E1C
190F282522D495897DFFBAAEA2FF7C7268FF7F756BFF010101FFFFFFFF00FFFF
FF000000000000000000FFFFFF004D4741FF83786FFFCCC3BAFF786F65FF7B71
67FF2F2B28F9272421011D1B18EE95897DFFC2B8ADFF786F65FF7C7268FF0605
05FFFFFFFF00FFFFFF000000000000000000FFFFFF00534C46FC83786FFFCCC3
BAFF797066FF71685FFF37332ED5FFFFFF00252220D5857A70FFC2B8ADFF786F
65FF7B7167FF0A0908FCFFFFFF00FFFFFF000000000000000000FFFFFF005A52
4CC39F9286FFCCC3BAFFC0B4AAFFA6988BFF3E3934A8FFFFFF002C2925A89084
79FFC2B8ADFFC0B4AAFFA89B8EFF110F0EC3FFFFFF00FFFFFF00000000000000
0000797066055C554EF9423D38FF58514AFF3D3833FF332F2BFF23201DE51716
14301E1C19B51A1816FF252220FF191715FF0F0E0DFF010101EE00000002FFFF
FF0000000000000000009F9286059D9185FFB1A396FF7F756BFF7C7268FF776D
64FF6C635BFF2E2A26FF564F48FF80766CFF7C7268FF776D64FF70675EFF0000
00FE00000005FFFFFF000000000000000000AB9D9004AFA194E1BAAEA2FF8277
6DFF82776DFFAA917BFFBAA794FFB7A48EFAB09781FF9F8D7DFF836D5BFF7163
57FF95897DFF040403E000000003FFFFFF000000000000000000B9ACA008877D
72489B8E82FF9D9185FF867B71FF564F48FF504A44FF80766CFF6E665DFF826C
58FFA6917DFF948474FF564F48FF0C0B0B7A07070601FFFFFF00000000000000
0000FFFFFF00FFFFFF00746B62FFA4978AFF95897DFF9F9286FF3E3934FFFFFF
FF004C4640FF7E746AFF857A70FF3E3934FF453F3AA72522200C15131102FFFF
FF000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008E8378E2C3B8
AEFF655D55FFFFFFFF007C7268FFA89B8EFF9C8F83E4FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
FF009C8F83E2BCB0A4FF9D9185FFFFFFFF00AEA093FF9D9185FF655D55DAFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF000000000000000000
}
TabOrder = 3
end
object StatusBar1: TStatusBar
Left = 0
Height = 21
Top = 376
Width = 552
Panels = <>
end
object ActionList1: TActionList
Images = ImageList1
left = 264
top = 200
object actExit: TAction
Caption = 'Exit'
ImageIndex = 0
OnExecute = actExitExecute
end
object actFind: TAction
Caption = 'Find'
ImageIndex = 1
OnExecute = actFindExecute
end
object actBack: TAction
Caption = 'Back'
Enabled = False
ImageIndex = 2
end
object actForward: TAction
Caption = 'Repeat'
Enabled = False
ImageIndex = 3
end
end
object ImageList1: TImageList
Height = 18
Width = 18
left = 320
top = 200
Bitmap = {
4C69040000001200000012000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF006D9CD4896A9AD2FB6697CFEE0000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00709ED6DB6D9CD4FF85B1DAFF5A91B9FF6093CBEA0000000000000000FFFF
FF00FFFFFF00808080FF7E7E7EFF7C7C7CFF7A7A7AFF777777FF757575FF7272
72FF719ED4FF6F9ED6FF87B2DCFFABD3E8FFA9D0E6FF5890B8FF598EC6EA0000
000000000000FFFFFF00FFFFFF007D7D7DFF999999FF999999FF9A9A9AFF9A9A
9AFF9B9B9BFF9B9B9BFF6F9DD3FFAAD1E7FFABD1E7FF98C7E1FF91C2DEFF568F
B7FF5289C1EA0000000000000000FFFFFF00FFFFFF007A7A7AFF999999FF5291
59FF999A99FF9B9B9BFF9C9C9CFF9C9C9CFF6C9AD0FFA7CEE5FF8FC1DFFF89BD
DCFF8BBDDCFF538DB6FF4B84BCEA0000000000000000FFFFFF00FFFFFF007777
77FF9A9A9AFF3D8A45FF498A4FFF9C9C9CFF9D9D9DFF9D9D9DFF6696CCFFA2CB
E3FF89BDDCFF83B9DAFF84B9DAFF518BB5FF437EB6EA00000000000000004494
4DFF42914BFF3F8D48FF3D8945FF5DA465FF5AA061FF45834BFF9E9E9EFF9E9E
9EFF6092C9FF9EC7E2FF83B8DAFF7DB4D7FF7EB3D7FF4F89B4FF3B79B1EA0000
00000000000041904AFF94D29FFF91D09AFF8DCD96FF89CB92FF84C88DFF5198
58FF417C46FF9F9F9FFF5A8EC4FF98C3E0FF7CB3D7FF74AFD6FF5EC4EDFF4B88
B3FF3473ABEA00000000000000003E8B46FF8FCE99FF7DC687FF78C381FF73C0
7CFF74C07CFF79C281FF49904FFF547F57FF5489BFFF94BFDDFF75ADD4FF63B8
E1FF4BD4FFFF428BB8FF2C6EA6EA00000000000000003B8742FF89CB92FF84C8
8DFF80C688FF7BC383FF77C17FFF478F4DFF3B743FFFA1A1A1FF4C84BAFF8DBB
DBFF6EA8D1FF66A6D1FF5FB4DFFF4785B1FF2569A1EA00000000000000003782
3EFF347E3BFF317937FF2E7534FF499150FF468F4CFF39733DFFA1A1A1FFA2A2
A2FF457EB4FF88B7D9FF67A3CFFF619ECCFF639FCCFF4583B1FF1F649CEA0000
000000000000FFFFFF00FFFFFF00606060FFA0A0A0FF3D7641FF367139FFA2A2
A2FFA2A2A2FFA3A3A3FF3D79B0FF82B3D7FF629FCCFF5A9AC9FF5E9BCAFF4381
AFFF196098EA0000000000000000FFFFFF00FFFFFF005C5C5CFFA1A1A1FF3C73
40FFA0A1A1FFA3A3A3FFA3A3A3FFA4A4A4FF3674AAFF7DAFD4FF5B9AC9FF5495
C7FF5896C8FF4180AEFF135C94EA0000000000000000FFFFFF00FFFFFF005858
58FFA2A2A2FFA2A2A2FFA3A3A3FFA4A4A4FFA4A4A4FFA5A5A5FF2F6FA5FF78AB
D2FF78ABD3FF73A7D1FF69A0CDFF407FAEFF0F5991EA00000000000000009999
99FF717171FF545454FF515151FF4F4F4FFF4C4C4CFF4A4A4AFF474747FF4545
45FF25679DFF3274A8FF3D7CAFFF4784B5FF4E8ABAFF3E7EADFF0C578FEA0000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF001D639B1619609839145D9562105A92880D5890A4135C
92FC0C578FED0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF009C8F
83E2BCB0A4FF9D9185FFFFFFFF00AEA093FF9D9185FF655D55DAFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF008E8378E2C3B8AEFF655D55FFFFFFFF007C7268FFA89B8EFF9C8F
83E4FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFF
FF00FFFFFF00746B62FFA4978AFF95897DFF9F9286FF3E3934FFFFFFFF004C46
40FF7E746AFF857A70FF3E3934FF453F3AA72522200C15131102FFFFFF000000
000000000000B9ACA008877D72489B8E82FF9D9185FF867B71FF564F48FF504A
44FF80766CFF6E665DFF826C58FFA6917DFF948474FF564F48FF0C0B0B7A0707
0601FFFFFF000000000000000000AB9D9004AFA194E1BAAEA2FF82776DFF8277
6DFFAA917BFFBAA794FFB7A48EFAB09781FF9F8D7DFF836D5BFF716357FF9589
7DFF040403E000000003FFFFFF0000000000000000009F9286059D9185FFB1A3
96FF7F756BFF7C7268FF776D64FF6C635BFF2E2A26FF564F48FF80766CFF7C72
68FF776D64FF70675EFF000000FE00000005FFFFFF0000000000000000007970
66055C554EF9423D38FF58514AFF3D3833FF332F2BFF23201DE5171614301E1C
19B51A1816FF252220FF191715FF0F0E0DFF010101EE00000002FFFFFF000000
000000000000FFFFFF005A524CC39F9286FFCCC3BAFFC0B4AAFFA6988BFF3E39
34A8FFFFFF002C2925A8908479FFC2B8ADFFC0B4AAFFA89B8EFF110F0EC3FFFF
FF00FFFFFF000000000000000000FFFFFF00534C46FC83786FFFCCC3BAFF7970
66FF71685FFF37332ED5FFFFFF00252220D5857A70FFC2B8ADFF786F65FF7B71
67FF0A0908FCFFFFFF00FFFFFF000000000000000000FFFFFF004D4741FF8378
6FFFCCC3BAFF786F65FF7B7167FF2F2B28F9272421011D1B18EE95897DFFC2B8
ADFF786F65FF7C7268FF060505FFFFFFFF00FFFFFF000000000000000000FFFF
FF0046413BFF857A70FFC3B8AEFF7C7268FF7F756BFF36322DFF1E1C190F2825
22D495897DFFBAAEA2FF7C7268FF7F756BFF010101FFFFFFFF00FFFFFF000000
000000000000FFFFFF003E3934FF393430FF332F2BFF2C2925FF272421FF201D
1BFF1716141A110F0EDB0B0A09FF070706FF040403FF000000FF000000FFFFFF
FF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DFDBD7FFB3A79CFFA5998DFFFFFF
FF00AC9F92FF94897FFFB8B4B0FFFFFFFF00FFFFFF000000000000000000FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5E3E1FFCFC9C4FFACA2
97FF776F66FFFFFFFF00776D64FFA09488FFBAB3ADFFE2E1E0FFFFFFFF000000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00897E
73FF9B8E82FF887D72FF564F48FFC0BCB8FF5D564EFF857668FF7C6F63FF6C65
5FFFBBBAB9FF0000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00C8BFB7FFA89B90FF897E74FF86786AFF8E7F70FFA19181FF958372FF937F
6DFF897666FF7D7166FF555351FF0000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00A3978BFFA99D90FF7F756BFF7F7469FF7D7267FF4E47
3FFF6B6056FF84786DFF7A6E64FF776D63FF1C1A18FF0000000000000000FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00605953FF46413BFF4E4842FF3833
2FFF383532FFC6C6C5FF5A5856FF1D1B19FF201D1BFF131110FF111111FF0000
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0078726EFFA397
8CFFC2B9AFFFA6998EFF827C76FFFFFFFF006F6C69FF9C9186FFBBB0A5FFA69A
8EFF4F4C49FF0000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00524C46FF90867DFFAEA59BFF776D64FF55504CFFFFFFFF0045423FFF9A8F
84FFA0978CFF7A7167FF1F1C1AFF0000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0049433DFF90857CFFABA197FF7C7268FF49433EFFFFFF
FF00484441FFA09488FF9F9489FF7D7369FF191715FF0000000000000000FFFF
FF00FFFFFF00FFFFFF003BA8DBFFFFFFFF00403B35FF4A443EFF49443EFF3A36
31FF2A2623FFFFFFFF00373434FF282522FF24221FFF1A1816FF050404FF0000
000000000000FFFFFF00FFFFFF003BA8DBFF3BA8DBFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000FFFFFF003BA8DBFF3BA8DBFF3BA8DBFF3BA8
DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8
DBFF3BA8DBFFFFFFFF00FFFFFF000000000000000000FFFFFF003BA8DBFF3BA8
DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8
DBFF3BA8DBFF3BA8DBFF3BA8DBFFFFFFFF00FFFFFF000000000000000000FFFF
FF00FFFFFF003BA8DBFF3BA8DBFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
000000000000FFFFFF00FFFFFF00FFFFFF003BA8DBFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
000000000000FFFFFF00FFFFFF00B8B4B0FF94897FFFAC9F92FFFFFFFF00A599
8DFFB3A79CFFDFDBD7FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000FFFFFF00E2E1E0FFBAB3ADFFA09488FF776D
64FFFFFFFF00776F66FFACA297FFCFC9C4FFE5E3E1FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF000000000000000000BBBAB9FF6C655FFF7C6F
63FF857668FF5D564EFFC0BCB8FF564F48FF887D72FF9B8E82FF897E73FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000005553
51FF7D7166FF897666FF937F6DFF958372FFA19181FF8E7F70FF86786AFF897E
74FFA89B90FFC8BFB7FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0000000000001C1A18FF776D63FF7A6E64FF84786DFF6B6056FF4E473FFF7D72
67FF7F7469FF7F756BFFA99D90FFA3978BFFFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000111111FF131110FF201D1BFF1D1B19FF5A58
56FFC6C6C5FF383532FF38332FFF4E4842FF46413BFF605953FFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0000000000000000004F4C49FFA69A8EFFBBB0
A5FF9C9186FF6F6C69FFFFFFFF00827C76FFA6998EFFC2B9AFFFA3978CFF7872
6EFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000001F1C
1AFF7A7167FFA0978CFF9A8F84FF45423FFFFFFFFF0055504CFF776D64FFAEA5
9BFF90867DFF524C46FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
000000000000191715FF7D7369FF9F9489FFA09488FF484441FFFFFFFF004943
3EFF7C7268FFABA197FF90857CFF49433DFFFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF000000000000000000050404FF1A1816FF24221FFF282522FF3734
34FFFFFFFF002A2623FF3A3631FF49443EFF4A443EFF403B35FFFFFFFF003BA8
DBFFFFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF003BA8DBFF3BA8DBFFFFFFFF00FFFFFF000000000000000000FFFF
FF00FFFFFF003BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8
DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFFFFFFFF000000
000000000000FFFFFF00FFFFFF003BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8
DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8DBFF3BA8
DBFFFFFFFF000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003BA8
DBFF3BA8DBFFFFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF003BA8DBFFFFFFFF00FFFFFF00FFFFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
}
end
object PopupMenu1: TPopupMenu
left = 120
top = 136
end
object RxHistoryNavigator1: TRxHistoryNavigator
ToolPanel = ToolPanel1
BackBtn = 'actBack'
ForwardBtn = 'actForward'
OnHistoryNavigate = RxHistoryNavigator1HistoryNavigate
left = 441
top = 48
end
object ApplicationProperties1: TApplicationProperties
OnHint = ApplicationProperties1Hint
left = 360
top = 200
end
end

View File

@ -0,0 +1,82 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, RxHistoryNavigator, rxtoolbar, Forms, Controls,
Graphics, Dialogs, ActnList, StdCtrls, Buttons, ComCtrls, Menus;
type
{ TForm1 }
TForm1 = class(TForm)
actExit: TAction;
actFind: TAction;
actBack: TAction;
ActionList1: TActionList;
actForward: TAction;
ApplicationProperties1: TApplicationProperties;
BitBtn1: TBitBtn;
Edit1: TEdit;
ImageList1: TImageList;
Label1: TLabel;
Memo1: TMemo;
PopupMenu1: TPopupMenu;
RxHistoryNavigator1: TRxHistoryNavigator;
StatusBar1: TStatusBar;
ToolPanel1: TToolPanel;
procedure actExitExecute(Sender: TObject);
procedure actFindExecute(Sender: TObject);
procedure ApplicationProperties1Hint(Sender: TObject);
procedure RxHistoryNavigator1HistoryNavigate(Sender: TRxHistoryNavigator;
AInfo: string; AProcessed: boolean);
private
procedure DoFind(S:string);
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.actExitExecute(Sender: TObject);
begin
Close;
end;
procedure TForm1.actFindExecute(Sender: TObject);
begin
RxHistoryNavigator1.AddToHistory('Find text', Edit1.Text);
DoFind(Edit1.Text);
Edit1.Text:='';
Edit1.SetFocus;
end;
procedure TForm1.ApplicationProperties1Hint(Sender: TObject);
begin
StatusBar1.SimpleText:=Application.Hint;
end;
procedure TForm1.RxHistoryNavigator1HistoryNavigate(
Sender: TRxHistoryNavigator; AInfo: string; AProcessed: boolean);
begin
Memo1.Lines.Add('History Find text ' + AInfo);
end;
procedure TForm1.DoFind(S: string);
begin
//Что-то ищем - имитация бурной деятельности
Memo1.Lines.Add('Find text ' + S);
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,278 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="7"/>
<General>
<MainUnit Value="0"/>
<TargetFileExt Value=""/>
<Icon Value="0"/>
<UseXPManifest Value="True"/>
<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="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="rxnew"/>
<MinVersion Major="2" Minor="1" Release="1" Build="103" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPackages>
<Units Count="9">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="22"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<CursorPos X="3" Y="54"/>
<TopLine Value="25"/>
<EditorIndex Value="0"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<UnitName Value="rxlookup"/>
<CursorPos X="19" Y="646"/>
<TopLine Value="645"/>
<EditorIndex Value="1"/>
<UsageCount Value="11"/>
<Bookmarks Count="1">
<Item0 X="1" Y="1315" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/controls.pp"/>
<UnitName Value="Controls"/>
<CursorPos X="1" Y="1152"/>
<TopLine Value="1135"/>
<EditorIndex Value="5"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/include/control.inc"/>
<CursorPos X="1" Y="4129"/>
<TopLine Value="4113"/>
<EditorIndex Value="6"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxpopupunit.pas"/>
<UnitName Value="rxpopupunit"/>
<CursorPos X="1" Y="785"/>
<TopLine Value="770"/>
<EditorIndex Value="4"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdconst.pas"/>
<UnitName Value="rxdconst"/>
<CursorPos X="3" Y="68"/>
<TopLine Value="77"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="../../../../../../../../usr/local/share/lazarus/lcl/include/wincontrol.inc"/>
<CursorPos X="1" Y="7579"/>
<TopLine Value="7563"/>
<EditorIndex Value="7"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<UnitName Value="dbutils"/>
<CursorPos X="1" Y="326"/>
<TopLine Value="310"/>
<EditorIndex Value="2"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit8>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="225" Column="1" TopLine="209"/>
</Position1>
<Position2>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="227" Column="1" TopLine="211"/>
</Position2>
<Position3>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="340" Column="1" TopLine="324"/>
</Position3>
<Position4>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="341" Column="1" TopLine="325"/>
</Position4>
<Position5>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="342" Column="1" TopLine="326"/>
</Position5>
<Position6>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="344" Column="1" TopLine="328"/>
</Position6>
<Position7>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="345" Column="1" TopLine="329"/>
</Position7>
<Position8>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="346" Column="1" TopLine="330"/>
</Position8>
<Position9>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="232" Column="1" TopLine="216"/>
</Position9>
<Position10>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="227" Column="1" TopLine="211"/>
</Position10>
<Position11>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="229" Column="1" TopLine="213"/>
</Position11>
<Position12>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="230" Column="1" TopLine="214"/>
</Position12>
<Position13>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="235" Column="1" TopLine="219"/>
</Position13>
<Position14>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="315" Column="1" TopLine="299"/>
</Position14>
<Position15>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="318" Column="1" TopLine="302"/>
</Position15>
<Position16>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="321" Column="1" TopLine="305"/>
</Position16>
<Position17>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="322" Column="1" TopLine="306"/>
</Position17>
<Position18>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="323" Column="1" TopLine="307"/>
</Position18>
<Position19>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="324" Column="1" TopLine="308"/>
</Position19>
<Position20>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/dbutils.pas"/>
<Caret Line="326" Column="1" TopLine="310"/>
</Position20>
<Position21>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1331" Column="1" TopLine="1315"/>
</Position21>
<Position22>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1332" Column="1" TopLine="1316"/>
</Position22>
<Position23>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1445" Column="1" TopLine="1429"/>
</Position23>
<Position24>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1447" Column="1" TopLine="1431"/>
</Position24>
<Position25>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1448" Column="1" TopLine="1432"/>
</Position25>
<Position26>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1451" Column="1" TopLine="1435"/>
</Position26>
<Position27>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1454" Column="1" TopLine="1438"/>
</Position27>
<Position28>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1333" Column="1" TopLine="1317"/>
</Position28>
<Position29>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1059" Column="1" TopLine="1043"/>
</Position29>
<Position30>
<Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxlookup.pas"/>
<Caret Line="1060" Column="1" TopLine="1044"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)/"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, rxnew, LResources
{ you can add units after this };
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
begin
{$I project1.lrs}
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@ -0,0 +1,7 @@
#define RT_MANIFEST 24
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "project1.manifest"
MAINICON ICON "project1.ico"

View File

@ -0,0 +1,213 @@
object Form1: TForm1
Left = 534
Height = 368
Top = 234
Width = 498
ActiveControl = RxDBLookupCombo1
Caption = 'RxDBLookupCombo test'
ClientHeight = 368
ClientWidth = 498
OnCreate = FormCreate
LCLVersion = '0.9.29'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 18
Top = 6
Width = 90
BorderSpacing.Around = 6
Caption = 'Select item...'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Button1
AnchorSideTop.Side = asrCenter
Left = 108
Height = 18
Top = 70
Width = 46
BorderSpacing.Around = 6
Caption = 'Label2'
ParentColor = False
end
object RxDBLookupCombo1: TRxDBLookupCombo
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 12
Height = 29
Top = 30
Width = 480
AutoSize = True
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ButtonOnlyWhenFocused = False
ButtonWidth = 15
DataField = 'ID'
DataSource = dsData1
PopUpFormOptions.Columns = <>
Flat = False
Glyph.Data = {
72000000424D7200000000000000360000002800000005000000030000000100
2000000000003C00000064000000640000000000000000000000000000000000
0000000000FF000000000000000000000000000000FF000000FF000000FF0000
0000000000FF000000FF000000FF000000FF000000FF
}
NumGlyphs = 1
ParentColor = False
ReadOnly = False
TabOrder = 0
TabStop = True
DisplayAllFields = True
LookupDisplay = 'ID;Price;Caption'
LookupDisplayIndex = 2
LookupField = 'ID'
LookupSource = dsLookUpData
end
object Button1: TButton
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = RxDBLookupCombo1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 29
Top = 65
Width = 96
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Test caption'
OnClick = Button1Click
TabOrder = 1
end
object Button2: TButton
AnchorSideTop.Control = Button1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 427
Height = 29
Top = 100
Width = 65
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Set text'
OnClick = Button2Click
TabOrder = 2
end
object Edit1: TEdit
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Button1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Button2
Left = 6
Height = 27
Top = 100
Width = 415
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 3
Text = 'Edit1'
end
object DBGrid1: TDBGrid
Left = 0
Height = 208
Top = 160
Width = 498
Align = alBottom
DataSource = dsLookUpData
TabOrder = 4
end
object rxData1: TRxMemoryData
FieldDefs = <
item
Name = 'ID'
DataType = ftInteger
Precision = 0
Size = 0
end>
left = 320
top = 8
object rxData1ID: TLongintField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
end
object rxLookUpData: TRxMemoryData
FieldDefs = <
item
Name = 'ID'
DataType = ftInteger
Precision = 0
Size = 0
end
item
Name = 'Caption'
DataType = ftString
Precision = 0
Size = 100
end
item
Name = 'Price'
DataType = ftCurrency
Precision = 0
Size = 0
end>
left = 208
top = 56
object rxLookUpDataID: TLongintField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxLookUpDataCaption: TStringField
DisplayWidth = 100
FieldKind = fkData
FieldName = 'Caption'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 100
end
object rxLookUpDataPrice: TCurrencyField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'Price'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
MaxValue = 0
MinValue = 0
Precision = 2
end
end
object dsData1: TDatasource
DataSet = rxData1
left = 288
top = 8
end
object dsLookUpData: TDatasource
DataSet = rxLookUpData
left = 176
top = 56
end
end

View File

@ -0,0 +1,64 @@
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#22#2#6'Height'#3'p'#1#3'Top'#3#234#0#5'Wi'
+'dth'#3#242#1#13'ActiveControl'#7#16'RxDBLookupCombo1'#7'Caption'#6#20'RxDBL'
+'ookupCombo test'#12'ClientHeight'#3'p'#1#11'ClientWidth'#3#242#1#8'OnCreate'
+#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.29'#0#6'TLabel'#6'Label1'#22'Anchor'
+'SideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2
+#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2'Z'#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#14'Select item...'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#22'An'
+'chorSideLeft.Control'#7#7'Button1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#7'Button1'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
+'Left'#2'l'#6'Height'#2#18#3'Top'#2'F'#5'Width'#2'.'#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#6'Label2'#11'ParentColor'#8#0#0#16'TRxDBLookupCombo'#16'Rx'
+'DBLookupCombo1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop.Con'
+'trol'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.'
+'Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#12#6
+'Height'#2#29#3'Top'#2#30#5'Width'#3#224#1#8'AutoSize'#9#7'Anchors'#11#5'akT'
+'op'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#21'ButtonOnlyWhenFo'
+'cused'#8#11'ButtonWidth'#2#15#9'DataField'#6#2'ID'#10'DataSource'#7#7'dsDat'
+'a1'#24'PopUpFormOptions.Columns'#14#0#4'Flat'#8#10'Glyph.Data'#10'v'#0#0#0
+'r'#0#0#0'BMr'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#5#0#0#0#3#0#0#0#1#0' '#0#0#0#0
+#0'<'#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#255#0#0#0#255
+#0#0#0#255#0#0#0#255#0#0#0#255#9'NumGlyphs'#2#1#11'ParentColor'#8#8'ReadOnly'
+#8#8'TabOrder'#2#0#7'TabStop'#9#16'DisplayAllFields'#9#13'LookupDisplay'#6#16
+'ID;Price;Caption'#18'LookupDisplayIndex'#2#2#11'LookupField'#6#2'ID'#12'Loo'
+'kupSource'#7#12'dsLookUpData'#0#0#7'TButton'#7'Button1'#22'AnchorSideLeft.C'
+'ontrol'#7#5'Owner'#21'AnchorSideTop.Control'#7#16'RxDBLookupCombo1'#18'Anch'
+'orSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#29#3'Top'#2'A'#5'Wid'
+'th'#2'`'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Test ca'
+'ption'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2#1#0#0#7'TButton'#7'Butto'
+'n2'#21'AnchorSideTop.Control'#7#7'Button1'#18'AnchorSideTop.Side'#7#9'asrBo'
+'ttom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'a'
+'srBottom'#4'Left'#3#171#1#6'Height'#2#29#3'Top'#2'd'#5'Width'#2'A'#7'Anchor'
+'s'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#8'Set text'#7'OnClick'#7#12'Button2Click'#8'TabOrder'#2#2#0#0#5'TE'
+'dit'#5'Edit1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Contro'
+'l'#7#7'Button1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Co'
+'ntrol'#7#7'Button2'#4'Left'#2#6#6'Height'#2#27#3'Top'#2'd'#5'Width'#3#159#1
+#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8
+'TabOrder'#2#3#4'Text'#6#5'Edit1'#0#0#7'TDBGrid'#7'DBGrid1'#4'Left'#2#0#6'He'
+'ight'#3#208#0#3'Top'#3#160#0#5'Width'#3#242#1#5'Align'#7#8'alBottom'#10'Dat'
+'aSource'#7#12'dsLookUpData'#8'TabOrder'#2#4#0#0#13'TRxMemoryData'#7'rxData1'
+#9'FieldDefs'#14#1#4'Name'#6#2'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2
+#0#4'Size'#2#0#0#0#4'left'#3'@'#1#3'top'#2#8#0#13'TLongintField'#9'rxData1ID'
+#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#2'ID'#5'Index'
+#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8
+'ReadOnly'#8#8'Required'#8#0#0#0#13'TRxMemoryData'#12'rxLookUpData'#9'FieldD'
+'efs'#14#1#4'Name'#6#2'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#0#4'Siz'
+'e'#2#0#0#1#4'Name'#6#7'Caption'#8'DataType'#7#8'ftString'#9'Precision'#2#0#4
+'Size'#2'd'#0#1#4'Name'#6#5'Price'#8'DataType'#7#10'ftCurrency'#9'Precision'
+#2#0#4'Size'#2#0#0#0#4'left'#3#208#0#3'top'#2'8'#0#13'TLongintField'#14'rxLo'
+'okUpDataID'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#2
+'ID'#5'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pf'
+'InWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringField'#19'rxLookUpData'
+'Caption'#12'DisplayWidth'#2'd'#9'FieldKind'#7#6'fkData'#9'FieldName'#6#7'Ca'
+'ption'#5'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9
+'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#2'd'#0#0#14'TCurrencyField'
+#17'rxLookUpDataPrice'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'Fiel'
+'dName'#6#5'Price'#5'Index'#2#2#11'LookupCache'#8#13'ProviderFlags'#11#10'pf'
+'InUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#8'MaxValue'#2#0#8'MinV'
+'alue'#2#0#9'Precision'#2#2#0#0#0#11'TDatasource'#7'dsData1'#7'DataSet'#7#7
+'rxData1'#4'left'#3' '#1#3'top'#2#8#0#0#11'TDatasource'#12'dsLookUpData'#7'D'
+'ataSet'#7#12'rxLookUpData'#4'left'#3#176#0#3'top'#2'8'#0#0#0
]);

View File

@ -0,0 +1,76 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, StdCtrls, DBGrids, rxlookup, rxmemds;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
DBGrid1: TDBGrid;
dsData1: TDatasource;
dsLookUpData: TDatasource;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
rxData1ID: TLongintField;
RxDBLookupCombo1: TRxDBLookupCombo;
rxData1: TRxMemoryData;
rxLookUpData: TRxMemoryData;
rxLookUpDataCaption: TStringField;
rxLookUpDataID: TLongintField;
rxLookUpDataPrice: TCurrencyField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Label2.Caption:=RxDBLookupCombo1.Text;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RxDBLookupCombo1.Text:=Edit1.Text;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
rxData1.Open;
rxData1.Append;
rxLookUpData.Open;
rxLookUpData.AppendRecord([1, 'Lazarus', 0]);
rxLookUpData.AppendRecord([2, 'Delphi', 1000]);
rxLookUpData.AppendRecord([3, 'MS Office', 400]);
rxLookUpData.AppendRecord([4, 'MS Windows XP', 150]);
rxLookUpData.AppendRecord([5, 'MS Windows Vista', 100]);
rxLookUpData.AppendRecord([6, 'MS Windows 7', 200]);
rxLookUpData.AppendRecord([7, 'Fedora Linux 11', 0]);
Label2.Caption:='';
end;
initialization
{$I unit1.lrs}
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,117 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<AutoCreateForms Value="False"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="5">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
<Unit2>
<Filename Value="unit2.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form2"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit2"/>
</Unit2>
<Unit3>
<Filename Value="unit3.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form3"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit3"/>
</Unit3>
<Unit4>
<Filename Value="unit4.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form4"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit4"/>
</Unit4>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<MsgFileName Value=""/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,20 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, rxnew, Unit2, Unit3, Unit4;
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,223 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectSession>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="6">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="22"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="56"/>
<CursorPos X="34" Y="67"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="unit2.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form2"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit2"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="7"/>
<CursorPos X="6" Y="11"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit2>
<Unit3>
<Filename Value="unit3.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form3"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit3"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="19"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit3>
<Unit4>
<Filename Value="unit4.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form4"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit4"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="32" Y="8"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../rxmdi.pas"/>
<UnitName Value="RxMDI"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="295"/>
<CursorPos X="10" Y="303"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit5>
</Units>
<General>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unit4.pas"/>
<Caret Line="22" Column="21" TopLine="4"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="73" Column="26" TopLine="43"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="74" Column="26" TopLine="44"/>
</Position3>
<Position4>
<Filename Value="unit4.pas"/>
<Caret Line="41" Column="26" TopLine="12"/>
</Position4>
<Position5>
<Filename Value="unit4.pas"/>
<Caret Line="43" Column="26" TopLine="13"/>
</Position5>
<Position6>
<Filename Value="unit4.pas"/>
<Caret Line="44" Column="26" TopLine="13"/>
</Position6>
<Position7>
<Filename Value="unit2.pas"/>
<Caret Line="10" Column="6" TopLine="7"/>
</Position7>
<Position8>
<Filename Value="unit2.pas"/>
<Caret Line="11" Column="6" TopLine="7"/>
</Position8>
<Position9>
<Filename Value="unit3.pas"/>
<Caret Line="38" Column="14" TopLine="9"/>
</Position9>
<Position10>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="52" Column="1" TopLine="30"/>
</Position10>
<Position11>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="612" Column="5" TopLine="599"/>
</Position11>
<Position12>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="101" Column="14" TopLine="80"/>
</Position12>
<Position13>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="712" Column="3" TopLine="594"/>
</Position13>
<Position14>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="608" Column="1" TopLine="594"/>
</Position14>
<Position15>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="609" Column="1" TopLine="594"/>
</Position15>
<Position16>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="610" Column="1" TopLine="594"/>
</Position16>
<Position17>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="611" Column="1" TopLine="594"/>
</Position17>
<Position18>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="613" Column="1" TopLine="594"/>
</Position18>
<Position19>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="608" Column="1" TopLine="594"/>
</Position19>
<Position20>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="609" Column="1" TopLine="594"/>
</Position20>
<Position21>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="610" Column="1" TopLine="594"/>
</Position21>
<Position22>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="611" Column="1" TopLine="594"/>
</Position22>
<Position23>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="613" Column="1" TopLine="594"/>
</Position23>
<Position24>
<Filename Value="unit4.pas"/>
<Caret Line="45" Column="26" TopLine="13"/>
</Position24>
<Position25>
<Filename Value="unit4.pas"/>
<Caret Line="46" Column="26" TopLine="13"/>
</Position25>
<Position26>
<Filename Value="unit4.pas"/>
<Caret Line="45" Column="26" TopLine="13"/>
</Position26>
<Position27>
<Filename Value="unit1.pas"/>
<Caret Line="75" Column="26" TopLine="45"/>
</Position27>
<Position28>
<Filename Value="unit1.pas"/>
<Caret Line="82" Column="26" TopLine="47"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="67" Column="34" TopLine="56"/>
</Position29>
<Position30>
<Filename Value="../../rxmdi.pas"/>
<Caret Line="739" Column="1" TopLine="705"/>
</Position30>
</JumpHistory>
</ProjectSession>
<Debugging>
<BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxmdi.pas"/>
<Line Value="711"/>
</Item1>
</BreakPoints>
</Debugging>
<EditorMacros Count="0"/>
</CONFIG>

View File

@ -0,0 +1,135 @@
object Form1: TForm1
Left = 527
Height = 423
Top = 222
Width = 581
Caption = 'MainForm'
ClientHeight = 400
ClientWidth = 581
Menu = MainMenu1
Position = poScreenCenter
LCLVersion = '1.1'
WindowState = wsMaximized
object ToolPanel1: TToolPanel
Left = 0
Height = 31
Top = 0
Width = 581
Items = <>
Options = []
Align = alTop
BorderWidth = 4
ClientHeight = 31
ClientWidth = 581
TabOrder = 0
object RxMDICloseButton1: TRxMDICloseButton
AnchorSideTop.Control = ToolPanel1
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ToolPanel1
AnchorSideRight.Side = asrBottom
Left = 553
Height = 22
Top = 4
Width = 23
Anchors = [akTop, akRight]
Glyph.Data = {
1A020000424D1A0200000000000036000000280000000B0000000B0000000100
200000000000E401000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF00000000000000000000000000000000000000FF000000FF000000000000
00000000000000000000000000FF000000FF0000000000000000000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
00000000000000000000000000FF000000FF0000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF0000000000000000000000FF000000FF0000000000000000000000000000
0000000000FF000000FF00000000000000000000000000000000000000FF0000
00FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
}
end
end
object RxMDITasks1: TRxMDITasks
Left = 0
Height = 25
Top = 356
Width = 581
Align = alBottom
end
object StatusBar1: TStatusBar
Left = 0
Height = 19
Top = 381
Width = 581
Panels = <>
end
object RxMDIPanel1: TRxMDIPanel
Left = 0
Height = 325
Top = 31
Width = 581
CloseButton = RxMDICloseButton1
TaskPanel = RxMDITasks1
Align = alClient
BevelOuter = bvLowered
end
object ActionList1: TActionList
left = 440
top = 72
object sysClose: TAction
Category = 'System'
Caption = 'Close'
OnExecute = sysCloseExecute
end
object Action1: TAction
Category = 'MDI forms'
Caption = 'Form # 1'
OnExecute = Action1Execute
end
object Action2: TAction
Category = 'MDI forms'
Caption = 'Form # 2'
OnExecute = Action2Execute
end
object Action3: TAction
Category = 'MDI forms'
Caption = 'New single MDI form'
OnExecute = Action3Execute
end
end
object MainMenu1: TMainMenu
left = 408
top = 72
object MenuItem1: TMenuItem
Caption = 'System'
object MenuItem2: TMenuItem
Action = sysClose
end
end
object MenuItem3: TMenuItem
Caption = 'MDI forms'
object MenuItem4: TMenuItem
Action = Action1
end
object MenuItem5: TMenuItem
Action = Action2
end
object MenuItem7: TMenuItem
Caption = '-'
end
object MenuItem6: TMenuItem
Action = Action3
end
end
end
object Timer1: TTimer
Interval = 500
OnTimer = Timer1Timer
left = 451
top = 117
end
end

View File

@ -0,0 +1,90 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxtoolbar, RxMDI, Forms, Controls, Graphics,
Dialogs, ActnList, Menus, ComCtrls, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Action1: TAction;
Action2: TAction;
Action3: TAction;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
sysClose: TAction;
ActionList1: TActionList;
MainMenu1: TMainMenu;
RxMDICloseButton1: TRxMDICloseButton;
RxMDIPanel1: TRxMDIPanel;
RxMDITasks1: TRxMDITasks;
StatusBar1: TStatusBar;
Timer1: TTimer;
ToolPanel1: TToolPanel;
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure sysCloseExecute(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.lfm}
{ TForm1 }
procedure TForm1.sysCloseExecute(Sender: TObject);
begin
Close;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Assigned(ActiveControl) then
StatusBar1.SimpleText:=ActiveControl.Caption
else
StatusBar1.SimpleText:='<NONE>'
;
end;
procedure TForm1.Action1Execute(Sender: TObject);
begin
RxMDIPanel1.ChildWindowsCreate(Form2, TForm2);
end;
procedure TForm1.Action2Execute(Sender: TObject);
begin
RxMDIPanel1.ChildWindowsCreate(Form3, TForm3);
end;
procedure TForm1.Action3Execute(Sender: TObject);
var
Form4: TForm4;
begin
Form4:=TForm4.Create(Application);
RxMDIPanel1.ChildWindowsAdd(Form4);
end;
end.

View File

@ -0,0 +1,83 @@
object Form2: TForm2
Left = 502
Height = 414
Top = 245
Width = 478
Caption = 'MDI form 1'
ClientHeight = 414
ClientWidth = 478
Icon.Data = {
7E04000000000100010010100000010020006804000016000000280000001000
0000200000000100200000000000000400006400000064000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000BE7A45FFBE7A
45FFBE7A45FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000BE7A45FFBE7A45FF78553958BE7A45FFE3CD
BCFFBE7A45FF78553958BE7A45FFBE7A45FF0000000000000000000000000000
00000000000000000000BE7A45FFE3CDBCFFD2A786FFBE7A45FFC79064FFDAB8
9DFFC79064FFBE7A45FFD2A786FFE3CDBCFFBE7A45FF00000000000000000000
00000000000000000000BE7A45FFD2A786FFDAB89DFFDAB89DFFDAB89DFFDAB8
9DFFDAB89DFFDAB89DFFDAB89DFFD2A786FFBE7A45FF00000000000000000000
0000000000000000000078553958BE7A45FFE3CDBCFFCFA17CFFBD7F4CF8C386
56FFBA7A46F4D5AE8FFFDAB89DFFBE7A45FF7855395800000000000000000000
000000000000BE7A45FFBE7A45FFC79064FFDAB89DFFBD7F4CF8B78256CD7855
3959A56F43C0BA7A46F4DAB89DFFC79064FFBE7A45FFBE7A45FF000000000000
000000000000BE7A45FFE3CDBCFFDAB89DFFDAB89DFFC38656FF785539590000
000078553959C38656FFDAB89DFFDAB89DFFE3CDBCFFBE7A45FF000000000000
000000000000BE7A45FFBE7A45FFC79064FFDAB89DFFBA7A46F49C6B42AE7855
39598F633F97BA7C49EEDAB89DFFC79064FFBE7A45FFBE7A45FF000000000000
0000000000000000000078553958BE7A45FFDAB89DFFCFA17CFFBA7A46F4C386
56FFBA7A46F4D1A582FFDAB89DFFBE7A45FF7855395800000000000000000000
00000000000000000000BE7A45FFD2A786FFDAB89DFFDAB89DFFDAB89DFFDAB8
9DFFDAB89DFFDAB89DFFDAB89DFFD2A786FFBE7A45FF00000000000000000000
00000000000000000000BE7A45FFE3CDBCFFD2A786FFBE7A45FFC79064FFDAB8
9DFFC79064FFBE7A45FFD2A786FFE3CDBCFFBE7A45FF00000000000000000000
0000000000000000000078553958BE7A45FFBE7A45FF78553958BE7A45FFE3CD
BCFFBE7A45FF78553958BE7A45FFBE7A45FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000BE7A45FFBE7A
45FFBE7A45FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnClose = FormClose
LCLVersion = '1.1'
object Panel1: TPanel
Left = 0
Height = 50
Top = 0
Width = 478
Align = alTop
Caption = 'MDI form # 1'
TabOrder = 0
end
object Edit1: TEdit
Left = 21
Height = 25
Top = 106
Width = 80
TabOrder = 1
Text = 'Edit1'
end
object Edit2: TEdit
Left = 118
Height = 25
Top = 105
Width = 80
TabOrder = 2
Text = 'Edit2'
end
object Edit3: TEdit
Left = 223
Height = 25
Top = 103
Width = 80
TabOrder = 3
Text = 'Edit3'
end
end

View File

@ -0,0 +1,43 @@
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls;
type
{ TForm2 }
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Panel1: TPanel;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2 = nil;
implementation
{$R *.lfm}
{ TForm2 }
procedure TForm2.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:=caFree;
Form2:=nil;
end;
end.

View File

@ -0,0 +1,70 @@
object Form3: TForm3
Left = 604
Height = 442
Top = 239
Width = 640
Caption = 'MDI form # 2'
ClientHeight = 442
ClientWidth = 640
Icon.Data = {
7E04000000000100010010100000010020006804000016000000280000001000
0000200000000100200000000000000400006400000064000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000E2C0AAFFE2C0AAFF000000000000
00000000000000000000E2C0AAFFE2C0AAFF0000000000000000000000000000
0000000000000000000000000000C8865BFFBE713FFFC58053FF000000000000
00000000000000000000CE946EFFBE703EFFC17746FF00000000000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
00000000000000000000D6A586FFC2794AFFCA8A61FF00000000000000000000
0000000000000000000000000000D39E7CFFC2794AFFCC9068FF000000000000
00000000000000000000C9885EFFC07443FFC27849FF00000000000000000000
0000000000000000000000000000C9885EFFC2794AFFC9885EFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000D4A17FFFBD6F3CFFBE703DFF000000000000
00000000000000000000C68155FFBF7241FFCC8D66FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnClose = FormClose
LCLVersion = '1.1'
object Panel1: TPanel
Left = 0
Height = 50
Top = 0
Width = 640
Align = alTop
Caption = 'MDI form # 2'
TabOrder = 0
end
object Memo1: TMemo
Left = 0
Height = 392
Top = 50
Width = 640
Align = alClient
Lines.Strings = (
'Memo1'
)
TabOrder = 1
end
end

View File

@ -0,0 +1,41 @@
unit Unit3;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls;
type
{ TForm3 }
TForm3 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
private
{ private declarations }
public
{ public declarations }
end;
var
Form3: TForm3 = nil;
implementation
{$R *.lfm}
{ TForm3 }
procedure TForm3.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:=caFree;
Form3:=nil;
end;
end.

View File

@ -0,0 +1,84 @@
object Form4: TForm4
Left = 477
Height = 446
Top = 196
Width = 620
Caption = 'Form4'
ClientHeight = 446
ClientWidth = 620
Icon.Data = {
7E04000000000100010010100000010020006804000016000000280000001000
0000200000000100200000000000000400006400000064000000000000000000
0000874A2056874A20FF874A20FF874A20FF874A204400000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000874A20FFBEA592FFB89C86FFB89C86FF874A20FF874A2044000000000000
0000000000000000000000000000858A8881858A88D3858A8881000000000000
0000874A20FFCCBBADFFA7917DFFB5957AFFAE8B72FF874A20FF874A20440000
00000000000000000000858A884C858A88FF9EA1A0FF858A88FF000000000000
0000874A20FFCCBBADFFA48D78FFA28A74FFB4957AFFB3937CFF874A20FF0000
000000000000858A884C858A88FFD2D3D4FFC2C3C4FF858A88FF000000000000
0000874A2030874A20FFD4C8BDFFA48D78FFA48D78FFBEA592FF874A20FF0000
0000858A884C858A88FFE2E3E4FFC2C4C6FF858A88FF858A8881000000000000
000000000000874A2019874A20FFCCBBADFFCCBBADFFB3937CFF874A20FF858A
8881858A88FFD3D3D4FFBDBEBFFF858A88FF858A884C00000002000000000000
00000000000000000000874A2019874A20FF874A20FF874A20FF85837DFFAAAD
ADFFC8C9CAFFBDBEBFFF858A88FF858A884C0000000000000000000000000000
0000000000000000000000000000000000000000000000000000B5B7B8FF858A
88FFB7B8B9FF858A88FF858A884C000000020000000000000000000000000000
000000000000858A884C858A88FF858A88FF858A88FF858A88FFD0D1D2FFA3A4
A4FF858A88FF858A888100000000000000000000000000000000000000000000
0000858A884C858A88FFF3F3F3FEEFF0F0FFEDEEEEFEEAECECFEB6B9BAFF858A
88FF858A884C858A88FF858A884C000000000000000000000000000000000000
0000858A88FFF5F6F6FEA9ACABFF858A88FFF7F7F7FFE2E3E5FFAAADADFFECEE
EE8100000000858A884C858A88FF858A884C0000000000000000000000000000
0000858A884C858A88FF00000000858A884C858A88FFFAFAFAFF858A88FF0000
00000000000000000000858A884C858A88FF878C8AFF0000004C000000000000
000000000000000000000000000000000000858A88FFEEF0F0FF858A88FF0000
0000000000000000000000000000858A88FFF0F0F0FF858A88FF0000004C0000
0000000000000000000000000000858A88FFE9EBECFF858A88FF858A884C0000
00000000000000000000000000000000004C858A88FFEEEFEFFC858A88FF0000
0000000000000000000000000000858A884C858A88FF858A884C000000000000
0000000000000000000000000000000000000000004C858A88FF858A884C0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnClose = FormClose
OnCreate = FormCreate
LCLVersion = '1.1'
object Panel1: TPanel
Left = 0
Height = 50
Top = 0
Width = 620
Align = alTop
Caption = 'MDI form # ...'
TabOrder = 0
end
object Edit1: TEdit
Left = 47
Height = 25
Top = 84
Width = 80
TabOrder = 1
Text = 'Edit1'
end
object Edit2: TEdit
Left = 43
Height = 25
Top = 154
Width = 80
TabOrder = 2
Text = 'Edit2'
end
object Edit3: TEdit
Left = 45
Height = 25
Top = 215
Width = 80
TabOrder = 3
Text = 'Edit3'
end
end

View File

@ -0,0 +1,49 @@
unit Unit4;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls;
type
{ TForm4 }
TForm4 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Panel1: TPanel;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
CntMM:integer = 0;
implementation
{$R *.lfm}
{ TForm4 }
procedure TForm4.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:=caFree;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
Inc(CntMM);
Panel1.Caption:=Panel1.Caption + IntToStr(CntMM);
Caption:=Panel1.Caption;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,340 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<MainUnit Value="0"/>
<Title Value="RxViewsPanel demo"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<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"/>
</local>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="LazControls"/>
<MinVersion Valid="True"/>
</Item1>
<Item2>
<PackageName Value="rxnew"/>
<MinVersion Major="2" Minor="1" Release="2" Build="105" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPackages>
<Units Count="15">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="15"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="16"/>
<CursorPos X="7" Y="34"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxviewspanel.pas"/>
<UnitName Value="RxViewsPanel"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="167"/>
<CursorPos X="36" Y="201"/>
<UsageCount Value="11"/>
<Bookmarks Count="2">
<Item0 X="1" Y="295" ID="1"/>
<Item1 X="3" Y="330" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrx.pas"/>
<UnitName Value="registerrx"/>
<WindowIndex Value="0"/>
<TopLine Value="40"/>
<CursorPos X="30" Y="50"/>
<UsageCount Value="11"/>
</Unit3>
<Unit4>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxtoolbar.pas"/>
<UnitName Value="rxtoolbar"/>
<WindowIndex Value="0"/>
<TopLine Value="1113"/>
<CursorPos X="45" Y="1143"/>
<UsageCount Value="11"/>
</Unit4>
<Unit5>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/>
<WindowIndex Value="0"/>
<TopLine Value="27"/>
<CursorPos X="3" Y="46"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="/usr/local/share/lazarus/lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/>
<WindowIndex Value="0"/>
<TopLine Value="1147"/>
<CursorPos X="13" Y="1179"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="/usr/local/share/lazarus/lcl/buttons.pp"/>
<UnitName Value="Buttons"/>
<WindowIndex Value="0"/>
<TopLine Value="331"/>
<CursorPos X="17" Y="350"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<WindowIndex Value="0"/>
<TopLine Value="1420"/>
<CursorPos X="3" Y="1439"/>
<UsageCount Value="11"/>
</Unit8>
<Unit9>
<Filename Value="../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="411"/>
<CursorPos X="24" Y="435"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="18"/>
<CursorPos X="3" Y="21"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<UnitName Value="Controls"/>
<WindowIndex Value="0"/>
<TopLine Value="1265"/>
<CursorPos X="15" Y="1280"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="3131"/>
<CursorPos X="1" Y="3151"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="/usr/local/share/lazarus/components/rxnew/Demos/RxViewsPanel/unit1.pas"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<WindowIndex Value="0"/>
<TopLine Value="32"/>
<CursorPos X="1" Y="58"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="/usr/local/share/lazarus/lcl/include/untabbednotebook.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="176"/>
<CursorPos X="17" Y="204"/>
<UsageCount Value="10"/>
</Unit14>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="29" TopLine="1"/>
</Position1>
<Position2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxviewspanel.pas"/>
<Caret Line="121" Column="98" TopLine="99"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="29" TopLine="1"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="40" Column="3" TopLine="15"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="41" Column="3" TopLine="15"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="42" Column="3" TopLine="15"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="43" Column="3" TopLine="15"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="42" Column="3" TopLine="15"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="36" Column="3" TopLine="7"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="42" Column="41" TopLine="17"/>
</Position10>
<Position11>
<Filename Value="unit1.pas"/>
<Caret Line="43" Column="41" TopLine="17"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="44" Column="41" TopLine="17"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="45" Column="41" TopLine="17"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="41" TopLine="17"/>
</Position14>
<Position15>
<Filename Value="unit1.pas"/>
<Caret Line="47" Column="41" TopLine="18"/>
</Position15>
<Position16>
<Filename Value="unit1.pas"/>
<Caret Line="48" Column="41" TopLine="19"/>
</Position16>
<Position17>
<Filename Value="unit1.pas"/>
<Caret Line="49" Column="41" TopLine="20"/>
</Position17>
<Position18>
<Filename Value="unit1.pas"/>
<Caret Line="50" Column="41" TopLine="21"/>
</Position18>
<Position19>
<Filename Value="unit1.pas"/>
<Caret Line="51" Column="41" TopLine="22"/>
</Position19>
<Position20>
<Filename Value="unit1.pas"/>
<Caret Line="52" Column="41" TopLine="27"/>
</Position20>
<Position21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxviewspanel.pas"/>
<Caret Line="156" Column="25" TopLine="151"/>
</Position21>
<Position22>
<Filename Value="unit1.pas"/>
<Caret Line="58" Column="29" TopLine="33"/>
</Position22>
<Position23>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxviewspanel.pas"/>
<Caret Line="201" Column="36" TopLine="194"/>
</Position23>
<Position24>
<Filename Value="unit1.pas"/>
<Caret Line="58" Column="29" TopLine="9"/>
</Position24>
<Position25>
<Filename Value="unit1.pas"/>
<Caret Line="53" Column="3" TopLine="50"/>
</Position25>
<Position26>
<Filename Value="unit1.pas"/>
<Caret Line="54" Column="3" TopLine="51"/>
</Position26>
<Position27>
<Filename Value="unit1.pas"/>
<Caret Line="55" Column="3" TopLine="13"/>
</Position27>
<Position28>
<Filename Value="unit1.pas"/>
<Caret Line="56" Column="3" TopLine="24"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="57" Column="3" TopLine="25"/>
</Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="33" Column="7" TopLine="16"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, lazcontrols, Unit1
{ you can add units after this };
{$R *.res}
begin
Application.Title:='RxViewsPanel demo';
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
Buttons, StdCtrls, Grids, ComCtrls, rxtoolbar, RxViewsPanel, ExtendedNotebook;
type
{ TForm1 }
TForm1 = class(TForm)
ExtendedNotebook1: TExtendedNotebook;
ImageList2: TImageList;
Memo1: TMemo;
Page1: TPage;
Page2: TPage;
Page3: TPage;
Page4: TPage;
PaintBox1: TPaintBox;
RxViewsPanel1: TRxViewsPanel;
Splitter1: TSplitter;
Splitter2: TSplitter;
StatusBar1: TStatusBar;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
StringGrid4: TStringGrid;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
ToolPanel1: TToolPanel;
procedure FormCreate(Sender: TObject);
procedure RxViewsPanel1SelectViewEvent(Sender: TObject; ItemIndex: integer;
const Item: TRxViewsPanelItem);
private
//
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
RxViewsPanel1.ItemIndex:=1;
end;
procedure TForm1.RxViewsPanel1SelectViewEvent(Sender: TObject;
ItemIndex: integer; const Item: TRxViewsPanelItem);
begin
ExtendedNotebook1.PageIndex:=ItemIndex
end;
end.

View File

@ -0,0 +1,182 @@
unit rx_ext_test_case_1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, fpcunit, testutils, testregistry, rxmemds, Dialogs;
type
{ TTCRxMemDataLifecycle }
TTCRxMemDataLifecycle= class(TTestCase)
protected
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestHookUp;
procedure TestSave;
end;
implementation
uses
db, ex_rx_datapacket;
procedure TTCRxMemDataLifecycle.TestHookUp;
var
ads : TRxMemoryData;
aField : TField;
i : integer;
begin
ads := TRxMemoryData.Create(nil);
aField := TIntegerField.Create(nil);
aField.FieldName:= 'IntegerField1';
aField.Name := 'adsIntegerField1';
aField.DataSet := ads;
aField := TStringField.Create(nil);
aField.FieldName:= 'StringField1';
aField.Name := 'adsStringField1';
aField.Size := 20;
aField.DataSet := ads;
aField := TFloatField.Create(nil);
aField.FieldName:= 'FloatField1';
aField.Name := 'adsFloatField1';
aField.DataSet := ads;
ads.Open;
for i := 0 to 500 do
begin
ads.AppendRecord([i,'Name '+ IntToStr(i), 200 + (i*0.1)]);
end;
ads.First;
i:= 0;
while not ads.EOF do
begin
AssertTrue('Integer is incorrect ' + IntToStr(i), ads.FieldByName('IntegerField1').AsInteger = i);
AssertTrue('Float is incorrect ' + IntToStr(i), ads.FieldByName('FloatField1').AsFloat - (200 + (i*0.1)) < 0.01);
AssertTrue('String is incorrect ' + IntToStr(i), ads.FieldByName('StringField1').AsString = 'Name '+ IntToStr(i));
inc(i);
ads.Next;
end;
end;
procedure TTCRxMemDataLifecycle.TestSave;
var
ads1,ads2 : TRxMemoryData;
aField : TField;
i : integer;
sMemoTest : String;
begin
ads1 := TRxMemoryData.Create(nil);
ads2 := TRxMemoryData.Create(nil);
aField := TIntegerField.Create(nil);
aField.FieldName:= 'IntegerField1';
aField.Name := 'adsIntegerField1';
aField.DataSet := ads1;
aField := TStringField.Create(nil);
aField.FieldName:= 'StringField1';
aField.Name := 'adsStringField1';
aField.Size := 20;
aField.DataSet := ads1;
aField := TFloatField.Create(nil);
aField.FieldName:= 'FloatField1';
aField.Name := 'adsFloatField1';
aField.DataSet := ads1;
// TBooleanField
aField := TBooleanField.Create(nil);
aField.FieldName:= 'BooleanField1';
aField.Name := 'adsBooleanField1';
aField.DataSet := ads1;
// TDateTimeField
aField := TDateTimeField.Create(nil);
aField.FieldName:= 'DateTimeField1';
aField.Name := 'adsDateTimeField1';
aField.DataSet := ads1;
// TMemoField
aField := TMemoField.Create(nil);
aField.FieldName:= 'MemoField1';
aField.Name := 'adsMemoField1';
aField.Size:= 600;
aField.DataSet := ads1;
// TCurrencyField
aField := TCurrencyField.Create(nil);
aField.FieldName:= 'CurrencyField1';
aField.Name := 'adsCurrencyField1';
aField.DataSet := ads1;
ads1.Open;
ads2.Open;
sMemoTest := 'memo1';
for i := 0 to 500 do
begin
ads1.AppendRecord([i,'Name '+ IntToStr(i), 200 + (i*0.1),(i div 2) = 1, EncodeDate(2011,10,03) + i, sMemoTest, 1000 + (i*0.1)]);
sMemoTest := sMemoTest + 'a';
end;
ads1.SaveToFile('/tmp/testfile.xml',dfXML);
ads2.LoadFromFile('/tmp/testfile.xml',dfXML);
ads2.First;
sMemoTest := 'memo1';
i:= 0;
while not ads2.EOF do
begin
AssertTrue('Integer is incorrect ' + IntToStr(i), ads2.FieldByName('IntegerField1').AsInteger = i);
AssertTrue('Float is incorrect ' + IntToStr(i), ads2.FieldByName('FloatField1').AsFloat - (200 + (i*0.1)) < 0.01);
AssertTrue('String is incorrect ' + IntToStr(i), ads2.FieldByName('StringField1').AsString = 'Name '+ IntToStr(i));
AssertTrue('Currency is incorrect ' + IntToStr(i), ads2.FieldByName('CurrencyField1').AsFloat - (1000 + (i*0.1)) < 0.01);
AssertTrue('DateTime is incorrect ' + IntToStr(i), ads2.FieldByName('DateTimeField1').AsDateTime = EncodeDate(2011,10,03) + i);
AssertTrue('Memo is incorrect ' + IntToStr(i) + ads2.FieldByName('MemoField1').AsString, StrComp(Pchar(ads2.FieldByName('MemoField1').asString),Pchar(sMemoTest)) = 0);
sMemoTest := sMemoTest + 'a';
inc(i);
ads2.Next;
end;
ads1.Free;
ads2.Free;
end;
procedure TTCRxMemDataLifecycle.SetUp;
begin
end;
procedure TTCRxMemDataLifecycle.TearDown;
begin
end;
initialization
RegisterTest(TTCRxMemDataLifecycle);
end.

View File

@ -0,0 +1,309 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1" Active="Default">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="4">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="FPCUnitTestRunner"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
<Item4>
<PackageName Value="FCL"/>
</Item4>
</RequiredPackages>
<Units Count="19">
<Unit0>
<Filename Value="rx_ext_test_harness.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="rx_ext_test_harness"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="35" Y="9"/>
<UsageCount Value="27"/>
</Unit0>
<Unit1>
<Filename Value="rx_ext_test_case_1.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="rx_ext_test_case_1"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="33" Y="120"/>
<UsageCount Value="27"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="/usr/local/src/fpc-2.4.2/packages/fcl-fpcunit/src/testregistry.pp"/>
<UnitName Value="testregistry"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="12"/>
</Unit2>
<Unit3>
<Filename Value="../../../lazarus/components/rxnew/rx/rxmemds.pas"/>
<UnitName Value="rxmemds"/>
<WindowIndex Value="0"/>
<TopLine Value="18"/>
<CursorPos X="14" Y="41"/>
<UsageCount Value="13"/>
</Unit3>
<Unit4>
<Filename Value="../../../lazarus/components/fpcunit/guitestrunner.pas"/>
<UnitName Value="GuiTestRunner"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="207"/>
<CursorPos X="1" Y="247"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="/usr/local/src/fpc-2.4.2/packages/fcl-fpcunit/src/fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<WindowIndex Value="0"/>
<TopLine Value="1226"/>
<CursorPos X="10" Y="908"/>
<UsageCount Value="12"/>
</Unit5>
<Unit6>
<Filename Value="../../../lazarus/components/rxnew/rx/ex_rx_datapacket.pas"/>
<UnitName Value="ex_rx_datapacket"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="11"/>
</Unit6>
<Unit7>
<Filename Value="../../../lazarus/components/rxnew/rx/ex_rx_xml_datapacket.pas"/>
<UnitName Value="ex_rx_xml_datapacket"/>
<WindowIndex Value="0"/>
<TopLine Value="329"/>
<CursorPos X="30" Y="342"/>
<UsageCount Value="11"/>
</Unit7>
<Unit8>
<Filename Value="/usr/local/src/fpc-2.4.2/packages/fcl-db/src/base/db.pas"/>
<UnitName Value="db"/>
<WindowIndex Value="0"/>
<TopLine Value="238"/>
<CursorPos X="17" Y="255"/>
<UsageCount Value="11"/>
</Unit8>
<Unit9>
<Filename Value="/usr/local/src/fpc-2.4.2/rtl/objpas/sysutils/datih.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="100"/>
<CursorPos X="10" Y="109"/>
<UsageCount Value="11"/>
</Unit9>
<Unit10>
<Filename Value="/usr/local/src/fpc-2.4.2/rtl/objpas/sysutils/dati.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1101"/>
<CursorPos X="3" Y="1108"/>
<UsageCount Value="11"/>
</Unit10>
<Unit11>
<Filename Value="/usr/local/src/fpc-2.4.2/rtl/objpas/sysutils/syspchh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="12"/>
<CursorPos X="10" Y="29"/>
<UsageCount Value="11"/>
</Unit11>
<Unit12>
<Filename Value="/usr/local/src/fpc-2.4.2/rtl/inc/genstr.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="243"/>
<CursorPos X="9" Y="248"/>
<UsageCount Value="11"/>
</Unit12>
<Unit13>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
<UnitName Value="rxmemds"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="45" Y="40"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="/usr/local/share/lazarus/components/rxnew/ex_rx_bin_datapacket.pas"/>
<UnitName Value="ex_rx_bin_datapacket"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit14>
<Unit15>
<Filename Value="/usr/local/share/lazarus/components/rxnew/ex_rx_datapacket.pas"/>
<UnitName Value="ex_rx_datapacket"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="/usr/local/share/lazarus/components/rxnew/ex_rx_xml_datapacket.pas"/>
<UnitName Value="ex_rx_xml_datapacket"/>
<WindowIndex Value="0"/>
<TopLine Value="323"/>
<CursorPos X="80" Y="343"/>
<UsageCount Value="10"/>
</Unit16>
<Unit17>
<Filename Value="../rx/rxmemds.pas"/>
<UnitName Value="rxmemds"/>
<WindowIndex Value="0"/>
<TopLine Value="3"/>
<CursorPos X="3" Y="41"/>
<UsageCount Value="10"/>
</Unit17>
<Unit18>
<Filename Value="../../../../install/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<UnitName Value="db"/>
<WindowIndex Value="0"/>
<TopLine Value="1367"/>
<CursorPos X="3" Y="1339"/>
<UsageCount Value="10"/>
</Unit18>
</Units>
<JumpHistory Count="20" HistoryIndex="19">
<Position1>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="134" Column="1" TopLine="111"/>
</Position1>
<Position2>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="135" Column="1" TopLine="111"/>
</Position2>
<Position3>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="94" Column="18" TopLine="71"/>
</Position3>
<Position4>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="101" Column="1" TopLine="81"/>
</Position4>
<Position5>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="123" Column="1" TopLine="93"/>
</Position5>
<Position6>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="116" Column="1" TopLine="93"/>
</Position6>
<Position7>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="108" Column="2" TopLine="93"/>
</Position7>
<Position8>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="150" Column="119" TopLine="122"/>
</Position8>
<Position9>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="133" Column="81" TopLine="122"/>
</Position9>
<Position10>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="120" Column="39" TopLine="91"/>
</Position10>
<Position11>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="151" Column="164" TopLine="134"/>
</Position11>
<Position12>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="137" Column="15" TopLine="115"/>
</Position12>
<Position13>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="154" Column="164" TopLine="136"/>
</Position13>
<Position14>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="137" Column="41" TopLine="130"/>
</Position14>
<Position15>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="157" Column="7" TopLine="140"/>
</Position15>
<Position16>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="137" Column="16" TopLine="127"/>
</Position16>
<Position17>
<Filename Value="rx_ext_test_case_1.pas"/>
<Caret Line="120" Column="33" TopLine="1"/>
</Position17>
<Position18>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
<Caret Line="207" Column="5" TopLine="268"/>
</Position18>
<Position19>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
<Caret Line="1689" Column="1" TopLine="1690"/>
</Position19>
<Position20>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
<Caret Line="73" Column="42" TopLine="53"/>
</Position20>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
</SearchPaths>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,15 @@
program rx_ext_test_harness;
{$mode objfpc}{$H+}
uses
Interfaces, Forms, GuiTestRunner, rxnew, rx_ext_test_case_1;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TGuiTestRunner, TestRunner);
Application.Run;
end.

View File

@ -0,0 +1,301 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<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="rxnew"/>
<MinVersion Major="1" Release="11" Build="35" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
<Item3>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item3>
</RequiredPackages>
<Units Count="27">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="26"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="51"/>
<CursorPos X="52" Y="71"/>
<UsageCount Value="26"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\lazarus\lcl\extctrls.pp"/>
<UnitName Value="ExtCtrls"/>
<TopLine Value="451"/>
<CursorPos X="83" Y="456"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="C:\lazarus\lcl\controls.pp"/>
<UnitName Value="Controls"/>
<TopLine Value="224"/>
<CursorPos X="26" Y="228"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="C:\lazarus\lcl\graphics.pp"/>
<UnitName Value="Graphics"/>
<TopLine Value="586"/>
<CursorPos X="102" Y="589"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="C:\lazarus\lcl\lclproc.pas"/>
<UnitName Value="LCLProc"/>
<TopLine Value="577"/>
<CursorPos X="70" Y="578"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="C:\lazarus\lcl\include\canvas.inc"/>
<TopLine Value="771"/>
<CursorPos X="58" Y="776"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="C:\lazarus\lcl\include\paintbox.inc"/>
<TopLine Value="16"/>
<CursorPos X="81" Y="18"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="C:\lazarus\lcl\include\graphiccontrol.inc"/>
<TopLine Value="21"/>
<CursorPos X="101" Y="26"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="C:\lazarus\lcl\include\controlcanvas.inc"/>
<TopLine Value="36"/>
<CursorPos X="59" Y="43"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="C:\lazarus\lcl\include\bitmap.inc"/>
<TopLine Value="138"/>
<CursorPos X="29" Y="141"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="C:\lazarus\fpcsrc\rtl\objpas\classes\classes.inc"/>
<TopLine Value="238"/>
<CursorPos X="69" Y="241"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="C:\lazarus\lcl\include\brush.inc"/>
<TopLine Value="178"/>
<CursorPos X="56" Y="181"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="C:\lazarus\lcl\include\winapi.inc"/>
<TopLine Value="226"/>
<CursorPos X="52" Y="228"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="C:\lazarus\lcl\interfaces\win32\win32winapi.inc"/>
<TopLine Value="1316"/>
<CursorPos X="67" Y="1319"/>
<UsageCount Value="10"/>
</Unit14>
<Unit15>
<Filename Value="C:\lazarus\fpcsrc\fcl\image\fpcanvas.pp"/>
<UnitName Value="FPCanvas"/>
<TopLine Value="117"/>
<CursorPos X="101" Y="117"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="C:\lazarus\components\lazreport\source\LR_BarC.pas"/>
<ComponentName Value="frBarCodeForm"/>
<HasResources Value="True"/>
<UnitName Value="LR_BarC"/>
<TopLine Value="400"/>
<CursorPos X="57" Y="405"/>
<UsageCount Value="10"/>
</Unit16>
<Unit17>
<Filename Value="C:\lazarus\components\lazreport\source\Barcode.pas"/>
<UnitName Value="Barcode"/>
<TopLine Value="149"/>
<CursorPos X="38" Y="150"/>
<UsageCount Value="10"/>
</Unit17>
<Unit18>
<Filename Value="C:\lazarus\components\lazreport\source\LR_Class.pas"/>
<UnitName Value="LR_Class"/>
<TopLine Value="210"/>
<CursorPos X="1" Y="228"/>
<UsageCount Value="10"/>
</Unit18>
<Unit19>
<Filename Value="C:\lazarus\components\rxnew\rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<TopLine Value="931"/>
<CursorPos X="46" Y="954"/>
<UsageCount Value="11"/>
</Unit19>
<Unit20>
<Filename Value="C:\lazarus\components\rxnew\vclutils.pas"/>
<UnitName Value="vclutils"/>
<TopLine Value="1"/>
<CursorPos X="22" Y="27"/>
<UsageCount Value="11"/>
</Unit20>
<Unit21>
<Filename Value="C:\lazarus\lcl\dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<TopLine Value="151"/>
<CursorPos X="23" Y="152"/>
<UsageCount Value="11"/>
</Unit21>
<Unit22>
<Filename Value="C:\lazarus\lcl\grids.pas"/>
<UnitName Value="Grids"/>
<TopLine Value="3715"/>
<CursorPos X="3" Y="3719"/>
<UsageCount Value="11"/>
</Unit22>
<Unit23>
<Filename Value="..\..\vclutils.pas"/>
<UnitName Value="vclutils"/>
<WindowIndex Value="0"/>
<TopLine Value="228"/>
<CursorPos X="1" Y="258"/>
<UsageCount Value="10"/>
</Unit23>
<Unit24>
<Filename Value="..\..\rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<TopLine Value="1105"/>
<CursorPos X="75" Y="1122"/>
<UsageCount Value="10"/>
</Unit24>
<Unit25>
<Filename Value="..\..\..\..\..\..\..\..\usr\local\share\lazarus\components\rxnew\vclutils.pas"/>
<UnitName Value="vclutils"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="633"/>
<CursorPos X="5" Y="34"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="..\..\..\..\..\..\..\..\usr\local\share\lazarus\components\rxnew\rx.inc"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="25"/>
<CursorPos X="1" Y="52"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit26>
</Units>
<JumpHistory Count="7" HistoryIndex="6">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="47" TopLine="27"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="56" Column="12" TopLine="39"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="71" Column="52" TopLine="51"/>
</Position3>
<Position4>
<Filename Value="..\..\..\..\..\..\..\..\usr\local\share\lazarus\components\rxnew\vclutils.pas"/>
<Caret Line="332" Column="3" TopLine="302"/>
</Position4>
<Position5>
<Filename Value="..\..\..\..\..\..\..\..\usr\local\share\lazarus\components\rxnew\vclutils.pas"/>
<Caret Line="232" Column="9" TopLine="222"/>
</Position5>
<Position6>
<Filename Value="..\..\..\..\..\..\..\..\usr\local\share\lazarus\components\rxnew\rx.inc"/>
<Caret Line="17" Column="1" TopLine="17"/>
</Position6>
<Position7>
<Filename Value="..\..\..\..\..\..\..\..\usr\local\share\lazarus\components\rxnew\rx.inc"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position7>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<SearchPaths>
<SrcPath Value="$(LazarusDir)\lcl;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<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,15 @@
program project1;
{$mode objfpc}{$H+}
uses
Interfaces, // this includes the LCL widgetset
Forms
{ add your units here }, Unit1, rxnew;
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,134 @@
object Form1: TForm1
Left = 369
Height = 500
Top = 228
Width = 536
ActiveControl = RadioGroup1.RadioButton4
Caption = 'Form1'
ClientHeight = 500
ClientWidth = 536
OnCreate = FormCreate
SessionProperties = 'Edit1.Text'
LCLVersion = '0.9.27'
object PaintBox1: TPaintBox
Left = 16
Height = 129
Top = 16
Width = 184
OnPaint = PaintBox1Paint
end
object Edit1: TEdit
Left = 8
Height = 27
Top = 152
Width = 192
AutoSize = True
OnChange = Edit1Change
TabOrder = 0
Text = 'Edit1'
end
object RadioGroup1: TRadioGroup
Left = 208
Height = 136
Top = 8
Width = 79
AutoFill = True
AutoSize = True
Caption = 'Direction'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 117
ClientWidth = 75
ItemIndex = 4
Items.Strings = (
'0 %'
'90 %'
'180 %'
'270 %'
'360 %'
)
OnClick = CheckBox1Change
TabOrder = 1
end
object RxDBGrid1: TRxDBGrid
Left = 0
Height = 308
Top = 192
Width = 536
TitleButtons = False
AutoSort = False
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
FieldName = 'DEMO_1'
Filter.DropDownRows = 0
Filter.ItemIndex = -1
end>
OptionsRx = []
Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom]
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = Datasource1
ParentColor = False
TabOrder = 2
TitleStyle = tsNative
end
object RxMemoryData1: TRxMemoryData
AutoCalcFields = False
FieldDefs = <
item
Name = 'DEMO_1'
DataType = ftInteger
Precision = -1
Size = 0
end
item
Name = 'Demo2'
DataType = ftString
Precision = -1
Size = 40
end>
left = 312
top = 64
object RxMemoryData1DEMO_11: TLongintField
DisplayWidth = 10
FieldKind = fkData
FieldName = 'DEMO_1'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object RxMemoryData1Demo21: TStringField
DisplayWidth = 40
FieldKind = fkData
FieldName = 'Demo2'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 40
end
end
object Datasource1: TDatasource
DataSet = RxMemoryData1
left = 312
top = 32
end
object IniPropStorage1: TIniPropStorage
StoredValues = <>
left = 447
top = 19
end
end

View File

@ -0,0 +1,42 @@
{ ��� - ���� ��������, ������������� ��������� lazarus }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'q'#1#6'Height'#3#244#1#3'Top'#3#228#0#5'W'
+'idth'#3#24#2#13'ActiveControl'#7#24'RadioGroup1.RadioButton4'#7'Caption'#6#5
+'Form1'#12'ClientHeight'#3#244#1#11'ClientWidth'#3#24#2#8'OnCreate'#7#10'For'
+'mCreate'#17'SessionProperties'#6#10'Edit1.Text'#10'LCLVersion'#6#6'0.9.27'#0
+#9'TPaintBox'#9'PaintBox1'#4'Left'#2#16#6'Height'#3#129#0#3'Top'#2#16#5'Widt'
+'h'#3#184#0#7'OnPaint'#7#14'PaintBox1Paint'#0#0#5'TEdit'#5'Edit1'#4'Left'#2#8
+#6'Height'#2#27#3'Top'#3#152#0#5'Width'#3#192#0#8'AutoSize'#9#8'OnChange'#7
+#11'Edit1Change'#8'TabOrder'#2#0#4'Text'#6#5'Edit1'#0#0#11'TRadioGroup'#11'R'
+'adioGroup1'#4'Left'#3#208#0#6'Height'#3#136#0#3'Top'#2#8#5'Width'#2'O'#8'Au'
+'toFill'#9#8'AutoSize'#9#7'Caption'#6#9'Direction'#28'ChildSizing.LeftRightS'
+'pacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHori'
+'zontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24
+'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChi'
+'lds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Lay'
+'out'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+#12'ClientHeight'#2'u'#11'ClientWidth'#2'K'#9'ItemIndex'#2#4#13'Items.String'
+'s'#1#6#3'0 %'#6#4'90 %'#6#5'180 %'#6#5'270 %'#6#5'360 %'#0#7'OnClick'#7#15
+'CheckBox1Change'#8'TabOrder'#2#1#0#0#9'TRxDBGrid'#9'RxDBGrid1'#4'Left'#2#0#6
+'Height'#3'4'#1#3'Top'#3#192#0#5'Width'#3#24#2#12'TitleButtons'#8#8'AutoSort'
+#8#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'#17'Title.Orientation'#7
+#12'toHorizontal'#9'FieldName'#6#6'DEMO_1'#19'Filter.DropDownRows'#2#0#16'Fi'
+'lter.ItemIndex'#2#255#0#0#9'OptionsRx'#11#0#5'Align'#7#8'alBottom'#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'FocusColor'#7#5'clRed'
+#13'SelectedColor'#7#11'clHighlight'#13'GridLineStyle'#7#7'psSolid'#10'DataS'
+'ource'#7#11'Datasource1'#11'ParentColor'#8#8'TabOrder'#2#2#10'TitleStyle'#7
+#8'tsNative'#0#0#13'TRxMemoryData'#13'RxMemoryData1'#14'AutoCalcFields'#8#9
+'FieldDefs'#14#1#4'Name'#6#6'DEMO_1'#8'DataType'#7#9'ftInteger'#9'Precision'
+#2#255#4'Size'#2#0#0#1#4'Name'#6#5'Demo2'#8'DataType'#7#8'ftString'#9'Precis'
+'ion'#2#255#4'Size'#2'('#0#0#4'left'#3'8'#1#3'top'#2'@'#0#13'TLongintField'
+#20'RxMemoryData1DEMO_11'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'F'
+'ieldName'#6#6'DEMO_1'#5'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10
+'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringField'
+#19'RxMemoryData1Demo21'#12'DisplayWidth'#2'('#9'FieldKind'#7#6'fkData'#9'Fi'
+'eldName'#6#5'Demo2'#5'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10
+'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#2'('#0#0#0#11
+'TDatasource'#11'Datasource1'#7'DataSet'#7#13'RxMemoryData1'#4'left'#3'8'#1#3
+'top'#2' '#0#0#15'TIniPropStorage'#15'IniPropStorage1'#12'StoredValues'#14#0
+#4'left'#3#191#1#3'top'#2#19#0#0#0
]);

Some files were not shown because too many files have changed in this diff Show More