Стартовый пул

This commit is contained in:
2024-04-02 08:46:59 +03:00
parent fd57fffd3a
commit 3bb34d000b
5591 changed files with 3291734 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,133 @@
<?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"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
</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"/>
<CursorPos Y="20"/>
<UsageCount Value="20"/>
</Unit0>
<Unit1>
<Filename Value="asdmainunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="asdMainUnit"/>
<IsVisibleTab Value="True"/>
<TopLine Value="41"/>
<CursorPos X="50" Y="50"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../rxsortmemds.pas"/>
<TopLine Value="24"/>
<CursorPos X="69" Y="52"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="../../rxdbgrid.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="953"/>
<CursorPos Y="992"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<TopLine Value="671"/>
<CursorPos Y="688"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="../../rxmemds.pas"/>
<TopLine Value="1329"/>
<CursorPos Y="1346"/>
<UsageCount Value="10"/>
</Unit5>
</Units>
<JumpHistory Count="1">
<Position1>
<Filename Value="asdmainunit.pas"/>
<Caret Line="39" Column="20" TopLine="22"/>
</Position1>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="AutoSortDemo"/>
</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>
</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,43 @@
{ 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}
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,230 @@
object Form1: TForm1
Left = 386
Height = 524
Top = 218
Width = 780
Caption = 'Auto sort demo'
ClientHeight = 524
ClientWidth = 780
OnCreate = FormCreate
LCLVersion = '1.7'
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 = 452
Top = 66
Width = 768
ColumnDefValues.BlobText = '(данные)'
TitleButtons = True
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'ID'
Width = 88
FieldName = 'ID'
EditButtons = <>
Filter.IsNull = False
Filter.IsAll = True
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'NAME'
Width = 350
FieldName = 'NAME'
EditButtons = <>
Filter.IsNull = False
Filter.IsAll = True
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'DATE_ENTER'
Width = 100
FieldName = 'DATE_ENTER'
EditButtons = <>
Filter.IsNull = False
Filter.IsAll = True
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
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>
FooterOptions.DrawFullLine = False
OptionsRx = []
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
Color = clWindow
DrawFullLine = False
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = Datasource1
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgHeaderPushedLook]
ParentColor = False
TabOrder = 0
TitleStyle = tsNative
end
object CheckBox1: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 36
Width = 107
BorderSpacing.Around = 6
Caption = 'Title buttons'
OnChange = CheckBox2Change
TabOrder = 1
end
object CheckBox2: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 24
Top = 6
Width = 85
BorderSpacing.Around = 6
Caption = 'Auto sort'
OnChange = CheckBox2Change
TabOrder = 2
end
object RxMemoryData1: TRxMemoryData
AutoCalcFields = False
FieldDefs = <
item
Name = 'ID'
DataType = ftInteger
Precision = -1
end
item
Name = 'NAME'
DataType = ftString
Precision = -1
Size = 100
end
item
Name = 'DATE_ENTER'
DataType = ftDate
Precision = -1
end>
PacketRecords = 0
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,80 @@
{ 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
{$R *.lfm}
{ 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;
end.

View File

@@ -0,0 +1,75 @@
object AboutForm: TAboutForm
Left = 393
Height = 163
Top = 386
Width = 274
ActiveControl = BitBtn1
Caption = 'About...'
ClientHeight = 163
ClientWidth = 274
Position = poDesktopCenter
LCLVersion = '1.7'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 20
Top = 12
Width = 274
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 12
Caption = 'FolderLister component demo'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 20
Top = 32
Width = 274
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
Caption = '(c) 2005-2016 by Alexs'
ParentColor = False
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 20
Top = 52
Width = 274
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
Caption = 'alexs75@hotbox.ru'
ParentColor = False
end
object BitBtn1: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 107
Height = 36
Top = 121
Width = 60
Anchors = [akLeft, akBottom]
AutoSize = True
BorderSpacing.Bottom = 6
Default = True
DefaultCaption = True
Kind = bkOK
ModalResult = 1
TabOrder = 0
end
end

View File

@@ -0,0 +1,34 @@
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
{$R *.lfm}
end.

View File

@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<Title Value="FolderLister"/>
</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="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"/>
<CursorPos X="24" Y="2"/>
<UsageCount Value="23"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="MainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<CursorPos X="12" Y="9"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
<TopLine Value="70"/>
<CursorPos Y="88"/>
<UsageCount Value="11"/>
</Unit2>
<Unit3>
<Filename Value="c:\lazarus\fpcsrc\rtl\objpas\sysutils\filutilh.inc"/>
<TopLine Value="110"/>
<CursorPos X="64" Y="123"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="C:\lazarus\fpcsrc\rtl\win32\system.pp"/>
<UnitName Value="System"/>
<TopLine Value="314"/>
<CursorPos X="52" Y="331"/>
<UsageCount Value="10"/>
</Unit4>
<Unit5>
<Filename Value="C:\lazarus\components\RxNew\RxAppUtils.pas"/>
<CursorPos X="6"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="AboutUnit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="AboutForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<EditorIndex Value="-1"/>
<CursorPos Y="30"/>
<UsageCount Value="22"/>
</Unit6>
<Unit7>
<Filename Value="C:\lazarus\lcl\include\customform.inc"/>
<TopLine Value="1695"/>
<CursorPos X="43" Y="1700"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="unit1.lrs"/>
<CursorPos X="49" Y="2"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="C:\lazarus\lcl\Forms.pp"/>
<TopLine Value="1166"/>
<CursorPos X="37" Y="1169"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="C:\lazarus\lcl\include\application.inc"/>
<TopLine Value="142"/>
<CursorPos X="50" Y="146"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="C:\lazarus\lcl\Dialogs.pp"/>
<TopLine Value="37"/>
<CursorPos X="38" Y="48"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="C:\lazarus\lcl\Controls.pp"/>
<TopLine Value="1176"/>
<CursorPos X="2" Y="1182"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="C:\lazarus\components\RxNew\RX.INC"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="C:\lazarus\components\RxNew\RXStrutils.pas"/>
<UnitName Value="RxStrUtils"/>
<CursorPos Y="15"/>
<UsageCount Value="10"/>
</Unit14>
</Units>
<JumpHistory Count="9" HistoryIndex="8">
<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>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="53" TopLine="20"/>
</Position9>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="FolderLister"/>
</Target>
<SearchPaths>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
<SrcPath Value="$(LazarusDir)\lcl;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
</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,140 @@
object MainForm: TMainForm
Left = 427
Height = 300
Top = 245
Width = 460
ActiveControl = Edit1
Caption = 'Main form'
ClientHeight = 272
ClientWidth = 460
Menu = MainMenu1
OnCreate = FormCreate
Position = poDesktopCenter
ShowHint = True
LCLVersion = '1.7'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 75
Width = 96
BorderSpacing.Around = 6
Caption = 'Folder for scan'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 20
Top = 6
Width = 72
BorderSpacing.Around = 6
Caption = 'Default ext'
ParentColor = False
end
object Button1: TButton
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DirectoryEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 36
Top = 144
Width = 47
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 = 37
Top = 101
Width = 417
Directory = 'C:\lazarus\components\'
ShowHidden = False
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
MaxLength = 0
TabOrder = 1
Text = 'C:\lazarus\components\'
end
object Edit1: TEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 37
Top = 32
Width = 80
BorderSpacing.Around = 6
TabOrder = 2
Text = '.pas'
end
object ActionList1: TActionList
left = 144
top = 112
object sysExit: TAction
Category = 'System'
Caption = 'Exit'
Enabled = False
Hint = 'Exit form demo app'
OnExecute = sysExitExecute
ShortCut = 32856
end
object hlpAbout: TAction
Category = 'Help'
Caption = 'About'
Hint = 'Information of app'
OnExecute = hlpAboutExecute
end
object sysScan: TAction
Category = 'System'
Caption = 'Scan'
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,91 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ActnList,
Menus, rxFolderLister, 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;
{$R *.lfm}
{ 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;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -0,0 +1,290 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<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"/>
</General>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<VersionInfo>
<UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/>
<Language Value=""/>
<CharSet Value=""/>
</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="14">
<Unit0>
<Filename Value="PhoneBookDemo.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<CursorPos X="3" Y="12"/>
<UsageCount Value="27"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="pbmainunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="pbMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/>
<IsVisibleTab Value="True"/>
<TopLine Value="68"/>
<CursorPos X="111" Y="83"/>
<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"/>
<CursorPos X="5" Y="9"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="pbeditdataunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="pbEditDataForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="pbEditDataUnit"/>
<EditorIndex Value="2"/>
<TopLine Value="9"/>
<CursorPos X="3" Y="42"/>
<UsageCount Value="25"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../rxcloseformvalidator.pas"/>
<UnitName Value="RxCloseFormValidator"/>
<TopLine Value="195"/>
<CursorPos Y="211"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="../../../../lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/>
<TopLine Value="27"/>
<CursorPos X="13" Y="45"/>
<UsageCount Value="10"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/include/promptdialog.inc"/>
<TopLine Value="868"/>
<CursorPos Y="886"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../lcl/lcltype.pp"/>
<UnitName Value="LCLType"/>
<TopLine Value="716"/>
<CursorPos X="3" Y="723"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/>
<TopLine Value="96"/>
<CursorPos X="18" Y="103"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../rxconst.pas"/>
<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"/>
<TopLine Value="471"/>
<CursorPos Y="503"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="D:/Programming/Lazarus/lcl/include/control.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="3886"/>
<CursorPos X="9" Y="3895"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="D:/Programming/Lazarus/lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="-1"/>
<UsageCount Value="10"/>
</Unit13>
</Units>
<JumpHistory Count="23" HistoryIndex="22">
<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="pbmainunit.pas"/>
<Caret Line="101" Column="74" TopLine="79"/>
</Position9>
<Position10>
<Filename Value="pbmainunit.pas"/>
<Caret Line="75" Column="15" TopLine="41"/>
</Position10>
<Position11>
<Filename Value="pbmainunit.pas"/>
<Caret Line="74" Column="39" TopLine="40"/>
</Position11>
<Position12>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="72" TopLine="81"/>
</Position12>
<Position13>
<Filename Value="pbmainunit.pas"/>
<Caret Line="106" TopLine="81"/>
</Position13>
<Position14>
<Filename Value="pbmainunit.pas"/>
<Caret Line="102" TopLine="80"/>
</Position14>
<Position15>
<Filename Value="pbmainunit.pas"/>
<Caret Line="101" TopLine="79"/>
</Position15>
<Position16>
<Filename Value="pbmainunit.pas"/>
<Caret Line="103" TopLine="81"/>
</Position16>
<Position17>
<Filename Value="pbmainunit.pas"/>
<Caret Line="108" Column="13" TopLine="86"/>
</Position17>
<Position18>
<Filename Value="pbmainunit.pas"/>
<Caret Line="36" Column="28" TopLine="18"/>
</Position18>
<Position19>
<Filename Value="pbmainunit.pas"/>
<Caret Line="84" Column="137" TopLine="91"/>
</Position19>
<Position20>
<Filename Value="pbmainunit.pas"/>
<Caret Line="83" Column="3" TopLine="81"/>
</Position20>
<Position21>
<Filename Value="pbmainunit.pas"/>
<Caret Line="49" Column="5"/>
</Position21>
<Position22>
<Filename Value="pbmainunit.pas"/>
<Caret Line="12" Column="5"/>
</Position22>
<Position23>
<Filename Value="pbmainunit.pas"/>
<Caret Line="83" Column="111" TopLine="68"/>
</Position23>
</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>
</CompilerOptions>
<Debugging>
<Watches Count="1">
<Item1>
<Expression Value="W"/>
</Item1>
</Watches>
</Debugging>
</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.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,107 @@
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.menuitem18.caption
msgid "Help"
msgstr ""
#: tpbmainform.menuitem3.caption
msgctxt "TPBMAINFORM.MENUITEM3.CAPTION"
msgid "Edit"
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,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,20 @@
{"version":1,"strings":[
{"hash":74709819,"name":"tpbmainform.caption","sourcebytes":[80,104,111,110,101,32,98,111,111,107],"value":"Phone book"},
{"hash":1236,"name":"tpbmainform.rxdbgrid1.columns[0].title.caption","sourcebytes":[73,68],"value":"ID"},
{"hash":122070851,"name":"tpbmainform.rxdbgrid1.columns[1].title.caption","sourcebytes":[80,65,84,82,79,78,89,77,73,67],"value":"PATRONYMIC"},
{"hash":337429,"name":"tpbmainform.rxdbgrid1.columns[2].title.caption","sourcebytes":[78,65,77,69],"value":"NAME"},
{"hash":145172037,"name":"tpbmainform.rxdbgrid1.columns[3].title.caption","sourcebytes":[83,85,82,78,65,77,69],"value":"SURNAME"},
{"hash":5559333,"name":"tpbmainform.rxdbgrid1.columns[4].title.caption","sourcebytes":[80,72,79,78,69],"value":"PHONE"},
{"hash":19841,"name":"tpbmainform.rxdbgrid1.columns[5].title.caption","sourcebytes":[73,67,81],"value":"ICQ"},
{"hash":334367,"name":"tpbmainform.rxdbgrid1.columns[6].title.caption","sourcebytes":[77,69,77,79],"value":"MEMO"},
{"hash":21703,"name":"tpbmainform.edtnew.caption","sourcebytes":[78,101,119],"value":"New"},
{"hash":310020,"name":"tpbmainform.edtedit.caption","sourcebytes":[69,100,105,116],"value":"Edit"},
{"hash":78392485,"name":"tpbmainform.edtdelete.caption","sourcebytes":[68,101,108,101,116,101],"value":"Delete"},
{"hash":5738580,"name":"tpbmainform.edtprint.caption","sourcebytes":[80,114,105,110,116],"value":"Print"},
{"hash":315460,"name":"tpbmainform.edtfind.caption","sourcebytes":[70,105,110,100],"value":"Find"},
{"hash":315140,"name":"tpbmainform.sysexit.caption","sourcebytes":[69,120,105,116],"value":"Exit"},
{"hash":4691652,"name":"tpbmainform.hlpabout.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
{"hash":95464125,"name":"tpbmainform.menuitem1.caption","sourcebytes":[83,121,115,116,101,109],"value":"System"},
{"hash":310020,"name":"tpbmainform.menuitem3.caption","sourcebytes":[69,100,105,116],"value":"Edit"},
{"hash":322608,"name":"tpbmainform.menuitem18.caption","sourcebytes":[72,101,108,112],"value":"Help"}
]}

View File

@@ -0,0 +1,123 @@
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.FileName:= IncludeTrailingBackslash(ExtractFileDir(Application.ExeName)) + 'bases\PhoneBook.DBT';
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,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<Scaled Value="True"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</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"/>
</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"/>
<PathDelim Value="\"/>
<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,22 @@
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.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,73 @@
object Form1: TForm1
Left = 708
Height = 240
Top = 316
Width = 320
Caption = 'Form1'
ClientHeight = 240
ClientWidth = 320
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '1.9.0.0'
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
Left = 127
Height = 24
Top = 19
Width = 67
BorderSpacing.Around = 6
Caption = 'Label2'
Font.Height = -20
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
Left = 119
Height = 13
Top = 0
Width = 82
Caption = 'Keyboard Layout'
ParentColor = False
end
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideTop.Side = asrCenter
Left = 6
Height = 13
Top = 114
Width = 88
BorderSpacing.Around = 6
Caption = 'Enter text for test'
ParentColor = False
end
object Memo1: TMemo
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 101
Top = 133
Width = 308
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
TabOrder = 0
end
object Timer1: TTimer
Interval = 500
OnTimer = Timer1Timer
Left = 144
Top = 72
end
end

View File

@@ -0,0 +1,49 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Memo1: TMemo;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
uses LazUTF8, rxAppUtils;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label2.Caption:=' '+UTF8UpperCase(UTF8Copy(RxGetKeyboardLayoutName, 1, 2)) + ' ';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1Timer(nil);
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<Scaled Value="True"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</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"/>
</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>
</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,22 @@
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.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,19 @@
object Form1: TForm1
Left = 385
Height = 322
Top = 265
Width = 486
Caption = 'Form1'
ClientHeight = 322
ClientWidth = 486
Position = poScreenCenter
LCLVersion = '1.9.0.0'
object RxSwitch1: TRxSwitch
Left = 192
Height = 92
Top = 72
Width = 58
Caption = 'RxSwitch1'
TabOrder = 0
end
end

View File

@@ -0,0 +1,30 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, rxswitch;
type
{ TForm1 }
TForm1 = class(TForm)
RxSwitch1: TRxSwitch;
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
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: 134 KiB

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</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="4">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
<Item4>
<Name Value="EInvalidGraphic"/>
</Item4>
</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,872 @@
object Form1: TForm1
Left = 517
Height = 749
Top = 222
Width = 1206
Caption = 'Form1'
ClientHeight = 749
ClientWidth = 1206
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '1.9.0.0'
object RxDBVerticalGrid1: TRxDBVerticalGrid
Left = 899
Height = 642
Top = 107
Width = 307
Align = alClient
Color = clWindow
GridDefValues.BlobText = '(данные)'
DataCoumn.Title.Alignment = taCenter
DataCoumn.Title.Caption = 'Данные'
DataCoumn.Width = 250
DataSource = dsData
FocusColor = clRed
LabelCoumn.Alignment = taCenter
LabelCoumn.ReadOnly = True
LabelCoumn.Title.Alignment = taCenter
LabelCoumn.Title.Caption = 'Заголовок'
LabelCoumn.Width = 120
Options = [rxvgColumnTitle]
ReadOnly = True
Rows = <
item
Alignment = taCenter
FieldName = 'VIP'
RowTitle.Caption = 'VIP-клиент'
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
FieldName = 'tb_client_inn'
RowTitle.Caption = 'ИНН'
WordWrap = False
RowHeight = 27
ReadOnly = False
PopupMenu = PopupMenu1
end
item
FieldName = 'tb_client_name'
RowTitle.Caption = 'Наименование'
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
Alignment = taRightJustify
FieldName = 'tb_client_id'
RowTitle.Caption = 'ID'
WordWrap = False
RowHeight = 27
ReadOnly = False
PopupMenu = PopupMenu2
end
item
Alignment = taCenter
FieldName = 'TB_CLIENT_EMAIL'
RowTitle.Caption = 'ОГРН'
WordWrap = False
RowHeight = 27
ReadOnly = False
PopupMenu = PopupMenu3
end
item
FieldName = 'TB_CLIENT_EMAIL'
RowTitle.Caption = 'E-Mail'
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
RowTitle.Caption = 'Описание'
StaticText = 'Это просто текст'
Style = rxvrStaticText
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
FieldName = 'CREATE_USER_NAME'
RowTitle.Caption = 'Автор'
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
FieldName = 'create_user_date'
RowTitle.Caption = 'Дата создания'
Color = clWhite
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
FieldName = 'TB_CLEINT_TYPE'
RowTitle.Caption = 'Тип клиента'
KeyList.Strings = (
'1'
'2'
'3'
'4'
'5'
)
PickList.Strings = (
'Группа "А"'
'Группа "Б"'
'Группа "В"'
'Группа "Г"'
)
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
FieldName = 'TB_CLEINT_TYPE'
RowTitle.Caption = 'Тип 2'
ImageList = ImageList1
NotInKeyListIndex = 4
KeyList.Strings = (
'0=0'
'1=1'
'2=2'
'3=3'
)
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
FieldName = 'TB_CLIENT_IMAGE'
RowTitle.Caption = 'Изображение'
WordWrap = False
RowHeight = 90
ReadOnly = False
ShowBlobImagesAndMemo = True
end
item
FieldName = 'TB_CLEINT_MEMO'
RowTitle.Caption = 'Описание'
WordWrap = False
RowHeight = 90
ReadOnly = False
end>
TitleStyle = tsNative
RowHeights = (
20
27
27
27
27
27
20
20
20
20
20
20
90
90
)
end
object RxDBGrid1: TRxDBGrid
Left = 0
Height = 642
Top = 107
Width = 894
ColumnDefValues.BlobText = '(данные)'
TitleButtons = False
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_ID'
FieldName = 'TB_CLIENT_ID'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLEINT_CODE'
FieldName = 'TB_CLEINT_CODE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'VIP'
FieldName = 'VIP'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_INN'
FieldName = 'TB_CLIENT_INN'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLEINT_NAME'
FieldName = 'TB_CLIENT_NAME'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_EMAIL'
FieldName = 'TB_CLIENT_EMAIL'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_PHONE'
FieldName = 'TB_CLIENT_PHONE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'CREATE_USER_NAME'
FieldName = 'CREATE_USER_NAME'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'CREATE_USER_DATE'
FieldName = 'CREATE_USER_DATE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
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>
FooterOptions.DrawFullLine = False
SearchOptions.QuickSearchOptions = [loCaseInsensitive, loPartialKey]
SearchOptions.FromStart = False
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgAllowQuickFilter]
Align = alLeft
Color = clWindow
DrawFullLine = False
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = dsData
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
TabOrder = 1
TitleStyle = tsNative
end
object Panel1: TPanel
Left = 0
Height = 107
Top = 0
Width = 1206
Align = alTop
AutoSize = True
ClientHeight = 107
ClientWidth = 1206
TabOrder = 2
object Button1: TButton
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 7
Height = 36
Top = 7
Width = 80
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Diconnect'
OnClick = Button1Click
TabOrder = 0
end
object Button2: TButton
AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 93
Height = 36
Top = 7
Width = 69
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Connect'
OnClick = Button2Click
TabOrder = 1
end
object RadioGroup1: TRadioGroup
AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 168
Height = 93
Top = 7
Width = 83
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Image align'
ChildSizing.LeftRightSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 72
ClientWidth = 81
ItemIndex = 0
Items.Strings = (
'Left'
'Rigth'
'Center'
)
OnClick = CheckBox1Change
TabOrder = 2
end
object CheckBox2: TCheckBox
AnchorSideLeft.Control = RadioGroup1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
Left = 257
Height = 24
Top = 37
Width = 111
BorderSpacing.Around = 6
Caption = 'Show images'
OnChange = CheckBox1Change
TabOrder = 3
end
object CheckBox1: TCheckBox
AnchorSideLeft.Control = RadioGroup1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 257
Height = 24
Top = 7
Width = 110
BorderSpacing.Around = 6
Caption = 'Show header'
OnChange = CheckBox1Change
TabOrder = 4
end
end
object Splitter1: TSplitter
Left = 894
Height = 642
Top = 107
Width = 5
end
object dsData: TDataSource
DataSet = rxData
Left = 120
Top = 94
end
object PopupMenu1: TPopupMenu
Left = 822
Top = 341
object MenuItem1: TMenuItem
Caption = 'A'
end
object MenuItem2: TMenuItem
Caption = 'A2'
end
object MenuItem4: TMenuItem
Caption = '-'
end
object MenuItem3: TMenuItem
Caption = 'A3'
end
end
object PopupMenu2: TPopupMenu
Left = 834
Top = 403
object MenuItem5: TMenuItem
Caption = 'B1'
end
object MenuItem6: TMenuItem
Caption = 'B2'
end
object MenuItem8: TMenuItem
Caption = '-'
end
object MenuItem7: TMenuItem
Caption = 'B3'
end
end
object PopupMenu3: TPopupMenu
Left = 838
Top = 458
object MenuItem9: TMenuItem
Caption = 'C1'
end
object MenuItem10: TMenuItem
Caption = 'C2'
end
object MenuItem12: TMenuItem
Caption = '-'
end
object MenuItem11: TMenuItem
Caption = 'C3'
end
end
object rxData: TRxMemoryData
FieldDefs = <
item
Name = 'TB_CLIENT_ID'
DataType = ftAutoInc
Precision = -1
end
item
Name = 'TB_CLEINT_CODE'
DataType = ftInteger
Precision = -1
end
item
Name = 'TB_CLIENT_INN'
DataType = ftString
Precision = -1
Size = 20
end
item
Name = 'TB_CLIENT_NAME'
DataType = ftString
Precision = -1
Size = 200
end
item
Name = 'TB_CLIENT_EMAIL'
DataType = ftString
Precision = -1
Size = 50
end
item
Name = 'TB_CLIENT_PHONE'
DataType = ftString
Precision = -1
Size = 50
end
item
Name = 'VIP'
DataType = ftBoolean
end
item
Name = 'CREATE_USER_NAME'
DataType = ftString
Precision = -1
Size = 50
end
item
Name = 'CREATE_USER_DATE'
DataType = ftDateTime
Precision = -1
end
item
Name = 'TB_CLEINT_TYPE'
DataType = ftInteger
end
item
Name = 'TB_CLIENT_IMAGE'
DataType = ftBlob
end
item
Name = 'TB_CLEINT_MEMO'
DataType = ftMemo
end>
PacketRecords = 0
Left = 176
Top = 94
object rxDataTB_CLIENT_ID: TAutoIncField
FieldKind = fkData
FieldName = 'TB_CLIENT_ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLEINT_CODE: TLongintField
FieldKind = fkData
FieldName = 'TB_CLEINT_CODE'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLIENT_INN: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_INN'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLIENT_NAME: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_NAME'
Index = 3
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 200
end
object rxDataTB_CLIENT_EMAIL: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_EMAIL'
Index = 4
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object rxDataTB_CLIENT_PHONE: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_PHONE'
Index = 5
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object rxDataVIP: TBooleanField
FieldKind = fkData
FieldName = 'VIP'
Index = 6
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
DisplayValues = 'True;False'
end
object rxDataCREATE_USER_NAME: TStringField
FieldKind = fkData
FieldName = 'CREATE_USER_NAME'
Index = 7
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object rxDataCREATE_USER_DATE: TDateTimeField
FieldKind = fkData
FieldName = 'CREATE_USER_DATE'
Index = 8
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLEINT_TYPE: TLongintField
FieldKind = fkData
FieldName = 'TB_CLEINT_TYPE'
Index = 9
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLIENT_IMAGE: TBlobField
FieldKind = fkData
FieldName = 'TB_CLIENT_IMAGE'
Index = 10
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLEINT_MEMO: TMemoField
FieldKind = fkData
FieldName = 'TB_CLEINT_MEMO'
Index = 11
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
BlobType = ftMemo
Transliterate = False
end
end
object ImageList1: TImageList
Left = 1160
Top = 48
Bitmap = {
4C69050000001000000010000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000188532FF178432FF178331FF178231FF168030FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000178532FF168431FF168330FF158130FF14802FFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000168531FF158430FF14822FFF14812EFF137F2DFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000158430FF14832FFF13822EFF12802DFF117E2CFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000158430FF13822EFF12812DFF107F2BFF0F7E2AFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000014832FFF12812DFF10802CFF0F7E2AFF0E7C29FF00000000000000000000
00000000000000000000000000000000000000000000178332FF178331FF1583
30FF13822EFF11802CFF0F7E2AFF0D7D29FF0C7B27FF0C7A27FF0C7A27FF0D7A
28FF000000000000000000000000000000000000000000000000168231FF1581
2FFF13802DFF107F2BFF0E7D29FF0C7B27FF0B7A26FF0B7926FF0B7926FF0000
0000000000000000000000000000000000000000000000000000000000001480
2EFF127F2DFF107E2BFF0E7C29FF0C7A27FF0B7926FF0A7925FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000127E2DFF107D2BFF0E7B28FF0C7A27FF0B7926FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000107C2BFF0E7B29FF0D7A27FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000F7B2AFF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000188432FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000178532FF178431FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000178532FF168531FF158430FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001785
32FF168531FF158430FF14832FFF13822EFF12812DFF12802DFF127F2DFF127E
2DFF137E2DFF0000000000000000000000000000000000000000178432FF1684
31FF158430FF13832FFF12812DFF11802CFF107F2BFF107E2BFF107D2BFF107D
2BFF117D2CFF00000000000000000000000000000000178332FF168331FF1583
30FF14822FFF12812DFF11802CFF0F7F2BFF0E7D29FF0E7C29FF0E7C28FF0E7B
29FF0F7B29FF0000000000000000000000000000000000000000168231FF1581
2FFF13802DFF117F2CFF0F7E2AFF0E7D29FF0D7C28FF0C7B27FF0C7A27FF0C7A
27FF0D7A28FF0000000000000000000000000000000000000000000000001480
2FFF127F2DFF107E2BFF0E7C29FF0D7B28FF0B7A26FF0B7A26FF0A7925FF0B79
26FF0C7927FF0000000000000000000000000000000000000000000000000000
0000127E2CFF107D2BFF0E7B29FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000107C2BFF0E7B29FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000F7B29FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000188332FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000178331FF168231FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000158330FF15812FFF14802EFF000000000000
00000000000000000000000000000000000000000000188532FF178532FF1685
31FF158430FF158430FF14832FFF13822EFF13802DFF127F2DFF127E2DFF0000
00000000000000000000000000000000000000000000178432FF168431FF1584
30FF14832FFF13822EFF12812DFF11802CFF107F2BFF107E2BFF107D2BFF107C
2BFF0000000000000000000000000000000000000000178331FF168330FF1482
2FFF13822EFF12812DFF10802CFF0F7E2AFF0E7D29FF0E7C29FF0E7B28FF0E7B
29FF0F7B2AFF00000000000000000000000000000000168231FF158130FF1481
2EFF12802DFF107F2BFF0F7E2AFF0E7D29FF0C7C28FF0C7A27FF0C7A27FF0D7A
27FF0000000000000000000000000000000000000000168030FF14802FFF137F
2DFF117E2CFF0F7D2AFF0E7C29FF0C7B27FF0B7A26FF0B7926FF0B7926FF0000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000C7A27FF0B7926FF0A7925FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000C7A27FF0B7926FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000D7A28FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000178332FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000178432FF168331FF168231FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000178532FF168431FF158330FF15812FFF14802FFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000001785
32FF168531FF158430FF14822FFF13802DFF127F2DFF127E2CFF000000000000
0000000000000000000000000000000000000000000000000000178532FF1685
31FF158430FF14832FFF12812DFF117F2CFF107E2BFF107D2BFF107C2BFF0000
00000000000000000000000000000000000000000000188432FF178431FF1584
30FF14832FFF12822EFF11802CFF0F7E2AFF0E7C29FF0E7B29FF0E7B29FF0F7B
2AFF000000000000000000000000000000000000000000000000000000000000
000013822EFF11802CFF0F7F2BFF0E7D29FF0D7B28FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000012802DFF107F2BFF0E7D29FF0D7C28FF0B7A26FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000012802DFF107E2BFF0E7C29FF0C7B27FF0B7A26FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000127F2DFF107D2BFF0E7C28FF0C7A27FF0A7925FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000127E2DFF107D2BFF0E7B29FF0C7A27FF0B7926FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000137E2DFF117C2BFF0F7B29FF0D7A28FF0C7927FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A46534FF5959F3FF5959F3FF5959
F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959
F3FFA46534FF000000000000000000000000A46534FF5959F3FF5959F3FF5959
F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959F3FF5959
F3FFA46534FF000000000000000000000000A46534FFECEEEEFFECEEEEFFECEE
EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE
EEFFA46534FF000000000000000000000000A46534FFECEEEEFFECEEEEFFECEE
EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE
EEFFA46534FF000000000000000000000000A46534FFECEEEEFFECEEEEFFECEE
EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE
EEFFA46534FF000000000000000000000000A46534FFECEEEEFFECEEEEFFECEE
EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE
EEFFA46534FF000000000000000000000000A46534FFECEEEEFFECEEEEFFECEE
EEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEEEEFFECEE
EEFFA46534FF000000000000000000000000A46534FFA46534FFA46534FFA465
34FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA465
34FFA46534FF000000000000000000000000A46534FFA46534FFA46534FFA465
34FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA46534FFA465
34FFA46534FF000000000000000000000000A46534FFA46534FFB6BDBAFFB6BD
BAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465
34FFA46534FF000000000000000000000000A46534FFA46534FFB6BDBAFFA465
34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465
34FFA46534FF000000000000000000000000A46534FFA46534FFB6BDBAFFA465
34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465
34FFA46534FF000000000000000000000000A46534FFA46534FFB6BDBAFFA465
34FFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465
34FFA46534FF000000000000000000000000A465347FA46534FFB6BDBAFFB6BD
BAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFB6BDBAFFA46534FFA46534FFA465
34FFA46534FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
}
end
end

View File

@@ -0,0 +1,160 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxdbgrid,
Forms, Controls, Graphics, Dialogs, StdCtrls,
DBGrids, Menus, ExtCtrls, DbCtrls, db, rxdbverticalgrid, rxmemds;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
dsData: TDataSource;
ImageList1: TImageList;
MenuItem1: TMenuItem;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
Panel1: TPanel;
PopupMenu1: TPopupMenu;
PopupMenu2: TPopupMenu;
PopupMenu3: TPopupMenu;
RadioGroup1: TRadioGroup;
rxDataCREATE_USER_DATE: TDateTimeField;
rxDataCREATE_USER_NAME: TStringField;
rxDataTB_CLEINT_CODE: TLongintField;
rxDataTB_CLEINT_MEMO: TMemoField;
rxDataTB_CLEINT_TYPE: TLongintField;
rxDataTB_CLIENT_EMAIL: TStringField;
rxDataTB_CLIENT_ID: TAutoIncField;
rxDataTB_CLIENT_IMAGE: TBlobField;
rxDataTB_CLIENT_INN: TStringField;
rxDataTB_CLIENT_NAME: TStringField;
rxDataTB_CLIENT_PHONE: TStringField;
rxDataVIP: TBooleanField;
RxDBGrid1: TRxDBGrid;
RxDBVerticalGrid1: TRxDBVerticalGrid;
rxData: TRxMemoryData;
Splitter1: TSplitter;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure FillDataBase;
public
end;
var
Form1: TForm1;
implementation
uses LazUTF8, LazFileUtils;
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
FillDataBase;
CheckBox1.Checked:=rxvgColumnTitle in RxDBVerticalGrid1.Options;
CheckBox2.Checked:=RxDBVerticalGrid1.Rows[11].ShowBlobImagesAndMemo;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RxDBVerticalGrid1.DataSource:=nil;
RxDBGrid1.DataSource:=nil;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RxDBVerticalGrid1.DataSource:=dsData;
RxDBGrid1.DataSource:=dsData;
end;
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.Checked then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgColumnTitle]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgColumnTitle]
;
case RadioGroup1.ItemIndex of
0:RxDBVerticalGrid1.Rows[11].Alignment:=taLeftJustify;
1:RxDBVerticalGrid1.Rows[11].Alignment:=taRightJustify;
2:RxDBVerticalGrid1.Rows[11].Alignment:=taCenter;
end;
RxDBVerticalGrid1.Rows[11].ShowBlobImagesAndMemo:=CheckBox2.Checked;
RxDBVerticalGrid1.Rows[12].ShowBlobImagesAndMemo:=CheckBox2.Checked;
end;
procedure TForm1.FillDataBase;
procedure AppendRecord(AType, ACode:Integer; AINN, AName, ADesc, AEmail, APhone, AUser:string; AVip:boolean; AImageName:string);
var
S: String;
begin
rxData.Append;
rxDataTB_CLEINT_TYPE.AsInteger:=AType;
rxDataTB_CLEINT_CODE.AsInteger:=ACode;
rxDataTB_CLIENT_INN.AsString:=AINN;
rxDataTB_CLIENT_NAME.AsString:=AName;
rxDataTB_CLEINT_MEMO.AsString:=ADesc;
rxDataTB_CLIENT_EMAIL.AsString:=AEmail;
rxDataTB_CLIENT_PHONE.AsString:=APhone;
rxDataVIP.AsBoolean:=AVip;
if AImageName <> '' then
begin
S:=AppendPathDelim(ExpandFileName(AppendPathDelim(ExtractFileDir(ParamStr(0))) + '..'+DirectorySeparator + '..'+DirectorySeparator + '..' + DirectorySeparator + '..')) + 'images' + DirectorySeparator;
//ForceDirectories()
// /usr/local/share/lazarus/components/rxnew/demos/RxDBVerticalGrid
// /usr/local/share/lazarus/images
if FileExistsUTF8(S + AImageName) then
rxDataTB_CLIENT_IMAGE.LoadFromFile(S + AImageName);
end;
rxDataCREATE_USER_NAME.AsString:=AUser;
rxDataCREATE_USER_DATE.AsDateTime:=Now + (200-Random * 100);
rxData.Post;
end;
begin
rxData.Open;
AppendRecord(1, 1, '01000100101', 'JSC "BOOT"', 'Описание'#13'Строка 2'#13'Строка 3', 'test1@email.com', '5(555)-557-88-77', 'alexs', true, 'splash_logo.png');
AppendRecord(2, 2, '02000100101', 'Wikimedia Foundation, Inc.', 'Описание', 'test2@email.com', '5(555)-557-88-77', 'boss', false, 'splash_logo.xpm');
AppendRecord(3, 3, '03000100101', 'LLC Pilot ', 'Описание', 'test3@email.com', '5(555)-557-88-77', 'master', false, 'powered_by.png');
AppendRecord(4, 4, '04000100101', 'Pilot, OOO', 'Описание', 'test4@email.com', '5(555)-557-88-77', 'onegin', false, 'folder.png');
AppendRecord(5, 5, '05000100101', 'JSC "MS"', 'Описание', 'test5@email.com', '5(555)-557-88-77', 'alfred', false, 'splash_source'+DirectorySeparator + 'cheetah.jpg');
AppendRecord(6, 11, '06000100101', 'JSC "AA"', 'Описание', 'test6@email.com', '5(555)-557-88-77', 'anna', false, 'mimetypes'+DirectorySeparator + 'text-lazarus-project-information.png');
AppendRecord(7, 12, '07000100101', 'JSC "BBBB"', 'Описание', 'test7@email.com', '5(555)-557-88-77', 'tux', false, 'splash_source'+DirectorySeparator + 'paw.png');
AppendRecord(8, 13, '08000100101', 'JSC "CCCC"', 'Описание', 'test8@email.com', '5(555)-557-88-77', 'x-man', false, '');
AppendRecord(9, 14, '09000100101', 'JSC "DDD"', 'Описание', 'test9@email.com', '5(555)-557-88-77', 'arny', false, '');
AppendRecord(10, 15, '101000200101', 'JSC "EEEE"', 'Описание', 'test10@email.com', '5(555)-557-88-77', 'andy', false, '');
rxData.First;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,422 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<General>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
</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>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default">
<local>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</Mode0>
</Modes>
</RunParams>
<RequiredPackages Count="4">
<Item1>
<PackageName Value="LazControls"/>
</Item1>
<Item2>
<PackageName Value="rxnew"/>
<MinVersion Major="2" Minor="1" Release="1" Build="103" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="28">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos Y="14"/>
<UsageCount Value="21"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<TopLine Value="78"/>
<CursorPos X="5" Y="94"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../curredit.pas"/>
<TopLine Value="469"/>
<CursorPos Y="485"/>
<UsageCount Value="10"/>
</Unit2>
<Unit3>
<Filename Value="../../tooledit.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="794"/>
<CursorPos X="5" Y="797"/>
<UsageCount Value="10"/>
</Unit3>
<Unit4>
<Filename Value="../../rx.inc"/>
<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 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 Y="1073"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="../../../../lcl/include/control.inc"/>
<TopLine Value="1615"/>
<CursorPos Y="1631"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="../../../../lcl/lclmessageglue.pas"/>
<UnitName Value="LCLMessageGlue"/>
<TopLine Value="105"/>
<CursorPos Y="121"/>
<UsageCount Value="10"/>
</Unit14>
<Unit15>
<Filename Value="../../../../lcl/interfaces/gtk/gtkproc.inc"/>
<TopLine Value="3696"/>
<CursorPos Y="3712"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="../../../../lcl/interfaces/gtk/gtkcallback.inc"/>
<TopLine Value="660"/>
<CursorPos Y="676"/>
<UsageCount Value="10"/>
</Unit16>
<Unit17>
<Filename Value="../../../../lcl/interfaces/gtk/gtkwidgetset.inc"/>
<TopLine Value="1200"/>
<CursorPos Y="1226"/>
<UsageCount Value="10"/>
</Unit17>
<Unit18>
<Filename Value="../../dbdateedit.pas"/>
<TopLine Value="211"/>
<CursorPos Y="227"/>
<UsageCount Value="10"/>
</Unit18>
<Unit19>
<Filename Value="../../../../../../../alexs/install/fpcsrc/rtl/objpas/sysutils/sysinth.inc"/>
<TopLine Value="77"/>
<CursorPos X="37" Y="93"/>
<UsageCount Value="10"/>
</Unit19>
<Unit20>
<Filename Value="../../../../lcl/editbtn.pas"/>
<UnitName Value="EditBtn"/>
<EditorIndex Value="-1"/>
<TopLine Value="774"/>
<CursorPos Y="792"/>
<UsageCount Value="10"/>
</Unit20>
<Unit21>
<Filename Value="../../../rxnet/registerrxnet.pas"/>
<UnitName Value="RegisterRxNet"/>
<EditorIndex Value="-1"/>
<CursorPos X="34" Y="19"/>
<UsageCount Value="10"/>
</Unit21>
<Unit22>
<Filename Value="../../registerrxtools.pas"/>
<UnitName Value="RegisterRxTools"/>
<EditorIndex Value="-1"/>
<TopLine Value="22"/>
<CursorPos Y="48"/>
<UsageCount Value="10"/>
</Unit22>
<Unit23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<UnitName Value="rxDateRangeEditUnit"/>
<EditorIndex Value="-1"/>
<TopLine Value="66"/>
<CursorPos X="15" Y="82"/>
<UsageCount Value="10"/>
</Unit23>
<Unit24>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<UnitName Value="RxTimeEdit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="225"/>
<CursorPos X="22" Y="243"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit24>
<Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<EditorIndex Value="2"/>
<TopLine Value="819"/>
<CursorPos X="14" Y="831"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="3"/>
<TopLine Value="1410"/>
<CursorPos X="15" Y="1422"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit26>
<Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<EditorIndex Value="4"/>
<TopLine Value="5039"/>
<CursorPos X="3" Y="5044"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit27>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="188" Column="44" TopLine="181"/>
</Position1>
<Position2>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="15" TopLine="48"/>
</Position2>
<Position3>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="314" Column="24" TopLine="290"/>
</Position3>
<Position4>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="60" Column="15" TopLine="58"/>
</Position4>
<Position5>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="253" Column="22" TopLine="235"/>
</Position5>
<Position6>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="254" TopLine="235"/>
</Position6>
<Position7>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="15" TopLine="48"/>
</Position7>
<Position8>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="289" TopLine="275"/>
</Position8>
<Position9>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="60" Column="15" TopLine="55"/>
</Position9>
<Position10>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="254" Column="35" TopLine="236"/>
</Position10>
<Position11>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="290" Column="61" TopLine="273"/>
</Position11>
<Position12>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="287" Column="36" TopLine="273"/>
</Position12>
<Position13>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="75" Column="15" TopLine="66"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="94" Column="5" TopLine="78"/>
</Position14>
<Position15>
<Filename Value="unit1.pas"/>
<Caret Line="93" Column="5" TopLine="77"/>
</Position15>
<Position16>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="348" Column="17" TopLine="334"/>
</Position16>
<Position17>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="15" TopLine="54"/>
</Position17>
<Position18>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="281" Column="3" TopLine="271"/>
</Position18>
<Position19>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="55" Column="16" TopLine="46"/>
</Position19>
<Position20>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="156" Column="3" TopLine="154"/>
</Position20>
<Position21>
<Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<Caret Line="831" Column="14" TopLine="819"/>
</Position21>
<Position22>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="1486" Column="14" TopLine="1477"/>
</Position22>
<Position23>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="1254" Column="15" TopLine="1243"/>
</Position23>
<Position24>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<Caret Line="5064" Column="3" TopLine="5059"/>
</Position24>
<Position25>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="1422" Column="15" TopLine="1410"/>
</Position25>
<Position26>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="156" Column="3" TopLine="154"/>
</Position26>
<Position27>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="84" TopLine="80"/>
</Position27>
<Position28>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="352" Column="12" TopLine="336"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="94" Column="5" TopLine="78"/>
</Position29>
<Position30>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="238" Column="34" TopLine="225"/>
</Position30>
</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>
</CompilerOptions>
<Debugging>
<BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxcontrols/rxtimeedit.pas"/>
<Line Value="244"/>
</Item1>
</BreakPoints>
<Exceptions Count="4">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
<Item4>
<Name Value="EDBEditError"/>
</Item4>
</Exceptions>
</Debugging>
</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, lazcontrols,
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.

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,302 @@
object Form1: TForm1
Left = 502
Height = 397
Top = 390
Width = 590
Caption = 'Form1'
ClientHeight = 397
ClientWidth = 590
OnCreate = FormCreate
LCLVersion = '1.9.0.0'
object PageControl1: TPageControl
Left = 0
Height = 397
Top = 0
Width = 590
ActivePage = TabSheet3
Align = alClient
TabIndex = 2
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'RxDBDateEdit demo'
ClientHeight = 366
ClientWidth = 580
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 17
Top = 6
Width = 38
Caption = 'Label1'
ParentColor = False
end
object RxDBDateEdit1: TRxDBDateEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 12
Height = 34
Top = 32
Width = 151
BorderSpacing.Around = 6
ButtonWidth = 23
Enabled = False
MaxLength = 10
PasswordChar = #0
PopupColor = clWindow
TabOrder = 0
Text = 't1. . '
DataField = 'DOC_DATE'
DataSource = dsData
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = RxDBDateEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 17
Top = 75
Width = 77
BorderSpacing.Around = 6
Caption = 'Currency edit'
ParentColor = False
end
object CurrencyEdit1: TCurrencyEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 34
Top = 101
Width = 148
Alignment = taCenter
BorderSpacing.Around = 6
TabOrder = 1
end
object RxDateEdit1: TRxDateEdit
Left = 12
Height = 34
Top = 160
Width = 80
ButtonWidth = 23
MaxLength = 10
PasswordChar = #0
PopupColor = clWindow
TabOrder = 2
Text = ' . . '
end
object Button1: TButton
Left = 248
Height = 33
Top = 80
Width = 69
AutoSize = True
Caption = 'Invalidate'
OnClick = Button1Click
TabOrder = 3
end
end
object TabSheet2: TTabSheet
Caption = 'RxDateRangeEdit demo'
ClientHeight = 366
ClientWidth = 580
object CheckBox1: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = TabSheet2
Left = 6
Height = 23
Top = 6
Width = 84
BorderSpacing.Around = 6
Caption = 'reoMonth'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 0
end
object RxDateRangeEdit1: TRxDateRangeEdit
AnchorSideLeft.Control = TabSheet2
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
Left = 159
Height = 34
Top = 93
Width = 262
BorderSpacing.Around = 6
Month = 5
TabOrder = 1
Year = 2017
OnChange = RxDateRangeEdit1Change
end
object CheckBox2: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 23
Top = 35
Width = 91
BorderSpacing.Around = 6
Caption = 'reoQuarter'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 2
end
object CheckBox3: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 23
Top = 64
Width = 95
BorderSpacing.Around = 6
Caption = 'reoHalfYear'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 3
end
object Label3: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 17
Top = 133
Width = 87
BorderSpacing.Around = 6
Caption = 'Start of period'
ParentColor = False
end
object Edit1: TEdit
AnchorSideLeft.Control = Label3
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label5
Left = 12
Height = 34
Top = 156
Width = 272
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ReadOnly = True
TabOrder = 4
Text = 'Edit1'
end
object Label4: TLabel
AnchorSideLeft.Control = Label5
AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom
Left = 296
Height = 17
Top = 133
Width = 79
BorderSpacing.Around = 6
Caption = 'End of period'
ParentColor = False
end
object Edit2: TEdit
AnchorSideLeft.Control = Label4
AnchorSideTop.Control = Label4
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 302
Height = 34
Top = 156
Width = 272
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ReadOnly = True
TabOrder = 5
Text = 'Edit2'
end
object Label5: TLabel
AnchorSideLeft.Control = TabSheet2
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = TabSheet2
Left = 290
Height = 1
Top = 0
Width = 1
ParentColor = False
end
end
object TabSheet3: TTabSheet
Caption = 'RxTimeEdit demo'
ClientHeight = 366
ClientWidth = 580
object Label6: TLabel
AnchorSideLeft.Control = TabSheet3
AnchorSideTop.Control = TabSheet3
Left = 6
Height = 17
Top = 6
Width = 65
BorderSpacing.Around = 6
Caption = 'RxTimeEdit'
ParentColor = False
end
object CheckBox4: TCheckBox
AnchorSideLeft.Control = RxTimeEdit1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RxTimeEdit1
Left = 154
Height = 23
Top = 35
Width = 104
BorderSpacing.Left = 32
BorderSpacing.Around = 6
Caption = 'Show second'
Checked = True
OnChange = CheckBox4Change
State = cbChecked
TabOrder = 0
end
object RxTimeEdit1: TRxTimeEdit
AnchorSideLeft.Control = Label6
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
Left = 12
Height = 34
Top = 29
Width = 104
ShowSecond = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
CharCase = ecNormal
MaxLength = 8
TabOrder = 1
end
end
end
object dsData: TDataSource
DataSet = rxData
Left = 264
Top = 21
end
object rxData: TRxMemoryData
FieldDefs = <
item
Name = 'DOC_DATE'
DataType = ftDate
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,103 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, DividerBevel, LResources, Forms, Controls,
Graphics, Dialogs, StdCtrls, ComCtrls, rxmemds, rxdbdateedit, rxcurredit,
rxtooledit, rxDateRangeEditUnit, RxTimeEdit;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CurrencyEdit1: TCurrencyEdit;
dsData: TDatasource;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
PageControl1: TPageControl;
rxData: TRxMemoryData;
rxDataDOC_DATE: TDateField;
RxDateEdit1: TRxDateEdit;
RxDateRangeEdit1: TRxDateRangeEdit;
RxDBDateEdit1: TRxDBDateEdit;
RxTimeEdit1: TRxTimeEdit;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
procedure Button1Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure CheckBox4Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RxDateRangeEdit1Change(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;
CheckBox1Change(nil);
end;
procedure TForm1.RxDateRangeEdit1Change(Sender: TObject);
begin
Edit1.Text:=DateToStr(RxDateRangeEdit1.Period);
Edit2.Text:=DateToStr(RxDateRangeEdit1.PeriodEnd);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CurrencyEdit1.Invalidate;
end;
procedure TForm1.CheckBox1Change(Sender: TObject);
var
R: TRxDateRangeEditOptions;
begin
R:=[];
if CheckBox1.Checked then
R:=R + [reoMonth];
if CheckBox2.Checked then
R:=R + [reoQuarter];
if CheckBox3.Checked then
R:=R + [reoHalfYear];
RxDateRangeEdit1.Options:=R;
end;
procedure TForm1.CheckBox4Change(Sender: TObject);
begin
RxTimeEdit1.ShowSecond:=CheckBox4.Checked;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<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="3">
<Item1>
<PackageName Value="LazControls"/>
</Item1>
<Item2>
<PackageName Value="rxtools"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</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"/>
<PathDelim Value="\"/>
<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, lazcontrols, 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,186 @@
object Form1: TForm1
Left = 697
Height = 391
Top = 481
Width = 441
Caption = 'Form1'
ClientHeight = 391
ClientWidth = 441
OnCreate = FormCreate
LCLVersion = '1.7'
object Button1: TButton
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 335
Height = 23
Top = 6
Width = 100
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Get information'
OnClick = Button1Click
TabOrder = 0
end
object Edit1: TEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 12
Height = 21
Top = 54
Width = 423
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clSkyBlue
ReadOnly = True
TabOrder = 1
end
object Edit2: TEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 12
Height = 21
Top = 100
Width = 423
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clSkyBlue
ReadOnly = True
TabOrder = 2
end
object Edit3: TEdit
AnchorSideLeft.Control = Label4
AnchorSideTop.Control = Label4
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 10
Height = 21
Top = 211
Width = 425
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clSkyBlue
ReadOnly = True
TabOrder = 3
end
object Edit4: TEdit
AnchorSideLeft.Control = Label5
AnchorSideTop.Control = Label5
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 12
Height = 21
Top = 257
Width = 423
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clSkyBlue
ReadOnly = True
TabOrder = 4
end
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Button1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 35
Width = 188
BorderSpacing.Around = 6
Caption = 'User name (from environment variable)'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 81
Width = 59
BorderSpacing.Around = 6
Caption = 'User domain'
ParentColor = False
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = DividerBevel1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 146
Width = 40
BorderSpacing.Around = 6
Caption = 'File info:'
ParentColor = False
end
object DividerBevel1: TDividerBevel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 13
Top = 127
Width = 441
Caption = 'File owner'
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Bottom = 6
Font.Style = [fsBold]
ParentFont = False
end
object FileNameEdit1: TFileNameEdit
AnchorSideLeft.Control = Label3
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 12
Height = 21
Top = 165
Width = 423
FilterIndex = 0
HideDirectories = False
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
MaxLength = 0
Spacing = 0
TabOrder = 5
end
object Label4: TLabel
AnchorSideTop.Control = FileNameEdit1
AnchorSideTop.Side = asrBottom
Left = 4
Height = 13
Top = 192
Width = 61
BorderSpacing.Around = 6
Caption = 'Owner name'
ParentColor = False
end
object Label5: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit3
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 238
Width = 69
BorderSpacing.Around = 6
Caption = 'Owner domain'
ParentColor = False
end
end

View File

@@ -0,0 +1,65 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, DividerBevel, Forms, Controls, Graphics, Dialogs,
StdCtrls, EditBtn;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
DividerBevel1: TDividerBevel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
FileNameEdit1: TFileNameEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses rxFileUtils;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
UD, UN: string;
begin
Edit1.Text:=GetEnvironmentVariable('USERNAME');
Edit2.Text:=GetUserName;
GetFileOwnerData('', FileNameEdit1.FileName, UN, UD);
Edit3.Text:=UN;
Edit4.Text:=UD;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FileNameEdit1.FileName:=ParamStr(0);
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,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,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="RxIniPropStorage DEMO"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</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"/>
</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,22 @@
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
Application.Title:='RxIniPropStorage DEMO';
RequireDerivedFormResource:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,155 @@
object Form1: TForm1
Left = 676
Height = 330
Top = 298
Width = 632
Caption = 'RxIniPropStorage DEMO'
ClientHeight = 330
ClientWidth = 632
Position = poScreenCenter
SessionProperties = 'Edit1.Text;Edit2.Text'
LCLVersion = '1.7'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label5
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 32
Width = 48
BorderSpacing.Around = 6
Caption = 'Value 1'
ParentColor = False
end
object Edit1: TEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label5
Left = 12
Height = 37
Top = 58
Width = 267
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 0
end
object Label2: TLabel
AnchorSideLeft.Control = Label5
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Label5
AnchorSideTop.Side = asrBottom
Left = 354
Height = 20
Top = 32
Width = 48
BorderSpacing.Around = 6
Caption = 'Value 2'
ParentColor = False
end
object Edit2: TEdit
AnchorSideLeft.Control = Label2
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 360
Height = 37
Top = 58
Width = 266
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 1
end
object Edit3: TEdit
AnchorSideLeft.Control = Label3
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label6
Left = 12
Height = 37
Top = 207
Width = 259
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 2
end
object SpinEdit1: TSpinEdit
AnchorSideLeft.Control = Label4
AnchorSideTop.Control = Label4
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 368
Height = 37
Top = 207
Width = 258
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 3
Value = 1
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 181
Width = 96
BorderSpacing.Around = 6
Caption = 'Manual value 1'
ParentColor = False
end
object Label4: TLabel
AnchorSideLeft.Control = Label6
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
Left = 362
Height = 20
Top = 181
Width = 96
BorderSpacing.Around = 6
Caption = 'Manual value 2'
ParentColor = False
end
object Label5: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
Left = 285
Height = 20
Top = 6
Width = 63
BorderSpacing.Around = 6
Caption = 'Auto save'
ParentColor = False
end
object Label6: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
AnchorSideTop.Side = asrCenter
Left = 277
Height = 20
Top = 155
Width = 79
Caption = 'Manual save'
ParentColor = False
end
object RxIniPropStorage1: TRxIniPropStorage
StoredValues = <
item
Name = 'STRING_VALUE1'
end
item
Name = 'INT_VALUE2'
end>
OnSavingProperties = RxIniPropStorage1SavingProperties
OnRestoreProperties = RxIniPropStorage1RestoreProperties
SeparateFiles = True
left = 304
top = 96
end
end

View File

@@ -0,0 +1,59 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, RxIniPropStorage, Forms, Controls, Graphics,
Dialogs, StdCtrls, Spin;
type
{ TForm1 }
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
RxIniPropStorage1: TRxIniPropStorage;
SpinEdit1: TSpinEdit;
procedure RxIniPropStorage1RestoreProperties(Sender: TObject);
procedure RxIniPropStorage1SavingProperties(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.RxIniPropStorage1RestoreProperties(Sender: TObject);
begin
Edit3.Text:=RxIniPropStorage1.StoredValue['STRING_VALUE1'];
if RxIniPropStorage1.StoredValue['INT_VALUE2'] <> '' then
SpinEdit1.Value:=StrToIntDef(RxIniPropStorage1.StoredValue['INT_VALUE2'], 0);
end;
procedure TForm1.RxIniPropStorage1SavingProperties(Sender: TObject);
begin
RxIniPropStorage1.StoredValue['STRING_VALUE1']:=Edit3.Text;
RxIniPropStorage1.StoredValue['INT_VALUE2']:=IntToStr(SpinEdit1.Value);
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<General>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
</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>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default"/>
</Modes>
</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="15">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos Y="18"/>
<UsageCount Value="24"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<TopLine Value="16"/>
<CursorPos X="23" Y="74"/>
<UsageCount Value="24"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="../../rxlookup.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="645"/>
<CursorPos X="19" Y="646"/>
<UsageCount Value="11"/>
<Bookmarks Count="1">
<Item0 Y="1315" ID="1"/>
</Bookmarks>
</Unit2>
<Unit3>
<Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="2"/>
<TopLine Value="1276"/>
<CursorPos X="15" Y="1294"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="../../../../lcl/include/control.inc"/>
<EditorIndex Value="3"/>
<TopLine Value="3771"/>
<CursorPos X="3" Y="3778"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../rxpopupunit.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="770"/>
<CursorPos Y="785"/>
<UsageCount Value="11"/>
</Unit5>
<Unit6>
<Filename Value="../../rxdconst.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="68"/>
<CursorPos X="3" Y="68"/>
<UsageCount Value="11"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/include/wincontrol.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="7563"/>
<CursorPos Y="7579"/>
<UsageCount Value="11"/>
</Unit7>
<Unit8>
<Filename Value="../../dbutils.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="310"/>
<CursorPos Y="326"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="547"/>
<CursorPos X="3" Y="566"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../rxdb/rxlookup.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="1466"/>
<CursorPos X="2" Y="1471"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
<Filename Value="../../registerrx.pas"/>
<EditorIndex Value="-1"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="../../registerrxdb.pas"/>
<UnitName Value="RegisterRxDB"/>
<EditorIndex Value="-1"/>
<TopLine Value="118"/>
<CursorPos X="36" Y="155"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="../../rxdb/rxdbgridexportpdf.pas"/>
<UnitName Value="RxDBGridExportPdf"/>
<EditorIndex Value="-1"/>
<TopLine Value="183"/>
<CursorPos X="3" Y="196"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="../../rxdb/rxdbgridexportpdfsetupunit.pas"/>
<ComponentName Value="RxDBGridExportPdfSetupForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridExportPdfSetupUnit"/>
<EditorIndex Value="-1"/>
<TopLine Value="83"/>
<CursorPos X="31" Y="98"/>
<UsageCount Value="10"/>
</Unit14>
</Units>
<JumpHistory Count="16" HistoryIndex="15">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="47" TopLine="34"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="61" Column="14" TopLine="37"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="5" TopLine="9"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="12" Column="37" TopLine="9"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="26" Column="21" TopLine="9"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="27" Column="21" TopLine="9"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="64" Column="43" TopLine="52"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="65" Column="43" TopLine="53"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="69" Column="45" TopLine="51"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="74" Column="29" TopLine="40"/>
</Position10>
<Position11>
<Filename Value="unit1.pas"/>
<Caret Line="51" Column="38" TopLine="40"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="52" Column="38" TopLine="41"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="62" Column="14" TopLine="57"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="74" Column="23" TopLine="16"/>
</Position14>
<Position15>
<Filename Value="../../rxdb/rxlookup.pas"/>
<Caret Line="334" Column="3" TopLine="315"/>
</Position15>
<Position16>
<Filename Value="../../rxdb/rxlookup.pas"/>
<Caret Line="277" Column="30" TopLine="259"/>
</Position16>
</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>
</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,19 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, rxnew;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,300 @@
object Form1: TForm1
Left = 534
Height = 368
Top = 234
Width = 498
ActiveControl = RxDBLookupCombo1
Caption = 'RxDBLookupCombo test'
ClientHeight = 368
ClientWidth = 498
OnCreate = FormCreate
LCLVersion = '1.9.0.0'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = GroupBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 102
Width = 67
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 = 103
Height = 15
Top = 161
Width = 34
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 = 27
Top = 123
Width = 480
AutoSize = True
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ButtonOnlyWhenFocused = False
ButtonWidth = 15
Color = clWindow
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 = 25
Top = 156
Width = 91
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 = 428
Height = 25
Top = 187
Width = 64
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 = 23
Top = 187
Width = 416
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 3
Text = 'Edit1'
end
object DBGrid1: TDBGrid
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
Left = 0
Height = 152
Top = 216
Width = 498
Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom]
Color = clWindow
Columns = <>
DataSource = dsLookUpData
TabOrder = 4
end
object GroupBox1: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 6
Height = 90
Top = 6
Width = 486
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Around = 6
Caption = 'RxDBLookupCombo visual options'
ClientHeight = 70
ClientWidth = 482
TabOrder = 5
object CheckBox1: TCheckBox
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = GroupBox1
Left = 6
Height = 19
Top = 6
Width = 39
BorderSpacing.Around = 6
Caption = 'Flat'
OnChange = CheckBox1Change
TabOrder = 0
end
object RadioGroup1: TRadioGroup
AnchorSideLeft.Control = CheckBox1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = GroupBox1
Left = 51
Height = 58
Top = 6
Width = 81
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Border style'
ChildSizing.LeftRightSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 38
ClientWidth = 77
ItemIndex = 0
Items.Strings = (
'bsNone'
'bsSingle'
)
OnClick = CheckBox1Change
TabOrder = 1
end
object RadioGroup2: TRadioGroup
AnchorSideLeft.Control = GroupBox1
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = GroupBox1
Left = 176
Height = 58
Top = 6
Width = 131
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Style'
ChildSizing.LeftRightSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 38
ClientWidth = 127
ItemIndex = 0
Items.Strings = (
'rxcsDropDown'
'rxcsDropDownList'
)
OnClick = CheckBox1Change
TabOrder = 2
end
end
object rxData1: TRxMemoryData
FieldDefs = <
item
Name = 'ID'
DataType = ftInteger
end>
PacketRecords = 0
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
end
item
Name = 'Caption'
DataType = ftString
Size = 100
end
item
Name = 'Price'
DataType = ftCurrency
end>
PacketRecords = 0
Left = 232
Top = 128
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
Precision = 2
end
end
object dsData1: TDataSource
DataSet = rxData1
Left = 288
Top = 8
end
object dsLookUpData: TDataSource
DataSet = rxLookUpData
Left = 200
Top = 128
end
end

View File

@@ -0,0 +1,95 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, StdCtrls, DBGrids, ExtCtrls, rxlookup, rxmemds;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
DBGrid1: TDBGrid;
dsData1: TDatasource;
dsLookUpData: TDatasource;
Edit1: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
rxData1ID: TLongintField;
RxDBLookupCombo1: TRxDBLookupCombo;
rxData1: TRxMemoryData;
rxLookUpData: TRxMemoryData;
rxLookUpDataCaption: TStringField;
rxLookUpDataID: TLongintField;
rxLookUpDataPrice: TCurrencyField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ 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.CheckBox1Change(Sender: TObject);
begin
RxDBLookupCombo1.Flat:=CheckBox1.Checked;
case RadioGroup1.ItemIndex of
0:RxDBLookupCombo1.BorderStyle:=bsNone;
1:RxDBLookupCombo1.BorderStyle:=bsSingle;
end;
case RadioGroup2.ItemIndex of
0:RxDBLookupCombo1.Style:=rxcsDropDown;
1:RxDBLookupCombo1.Style:=rxcsDropDownList;
end;
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 - 27', 0]);
Label2.Caption:='';
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<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>
<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>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default"/>
</Modes>
</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"/>
</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>
</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.

179
RXLib/demos/RxMDI/unit1.lfm Normal file
View File

@@ -0,0 +1,179 @@
object Form1: TForm1
Left = 527
Height = 435
Top = 222
Width = 613
Caption = 'MainForm'
ClientHeight = 407
ClientWidth = 613
Menu = MainMenu1
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '1.9.0.0'
WindowState = wsMaximized
object ToolPanel1: TToolPanel
Left = 0
Height = 31
Top = 0
Width = 613
Items = <>
Options = []
CustomizeShortCut = False
Align = alTop
BorderWidth = 4
ClientHeight = 31
ClientWidth = 613
TabOrder = 0
object RxMDICloseButton1: TRxMDICloseButton
AnchorSideTop.Control = ToolPanel1
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ToolPanel1
AnchorSideRight.Side = asrBottom
Left = 585
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
}
ShowInfoLabel = False
end
end
object RxMDITasks1: TRxMDITasks
Left = 0
Height = 25
Top = 360
Width = 613
Align = alBottom
FlatButton = True
Options = [rxtoMidleClickClose]
end
object StatusBar1: TStatusBar
Left = 0
Height = 22
Top = 385
Width = 613
Panels = <
item
Width = 100
end
item
Width = 150
end>
SimplePanel = False
end
object RxMDIPanel1: TRxMDIPanel
Left = 0
Height = 329
Top = 31
Width = 613
CloseButton = RxMDICloseButton1
TaskPanel = RxMDITasks1
Align = alClient
BevelOuter = bvLowered
HideCloseButton = False
OnChangeCurrentChild = RxMDIPanel1ChangeCurrentChild
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
object optShowInfoLabel: TAction
Category = 'Options'
Caption = 'Show info label'
Checked = True
OnExecute = optShowInfoLabelExecute
end
object optMidleMouseClickClose: TAction
Category = 'Options'
Caption = 'Midle mouse button close form'
Checked = True
OnExecute = optMidleMouseClickCloseExecute
end
object optHideCloseButton: TAction
Category = 'Options'
Caption = 'Hide close button'
Checked = True
OnExecute = optHideCloseButtonExecute
end
end
object MainMenu1: TMainMenu
Left = 408
Top = 72
object MenuItem1: TMenuItem
Caption = 'System'
object MenuItem2: TMenuItem
Action = sysClose
end
end
object MenuItem8: TMenuItem
Caption = 'Options'
object MenuItem9: TMenuItem
Action = optShowInfoLabel
end
object MenuItem10: TMenuItem
Action = optMidleMouseClickClose
end
object MenuItem11: TMenuItem
Action = optHideCloseButton
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

146
RXLib/demos/RxMDI/unit1.pas Normal file
View File

@@ -0,0 +1,146 @@
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;
MenuItem11: TMenuItem;
optHideCloseButton: TAction;
MenuItem10: TMenuItem;
optMidleMouseClickClose: TAction;
MenuItem9: TMenuItem;
optShowInfoLabel: TAction;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: 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 FormCreate(Sender: TObject);
procedure optHideCloseButtonExecute(Sender: TObject);
procedure optMidleMouseClickCloseExecute(Sender: TObject);
procedure optShowInfoLabelExecute(Sender: TObject);
procedure RxMDIPanel1ChangeCurrentChild(Sender: TRxMDIPanel; AForm: TForm);
procedure sysCloseExecute(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
procedure UpdateOptions;
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.Panels[0].Text:=ActiveControl.Caption
else
StatusBar1.Panels[0].Text:='<NONE>'
;
end;
procedure TForm1.UpdateOptions;
begin
RxMDICloseButton1.ShowInfoLabel:=optShowInfoLabel.Checked;
if optMidleMouseClickClose.Checked then
RxMDITasks1.Options:=RxMDITasks1.Options + [rxtoMidleClickClose]
else
RxMDITasks1.Options:=RxMDITasks1.Options - [rxtoMidleClickClose];
RxMDIPanel1.HideCloseButton:=optHideCloseButton.Checked;
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;
procedure TForm1.FormCreate(Sender: TObject);
begin
UpdateOptions;
end;
procedure TForm1.optHideCloseButtonExecute(Sender: TObject);
begin
optHideCloseButton.Checked:=not optHideCloseButton.Checked;
UpdateOptions;
end;
procedure TForm1.optMidleMouseClickCloseExecute(Sender: TObject);
begin
optMidleMouseClickClose.Checked:=not optMidleMouseClickClose.Checked;
UpdateOptions;
end;
procedure TForm1.optShowInfoLabelExecute(Sender: TObject);
begin
optShowInfoLabel.Checked:=not optShowInfoLabel.Checked;
UpdateOptions;
end;
procedure TForm1.RxMDIPanel1ChangeCurrentChild(Sender: TRxMDIPanel; AForm: TForm
);
begin
if Assigned(AForm) then
StatusBar1.Panels[1].Text:=AForm.Caption
else
StatusBar1.Panels[1].Text:='<NONE>'
;
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,86 @@
<?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>
<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="3">
<Item1>
<PackageName Value="FCL"/>
</Item1>
<Item2>
<PackageName Value="rxnew"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</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="4">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
<Item4>
<Name Value="EDatabaseError"/>
</Item4>
</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,344 @@
object Form1: TForm1
Left = 455
Height = 746
Top = 191
Width = 1039
Caption = 'Form1'
ClientHeight = 746
ClientWidth = 1039
OnCreate = FormCreate
Position = poScreenCenter
SessionProperties = 'Edit1.Text'
LCLVersion = '1.7'
object CheckBox1: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 24
Top = 6
Width = 99
BorderSpacing.Around = 6
Caption = 'CheckBox1'
OnChange = CheckBox1Change
TabOrder = 0
end
object Edit1: TEdit
AnchorSideLeft.Control = Label1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 119
Height = 37
Top = 36
Width = 914
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 1
Text = 'Edit1'
end
object Label1: TLabel
AnchorSideLeft.Control = CheckBox1
AnchorSideBottom.Control = Edit1
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 20
Top = 53
Width = 107
Anchors = [akLeft, akBottom]
Caption = 'Filter expression'
ParentColor = False
end
object RxDBGrid1: TRxDBGrid
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Memo1
Left = 0
Height = 521
Top = 79
Width = 1039
ColumnDefValues.BlobText = '(данные)'
TitleButtons = False
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'ID'
Width = 90
FieldName = 'ID'
EditButtons = <>
Filter.IsNull = False
Filter.IsAll = True
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'NAME'
Width = 500
FieldName = 'NAME'
EditButtons = <>
Filter.IsNull = False
Filter.IsAll = True
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
ButtonStyle = cbsPickList
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'CODE'
Width = 200
FieldName = 'CODE'
EditButtons = <
item
Glyph.Data = {
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004141
41FF414141FF00000000414141FF414141FF00000000414141FF414141FF0000
000000000000414141FF414141FF00000000414141FF414141FF000000004141
41FF414141FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Style = ebsEllipsisRx
end
item
Glyph.Data = {
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000414141FF414141FF000000000000
0000000000000000000000000000000000000000000000000000414141FF4141
41FF000000000000000000000000000000000000000000000000000000000000
0000414141FF414141FF00000000000000000000000000000000000000004141
41FF414141FF414141FF414141FF414141FF414141FF414141FF414141FF0000
000000000000414141FF414141FF414141FF414141FF414141FF414141FF4141
41FF414141FF0000000000000000000000000000000000000000414141FF4141
41FF000000000000000000000000000000000000000000000000000000000000
0000414141FF414141FF00000000000000000000000000000000000000000000
00000000000000000000414141FF414141FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Style = ebsPlusRx
end
item
Glyph.Data = {
C6010000424DC60100000000000036000000280000000A0000000A0000000100
2000000000009001000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000004141
41FF414141FF414141FF414141FF414141FF414141FF414141FF414141FF0000
000000000000414141FF414141FF414141FF414141FF414141FF414141FF4141
41FF414141FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000
}
Style = ebsMinusRx
end>
Filter.IsNull = False
Filter.IsAll = True
Filter.DropDownRows = 0
Filter.EmptyValue = '(Нет)'
Filter.AllValue = '(All values)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
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>
FooterOptions.DrawFullLine = False
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgAllowQuickSearch, rdgAllowQuickFilter, rdgAllowToolMenu]
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, dgAlwaysShowEditor, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
ParentColor = False
TabOrder = 2
end
object Memo1: TMemo
Left = 0
Height = 146
Top = 600
Width = 1039
Align = alBottom
Lines.Strings = (
'Memo1'
)
ReadOnly = True
TabOrder = 3
end
object Edit2: TEdit
Left = 656
Height = 37
Top = 0
Width = 80
TabOrder = 4
Text = '64'
end
object Button1: TButton
Left = 832
Height = 36
Top = 1
Width = 83
AutoSize = True
Caption = 'Def height'
OnClick = Button1Click
TabOrder = 5
end
object Button2: TButton
Left = 736
Height = 36
Top = 0
Width = 86
AutoSize = True
Caption = ' Set height'
OnClick = Button2Click
TabOrder = 6
end
object RxMemoryData1: TRxMemoryData
FieldDefs = <
item
Name = 'ID'
DataType = ftInteger
end
item
Name = 'NAME'
DataType = ftString
Size = 100
end
item
Name = 'CODE'
DataType = ftInteger
end>
PacketRecords = 0
left = 328
top = 270
object RxMemoryData1ID: TLongintField
FieldKind = fkData
FieldName = 'ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object RxMemoryData1NAME: TStringField
FieldKind = fkData
FieldName = 'NAME'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 100
end
object RxMemoryData1CODE: TLongintField
FieldKind = fkData
FieldName = 'CODE'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
end
object DataSource1: TDataSource
DataSet = RxMemoryData1
left = 288
top = 272
end
object RxIniPropStorage1: TRxIniPropStorage
StoredValues = <>
SeparateFiles = True
left = 471
top = 27
end
end

View File

@@ -0,0 +1,106 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxdbgrid, rxmemds, RxIniPropStorage, Forms,
Controls, Graphics, Dialogs, StdCtrls, db;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
DataSource1: TDataSource;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Memo1: TMemo;
RxDBGrid1: TRxDBGrid;
RxIniPropStorage1: TRxIniPropStorage;
RxMemoryData1: TRxMemoryData;
RxMemoryData1CODE: TLongintField;
RxMemoryData1ID: TLongintField;
RxMemoryData1NAME: TStringField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure RxDBGridInfoBox(Sender: TObject);
public
end;
var
Form1: TForm1;
implementation
uses DBGrids;
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
RxDBGrid1.Options:=RxDBGrid1.Options + [dgAlwaysShowEditor];
RxMemoryData1.Open;
for i:=1 to 20 do
begin
RxMemoryData1.Append;
RxMemoryData1ID.AsInteger:=i;
RxMemoryData1NAME.AsString:='Line '+IntToStr(I);
if i mod 4 = 0 then
RxMemoryData1CODE.Clear
else
RxMemoryData1CODE.AsInteger:=100 + i * 10;
RxMemoryData1.Post;
end;
RxDBGrid1.CreateToolMenuItem(#0, '-', nil);
RxDBGrid1.CreateToolMenuItem(#0, 'Show info box', @RxDBGridInfoBox);
// RxDBGrid1.DefaultRowHeight:=;
end;
procedure TForm1.RxDBGridInfoBox(Sender: TObject);
begin
ShowMessage('Hello world form RXDBGrid tools menu');
end;
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
Edit1.Enabled:=not CheckBox1.Checked;
try
if CheckBox1.Checked then
RxMemoryData1.Filter:=Edit1.Text;
RxMemoryData1.Filtered:=CheckBox1.Checked;
except
on E:Exception do
Memo1.Lines.Text:=E.Message;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RxDBGrid1.DefaultRowHeight:=StrToInt(Edit2.Text);
end;
type
THackGrid = class(TRxDBGrid);
procedure TForm1.Button1Click(Sender: TObject);
begin
RxDBGrid1.DefaultRowHeight:=THackGrid(RxDBGrid1).GetDefaultRowHeight;
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<AutoCreateForms Value="False"/>
<Title Value="RxPopupNotifier demo"/>
<Scaled Value="True"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="rx"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</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,22 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, rx, rxnew, Unit1;
{$R *.res}
begin
Application.Title:='RxPopupNotifier demo';
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,138 @@
object Form1: TForm1
Left = 688
Height = 381
Top = 449
Width = 577
Caption = 'RxPopupNotifier demo'
ClientHeight = 381
ClientWidth = 577
LCLVersion = '1.9.0.0'
object Button4: TButton
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Button1
AnchorSideTop.Side = asrBottom
Left = 232
Height = 36
Top = 48
Width = 113
AutoSize = True
BorderSpacing.Top = 6
Caption = 'Static message'
OnClick = Button4Click
TabOrder = 0
end
object Button5: TButton
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Button4
AnchorSideTop.Side = asrBottom
Left = 225
Height = 36
Top = 90
Width = 127
AutoSize = True
BorderSpacing.Top = 6
Caption = 'Dinamic message'
OnClick = Button5Click
TabOrder = 1
end
object Button6: TButton
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ColorBox1
AnchorSideTop.Side = asrBottom
Left = 191
Height = 36
Top = 158
Width = 195
AutoSize = True
BorderSpacing.Top = 6
Caption = 'Message without auto close'
OnClick = Button6Click
TabOrder = 2
end
object Label1: TLabel
AnchorSideTop.Control = Button4
AnchorSideTop.Side = asrBottom
Left = 416
Height = 20
Top = 90
Width = 147
BorderSpacing.Around = 6
Caption = 'Dinamic message color'
ParentColor = False
end
object ColorBox1: TColorBox
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 422
Height = 36
Top = 116
Width = 149
Selected = clYellow
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 0
TabOrder = 3
end
object RadioGroup1: TRadioGroup
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 117
Top = 6
Width = 140
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Message positon'
ChildSizing.LeftRightSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 96
ClientWidth = 138
ItemIndex = 3
Items.Strings = (
'rpcTopLeft'
'rpcTopRight'
'rpcBootomLeft'
'rpcBottomRight'
)
OnClick = RadioGroup1Click
TabOrder = 4
end
object Button1: TButton
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
Left = 228
Height = 36
Top = 6
Width = 121
AutoSize = True
BorderSpacing.Top = 6
Caption = 'Design message'
OnClick = Button1Click
TabOrder = 5
end
object RxPopupNotifier1: TRxPopupNotifier
Items = <
item
Active = False
Color = clAqua
Caption = 'Design message'
Message = 'Design time message'
end>
OnNotifiClick = RxPopupNotifier1NotifiClick
Left = 176
Top = 16
end
end

View File

@@ -0,0 +1,101 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
PopupNotifier, ExtCtrls, ColorBox, MRUList, rxPopupNotifier, rxtooledit, DB;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
ColorBox1: TColorBox;
Label1: TLabel;
RadioGroup1: TRadioGroup;
RxPopupNotifier1: TRxPopupNotifier;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure RxPopupNotifier1NotifiClick(Sender: TRxPopupNotifier;
AItem: TRxPopupNotifierItem);
private
FRClose: TRxPopupNotifierItem;
FR: TRxPopupNotifierItem;
FCurID:integer;
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button4Click(Sender: TObject);
begin
if Assigned(FR) then
FR.Active:=true
else
FR:=RxPopupNotifier1.AddNotifyItem('Information', 'Static text information');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
R: TRxPopupNotifierItem;
begin
if RxPopupNotifier1.Items.Count>0 then
begin
R:=RxPopupNotifier1.Items[0];
R.Active:=true;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
R1: TRxPopupNotifierItem;
begin
Inc(FCurID);
R1:=RxPopupNotifier1.AddNotifyItem('Warning', 'Error message № ' + IntToStr(FCurID));
R1.ShowCloseTimer:=true;
R1.Color:=ColorBox1.Selected;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if Assigned(FRClose) then
FRClose.Active:=true
else
begin
FRClose:=RxPopupNotifier1.AddNotifyItem('Information', 'Static text information without close');
FRClose.ShowCloseTimer:=false;
end
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
RxPopupNotifier1.MessageCorner:=TRxPopupNotifierCorner(RadioGroup1.ItemIndex);
end;
procedure TForm1.RxPopupNotifier1NotifiClick(Sender: TRxPopupNotifier;
AItem: TRxPopupNotifierItem);
begin
ShowMessage('Click');
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</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"/>
</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="4">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
<Item4>
<Name Value="EConvertError"/>
</Item4>
</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, rxnew, Unit1;
{$R *.res}
begin
RequireDerivedFormResource:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,175 @@
object Form1: TForm1
Left = 516
Height = 581
Top = 190
Width = 603
Caption = 'Form1'
ClientHeight = 581
ClientWidth = 603
LCLVersion = '1.9.0.0'
object Label1: TLabel
AnchorSideLeft.Control = RxRangeSelector1
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = RxRangeSelector1
AnchorSideTop.Side = asrBottom
Left = 289
Height = 13
Top = 146
Width = 31
BorderSpacing.Around = 6
Caption = 'Label1'
ParentColor = False
end
object RadioGroup1: TRadioGroup
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
Left = 256
Height = 69
Top = 6
Width = 90
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Style'
ChildSizing.LeftRightSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 51
ClientWidth = 86
ItemIndex = 1
Items.Strings = (
'rxrsSimple'
'rxrsLazarus'
'rxrsNative'
)
OnClick = RadioGroup1Click
TabOrder = 0
end
object RxRangeSelector1: TRxRangeSelector
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 104
Height = 60
Top = 80
Width = 400
Min = 0
Max = 100
SelectedStart = 0
SelectedEnd = 50
Style = rxrsLazarus
OnChange = RxRangeSelector1Change
ThumbTopGlyph.Data = {
26040000424D260400000000000036000000280000000E000000120000000100
200000000000F003000064000000640000000000000000000000F0F1F200F0F1
F200F0F1F200F0F1F2008080FF024476F3294777F14B4777F14B4979ED2A8080
FF02F0F1F200F0F1F200F0F1F200F0F1F200F0F1F200F0F1F200F0F1F2004D80
E60A4778F14888A1DBB95675C2FC5675C2FC89A0DEB74778F1484D80E60AF0F1
F200F0F1F200F0F1F200F0F1F200F0F1F2004070EF104C7BEF51718CCEF0496C
C0FFC2CDE5FFC2CDE5FF486CBFFF728DCFEF4C7BEF514070EF10F0F1F200F0F1
F200F0F1F200496DED0E5F86EA616583CBF76483CAFFEAECF1FFF0F0F0FFF0F0
F0FFE9EBF1FF6483CAFF6584CBF75B86EC5F496DED0EF0F1F2000000FF014678
F042718DD0F37993D1FFF0F1F3FFF0F0F0FFEFEFEFFFEFEFEFFFF0F0F0FFF0F1
F3FF7993D1FF718DD1F34678F0420000FF01467BED1D8EA6E1BE5778C9FFEFF1
F3FFF1F1F1FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF1F1F1FFEFF1F3FF5778
C9FF8EA6E1BE467BED1D487AEE2E7995D5F2B9C6E7FFF4F4F4FFF1F1F1FFF1F1
F1FFF1F1F1FFF1F1F1FFF1F1F1FFF1F1F1FFF4F4F4FFB9C6E7FF7995D5F2487A
EE2E4775EE3D6584D0FBD6DDEFFFF3F3F3FFF2F2F2FFF2F2F2FFF2F2F2FFF2F2
F2FFF2F2F2FFF2F2F2FFF3F3F3FFD6DDEFFF6584D0FB4775EE3D4777EE4B4B70
CAFFEEF0F6FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3
F3FFF3F3F3FFEEF0F6FF4B70CAFF4777EE4B4676F2504068C9FFF8F8F8FFF4F4
F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF8F8
F8FF4068C9FF4676F2504677F24D486FCEFFF4F5F8FFF5F5F5FFF5F5F5FFF5F5
F5FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5F5FFF4F5F8FF486FCEFF4677
F24D4777F14B5075D1FFF1F3F8FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6
F6FFF6F6F6FFF6F6F6FFF6F6F6FFF1F3F8FF5075D1FF4777F14B4778F148577B
D4FFEEF1F8FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7
F7FFF7F7F7FFEEF1F8FF577BD4FF4778F1484776EF416B8BDCFDE2E7F6FFF9F9
F9FFF8F8F8FFF8F8F8FFF8F8F8FFF8F8F8FFF8F8F8FFF8F8F8FFF9F9F9FFE2E7
F6FF6B8BDCFD4776EF414777ED2B90A9E6EDC1CEF0FFFBFBFBFFF9F9F9FFF9F9
F9FFF9F9F9FFF9F9F9FFF9F9F9FFF9F9F9FFFBFBFBFFC1CEF0FF90A9E6ED4777
ED2B4D73F2149DB1EDAB6B8BDFFFCAD5F3FFEAEEF9FFF2F4FAFFFAFAFCFFFAFA
FCFFF2F4FAFFEAEEF9FFCAD5F3FF6B8BDFFF9DB1EDAB4D73F21400FFFF014878
F13592ADF08887A2E7F77392E3FD678AE1FE5C81DEFF5C81DEFF678AE1FE7392
E3FD87A2E7F792ADF0884878F13500FFFF01F0F1F20000FFFF014976ED1C4678
F0334677F23A4776EF414877F1474877F1474776EF414677F23A4678F0334976
ED1C00FFFF01F0F1F200
}
ThumbBottomGlyph.Data = {
26040000424D260400000000000036000000280000000E000000120000000100
200000000000F0030000640000006400000000000000000000000000000000FF
FF014976ED1C4678F0334677F23A4776EF414877F1474877F1474776EF414677
F23A4678F0334976ED1C00FFFF010000000000FFFF014878F13592ADF08887A2
E7F77392E3FD678AE1FE5C81DEFF5C81DEFF678AE1FE7392E3FD87A2E7F792AD
F0884878F13500FFFF014D73F2149DB1EDAB6B8BDFFFCAD5F3FFEAEEF9FFF2F4
FAFFFAFAFCFFFAFAFCFFF2F4FAFFEAEEF9FFCAD5F3FF6B8BDFFF9DB1EDAB4D73
F2144777ED2B90A9E6EDC1CEF0FFFBFBFBFFF9F9F9FFF9F9F9FFF9F9F9FFF9F9
F9FFF9F9F9FFF9F9F9FFFBFBFBFFC1CEF0FF90A9E6ED4777ED2B4776EF416B8B
DCFDE2E7F6FFF9F9F9FFF8F8F8FFF8F8F8FFF8F8F8FFF8F8F8FFF8F8F8FFF8F8
F8FFF9F9F9FFE2E7F6FF6B8BDCFD4776EF414778F148577BD4FFEEF1F8FFF7F7
F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFEEF1
F8FF577BD4FF4778F1484777F14B5075D1FFF1F3F8FFF6F6F6FFF6F6F6FFF6F6
F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF1F3F8FF5075D1FF4777
F14B4677F24D486FCEFFF4F5F8FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5F5FFF5F5
F5FFF5F5F5FFF5F5F5FFF5F5F5FFF4F5F8FF486FCEFF4677F24D4676F2504068
C9FFF8F8F8FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4F4FFF4F4
F4FFF4F4F4FFF8F8F8FF4068C9FF4676F2504777EE4B4B70CAFFEEF0F6FFF3F3
F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFEEF0
F6FF4B70CAFF4777EE4B4775EE3D6584D0FBD6DDEFFFF3F3F3FFF2F2F2FFF2F2
F2FFF2F2F2FFF2F2F2FFF2F2F2FFF2F2F2FFF3F3F3FFD6DDEFFF6584D0FB4775
EE3D487AEE2E7995D5F2B9C6E7FFF4F4F4FFF1F1F1FFF1F1F1FFF1F1F1FFF1F1
F1FFF1F1F1FFF1F1F1FFF4F4F4FFB9C6E7FF7995D5F2487AEE2E467BED1D8EA6
E1BE5778C9FFEFF1F3FFF1F1F1FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF1F1
F1FFEFF1F3FF5778C9FF8EA6E1BE467BED1D0000FF014678F042718DD0F37993
D1FFF0F1F3FFF0F0F0FFEFEFEFFFEFEFEFFFF0F0F0FFF0F1F3FF7993D1FF718D
D1F34678F0420000FF0100000000496DED0E5F86EA616583CBF76483CAFFEAEC
F1FFF0F0F0FFF0F0F0FFE9EBF1FF6483CAFF6584CBF75B86EC5F496DED0E0000
000000000000000000004070EF104C7BEF51718CCEF0496CC0FFC2CDE5FFC2CD
E5FF486CBFFF728DCFEF4C7BEF514070EF100000000000000000000000000000
0000000000004D80E60A4778F14888A1DBB95675C2FC5675C2FC89A0DEB74778
F1484D80E60A0000000000000000000000000000000000000000000000000000
00008080FF024476F3294777F14B4777F14B4979ED2A8080FF02000000000000
00000000000000000000
}
SelectedGlyph.Data = {
BA000000424DBA000000000000003600000028000000030000000B0000000100
20000000000084000000640000006400000000000000000000005778CAFF5879
CBFF5879CBFF5B82E2FF5B82E2FF5B82E2FF537CE0FF537CE0FF537CE0FF4B76
DFFF4B76DFFF4B76DFFF4470DDFF4470DDFF4470DDFF3C6ADBFF3C6ADBFF3C6A
DBFF3464D9FF3464D9FF3464D9FF2C5FD8FF2C5FD8FF2C5FD8FF2559D6FF2559
D6FF2559D6FF1D53D4FF1D53D4FF1D53D3FF0F3A9EFF0F3A9FFF103BA1FF
}
end
object RadioGroup2: TRadioGroup
AnchorSideLeft.Control = RadioGroup1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner
Left = 352
Height = 52
Top = 6
Width = 90
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Orientation'
ChildSizing.LeftRightSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 34
ClientWidth = 86
Items.Strings = (
'trHorizontal'
'trVertical'
)
OnClick = RadioGroup2Click
TabOrder = 2
end
end

View File

@@ -0,0 +1,58 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxspin, rxtooledit, RxRangeSel, Forms, Controls,
Graphics, Dialogs, Buttons, StdCtrls, ComCtrls, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
RxRangeSelector1: TRxRangeSelector;
procedure RadioGroup1Click(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure RxRangeSelector1Change(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
uses Themes;
{$R *.lfm}
{ TForm1 }
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
RxRangeSelector1.Style:=TRxRangeSelectorStyle(RadioGroup1.ItemIndex);
end;
procedure TForm1.RadioGroup2Click(Sender: TObject);
var
W: Integer;
begin
RxRangeSelector1.Orientation:=TTrackBarOrientation(RadioGroup2.ItemIndex);
W:=RxRangeSelector1.Width;
RxRangeSelector1.Width:=RxRangeSelector1.Height;
RxRangeSelector1.Height:=W;
end;
procedure TForm1.RxRangeSelector1Change(Sender: TObject);
begin
Label1.Caption:=FloatToStr(RxRangeSelector1.SelectedStart) + ' - ' + FloatToStr(RxRangeSelector1.SelectedEnd);
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,86 @@
<?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>
<VersionInfo>
<UseVersionInfo Value="True"/>
<MajorVersionNr Value="1"/>
<Attributes pvaDebug="True" pvaPatched="True" pvaSpecialBuild="True"/>
<StringTable Comments="this is test for RxVersionInfo" CompanyName="(c) Alexs" FileDescription="this is test for RxVersionInfo" InternalName="test for RxVersionInfo" LegalCopyright="(c) Alexs" LegalTrademarks="(c) Alexs" OriginalFilename="RxVersionTest" ProductName="RxVersionTest" ProductVersion="1.0"/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="LazControls"/>
</Item1>
<Item2>
<PackageName Value="rxnew"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</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, lazcontrols
{ 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,210 @@
object Form1: TForm1
Left = 793
Height = 421
Top = 299
Width = 429
Caption = 'RxVersionInfo'
ClientHeight = 421
ClientWidth = 429
Position = poScreenCenter
LCLVersion = '1.7'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Button2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 44
Width = 280
BorderSpacing.Around = 6
Caption = 'Test file name ( empyt line = ParamStr(0) )'
ParentColor = False
end
object FileNameEdit1: TFileNameEdit
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Button1
Left = 12
Height = 30
Top = 70
Width = 291
FilterIndex = 0
HideDirectories = False
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
MaxLength = 0
TabOrder = 0
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Edit1
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 20
Top = 142
Width = 62
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 6
Caption = 'File name'
ParentColor = False
end
object Edit1: TEdit
AnchorSideLeft.Control = Label4
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = DividerBevel1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 112
Height = 30
Top = 132
Width = 311
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clMoneyGreen
ReadOnly = True
TabOrder = 1
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Edit2
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 20
Top = 178
Width = 73
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 6
Caption = 'File version'
ParentColor = False
end
object Edit2: TEdit
AnchorSideLeft.Control = Label4
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 112
Height = 30
Top = 168
Width = 311
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clMoneyGreen
ReadOnly = True
TabOrder = 2
end
object Button1: TButton
AnchorSideTop.Control = FileNameEdit1
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 309
Height = 32
Top = 70
Width = 114
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 6
Caption = 'Get version info'
OnClick = Button1Click
TabOrder = 3
end
object DividerBevel1: TDividerBevel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = FileNameEdit1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 20
Top = 106
Width = 429
Caption = 'Version info'
Anchors = [akTop, akLeft, akRight]
Font.Style = [fsBold]
ParentFont = False
end
object Button2: TButton
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = Owner
Left = 183
Height = 32
Top = 6
Width = 63
AutoSize = True
BorderSpacing.Top = 6
Caption = 'About...'
OnClick = Button2Click
TabOrder = 4
end
object Label4: TLabel
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Edit3
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 20
Top = 214
Width = 100
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 6
Caption = 'Company name'
ParentColor = False
end
object Edit3: TEdit
AnchorSideLeft.Control = Label4
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Edit2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 112
Height = 30
Top = 204
Width = 311
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clMoneyGreen
ReadOnly = True
TabOrder = 5
end
object Label5: TLabel
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Edit4
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 20
Top = 250
Width = 98
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 6
Caption = 'File description'
ParentColor = False
end
object Edit4: TEdit
AnchorSideLeft.Control = Label4
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Edit3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 112
Height = 30
Top = 240
Width = 311
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Color = clMoneyGreen
ReadOnly = True
TabOrder = 6
end
object RxAboutDialog1: TRxAboutDialog
Options = []
Caption = 'О системе'
left = 256
end
end

View File

@@ -0,0 +1,102 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, RxAboutDialog, DividerBevel, Forms, Controls,
Graphics, Dialogs, StdCtrls, EditBtn;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
DividerBevel1: TDividerBevel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
FileNameEdit1: TFileNameEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
RxAboutDialog1: TRxAboutDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses RxVersInfo;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
FRxVersionInfo: TRxVersionInfo;
begin
FRxVersionInfo:=TRxVersionInfo.Create(nil);
try
if FileNameEdit1.FileName<>'' then
FRxVersionInfo.FileName:=FileNameEdit1.FileName;
if FRxVersionInfo.Valid then
begin
Edit1.TextHint:='';
Edit1.Text:=FRxVersionInfo.FileName;
Edit2.Text:=FRxVersionInfo.FileLongVersion;
Edit3.Text:=FRxVersionInfo.CompanyName;
Edit4.Text:=FRxVersionInfo.FileDescription;
{
property ProductLongVersion: TLongVersion read GetProductLongVersion;
property Translation: Pointer read GetTranslation;
property VersionLanguage: TVersionLanguage read GetVersionLanguage;
property VersionCharSet: TVersionCharSet read GetVersionCharSet;
property VersionNum: Longint read GetVersionNum;
property Comments: string read GetComments;
property FileVersion: string read GetFileVersion;
property InternalName: string read GetInternalName;
property LegalCopyright: string read GetLegalCopyright;
property LegalTrademarks: string read GetLegalTrademarks;
property OriginalFilename: string read GetOriginalFilename;
property ProductVersion: string read GetProductVersion;
property ProductName: string read GetProductName;
property SpecialBuild: string read GetSpecialBuild;
property PrivateBuild: string read GetPrivateBuild;
property Values[const VerName: string]: string read GetVerValue;
property VerFileDate: TDateTime read GetVerFileDate;
}
end
else
begin
Edit1.Text:='';
Edit1.TextHint:='Resourse information not found.';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
finally
FRxVersionInfo.Free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RxAboutDialog1.Execute;
end;
end.

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