TRxLoginDialog now work
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@712 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
888fe094b7
commit
a94f3a379b
@ -1,60 +1,55 @@
|
||||
object AboutForm: TAboutForm
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'About...'
|
||||
ClientHeight = 143
|
||||
ClientWidth = 249
|
||||
PixelsPerInch = 96
|
||||
Position = poDesktopCenter
|
||||
HorzScrollBar.Page = 248
|
||||
VertScrollBar.Page = 142
|
||||
Left = 393
|
||||
Height = 143
|
||||
Height = 163
|
||||
Top = 386
|
||||
Width = 249
|
||||
Width = 274
|
||||
ActiveControl = BitBtn1
|
||||
Caption = 'About...'
|
||||
ClientHeight = 163
|
||||
ClientWidth = 274
|
||||
Position = poDesktopCenter
|
||||
LCLVersion = '0.9.27'
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Height = 18
|
||||
Top = 16
|
||||
Width = 262
|
||||
Alignment = taCenter
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = 'FolderLister component demo'
|
||||
Color = clNone
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 16
|
||||
Width = 237
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 8
|
||||
Height = 18
|
||||
Top = 56
|
||||
Width = 261
|
||||
Alignment = taCenter
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = '(c) 2005 by Alexs'
|
||||
Color = clNone
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 56
|
||||
Width = 236
|
||||
Caption = '(c) 2005-2009 by Alexs'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel
|
||||
Left = 8
|
||||
Height = 18
|
||||
Top = 84
|
||||
Width = 262
|
||||
Alignment = taCenter
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = 'alexs75@hotbox.ru'
|
||||
Color = clNone
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 84
|
||||
Width = 237
|
||||
ParentColor = False
|
||||
end
|
||||
object BitBtn1: TBitBtn
|
||||
Left = 96
|
||||
Height = 34
|
||||
Top = 123
|
||||
Width = 56
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = '&ÎÊ'
|
||||
AutoSize = True
|
||||
Caption = '&'
|
||||
Default = True
|
||||
Kind = bkOK
|
||||
ModalResult = 1
|
||||
TabOrder = 0
|
||||
Left = 96
|
||||
Height = 25
|
||||
Top = 112
|
||||
Width = 75
|
||||
end
|
||||
end
|
||||
|
@ -1,21 +1,19 @@
|
||||
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
|
||||
|
||||
LazarusResources.Add('TAboutForm','FORMDATA',[
|
||||
'TPF0'#10'TAboutForm'#9'AboutForm'#11'BorderStyle'#7#8'bsDialog'#7'Caption'#6
|
||||
+#8'About...'#12'ClientHeight'#3#143#0#11'ClientWidth'#3#249#0#13'PixelsPerIn'
|
||||
+'ch'#2'`'#8'Position'#7#15'poDesktopCenter'#18'HorzScrollBar.Page'#3#248#0#18
|
||||
+'VertScrollBar.Page'#3#142#0#4'Left'#3#137#1#6'Height'#3#143#0#3'Top'#3#130#1
|
||||
+#5'Width'#3#249#0#0#6'TLabel'#6'Label1'#9'Alignment'#7#8'taCenter'#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpacing.OnChange'#13#7'Caption'
|
||||
+#6#27'FolderLister component demo'#5'Color'#7#6'clNone'#4'Left'#2#8#6'Height'
|
||||
+#2#17#3'Top'#2#16#5'Width'#3#237#0#0#0#6'TLabel'#6'Label2'#9'Alignment'#7#8
|
||||
+'taCenter'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpacing.On'
|
||||
+'Change'#13#7'Caption'#6#17'(c) 2005 by Alexs'#5'Color'#7#6'clNone'#4'Left'#2
|
||||
+#8#6'Height'#2#13#3'Top'#2'8'#5'Width'#3#236#0#0#0#6'TLabel'#6'Label3'#9'Ali'
|
||||
+'gnment'#7#8'taCenter'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'Bord'
|
||||
+'erSpacing.OnChange'#13#7'Caption'#6#17'alexs75@hotbox.ru'#5'Color'#7#6'clNo'
|
||||
+'ne'#4'Left'#2#8#6'Height'#2#17#3'Top'#2'T'#5'Width'#3#237#0#0#0#7'TBitBtn'#7
|
||||
+'BitBtn1'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#22'BorderSpacing.OnChange'#13
|
||||
+#7'Caption'#6#3'&'#206#202#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1
|
||||
+#8'TabOrder'#2#0#4'Left'#2'`'#6'Height'#2#25#3'Top'#2'p'#5'Width'#2'K'#0#0#0
|
||||
'TPF0'#10'TAboutForm'#9'AboutForm'#4'Left'#3#137#1#6'Height'#3#163#0#3'Top'#3
|
||||
+#130#1#5'Width'#3#18#1#13'ActiveControl'#7#7'BitBtn1'#7'Caption'#6#8'About..'
|
||||
+'.'#12'ClientHeight'#3#163#0#11'ClientWidth'#3#18#1#8'Position'#7#15'poDeskt'
|
||||
+'opCenter'#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6'He'
|
||||
+'ight'#2#18#3'Top'#2#16#5'Width'#3#6#1#9'Alignment'#7#8'taCenter'#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#27'FolderLister component d'
|
||||
+'emo'#11'ParentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#8#6'Height'#2#18#3
|
||||
+'Top'#2'8'#5'Width'#3#5#1#9'Alignment'#7#8'taCenter'#7'Anchors'#11#5'akTop'#6
|
||||
+'akLeft'#7'akRight'#0#7'Caption'#6#22'(c) 2005-2009 by Alexs'#11'ParentColor'
|
||||
+#8#0#0#6'TLabel'#6'Label3'#4'Left'#2#8#6'Height'#2#18#3'Top'#2'T'#5'Width'#3
|
||||
+#6#1#9'Alignment'#7#8'taCenter'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
|
||||
+#7'Caption'#6#17'alexs75@hotbox.ru'#11'ParentColor'#8#0#0#7'TBitBtn'#7'BitBt'
|
||||
+'n1'#4'Left'#2'`'#6'Height'#2'"'#3'Top'#2'{'#5'Width'#2'8'#7'Anchors'#11#6'a'
|
||||
+'kLeft'#8'akBottom'#0#8'AutoSize'#9#7'Caption'#6#5'&'#208#158#208#154#7'Defa'
|
||||
+'ult'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#8'TabOrder'#2#0#0#0#0
|
||||
]);
|
||||
|
@ -2,197 +2,16 @@
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<PathDelim Value="\"/>
|
||||
<Version Value="5"/>
|
||||
<Version Value="7"/>
|
||||
<General>
|
||||
<Flags>
|
||||
<LRSInOutputDirectory Value="False"/>
|
||||
</Flags>
|
||||
<MainUnit Value="0"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<Title Value="FolderLister"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<JumpHistory Count="16" HistoryIndex="15">
|
||||
<Position1>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="86" Column="29" TopLine="79"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="18" Column="5" TopLine="15"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="108" Column="4" TopLine="104"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="71" Column="27" TopLine="58"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="78" Column="16" TopLine="65"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="80" Column="20" TopLine="67"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="95" Column="16" TopLine="82"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="36" Column="5" TopLine="32"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="67" Column="33" TopLine="51"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="22" Column="32" TopLine="21"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="137" Column="26" TopLine="135"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="19" Column="5" TopLine="19"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="23" Column="1" TopLine="1"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="118" Column="5" TopLine="82"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="1" Column="7" TopLine="1"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Caret Line="5" Column="1" TopLine="1"/>
|
||||
</Position16>
|
||||
</JumpHistory>
|
||||
<Units Count="15">
|
||||
<Unit0>
|
||||
<CursorPos X="24" Y="2"/>
|
||||
<Filename Value="FolderLister.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<TopLine Value="1"/>
|
||||
<UnitName Value="FolderLister"/>
|
||||
<UsageCount Value="23"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<CursorPos X="12" Y="23"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<ComponentName Value="MainForm"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<Loaded Value="True"/>
|
||||
<ResourceFilename Value="unit1.lrs"/>
|
||||
<TopLine Value="23"/>
|
||||
<UnitName Value="Unit1"/>
|
||||
<UsageCount Value="23"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<CursorPos X="1" Y="88"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<Loaded Value="True"/>
|
||||
<TopLine Value="70"/>
|
||||
<UnitName Value="FolderLister"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<CursorPos X="64" Y="123"/>
|
||||
<Filename Value="c:\lazarus\fpcsrc\rtl\objpas\sysutils\filutilh.inc"/>
|
||||
<TopLine Value="110"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<CursorPos X="52" Y="331"/>
|
||||
<Filename Value="C:\lazarus\fpcsrc\rtl\win32\system.pp"/>
|
||||
<TopLine Value="314"/>
|
||||
<UnitName Value="System"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<CursorPos X="6" Y="1"/>
|
||||
<Filename Value="C:\lazarus\components\RxNew\RxAppUtils.pas"/>
|
||||
<TopLine Value="1"/>
|
||||
<UnitName Value="RxAppUtils"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<CursorPos X="28" Y="12"/>
|
||||
<Filename Value="AboutUnit.pas"/>
|
||||
<ComponentName Value="AboutForm"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="AboutUnit.lrs"/>
|
||||
<TopLine Value="10"/>
|
||||
<UnitName Value="AboutUnit"/>
|
||||
<UsageCount Value="22"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<CursorPos X="43" Y="1700"/>
|
||||
<Filename Value="C:\lazarus\lcl\include\customform.inc"/>
|
||||
<TopLine Value="1695"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<CursorPos X="49" Y="2"/>
|
||||
<Filename Value="unit1.lrs"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<CursorPos X="37" Y="1169"/>
|
||||
<Filename Value="C:\lazarus\lcl\Forms.pp"/>
|
||||
<TopLine Value="1166"/>
|
||||
<UnitName Value="Forms"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<CursorPos X="50" Y="146"/>
|
||||
<Filename Value="C:\lazarus\lcl\include\application.inc"/>
|
||||
<TopLine Value="142"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<CursorPos X="38" Y="48"/>
|
||||
<Filename Value="C:\lazarus\lcl\Dialogs.pp"/>
|
||||
<TopLine Value="37"/>
|
||||
<UnitName Value="Dialogs"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<CursorPos X="2" Y="1182"/>
|
||||
<Filename Value="C:\lazarus\lcl\Controls.pp"/>
|
||||
<TopLine Value="1176"/>
|
||||
<UnitName Value="Controls"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<Filename Value="C:\lazarus\components\RxNew\RX.INC"/>
|
||||
<Loaded Value="True"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<CursorPos X="1" Y="15"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<Filename Value="C:\lazarus\components\RxNew\RXStrutils.pas"/>
|
||||
<Loaded Value="True"/>
|
||||
<TopLine Value="1"/>
|
||||
<UnitName Value="RxStrUtils"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit14>
|
||||
</Units>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
@ -202,7 +21,7 @@
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="2">
|
||||
@ -214,16 +33,158 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="15">
|
||||
<Unit0>
|
||||
<Filename Value="FolderLister.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="FolderLister"/>
|
||||
<CursorPos X="24" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="23"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<ComponentName Value="MainForm"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="Unit1"/>
|
||||
<CursorPos X="54" Y="78"/>
|
||||
<TopLine Value="59"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="23"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="C:\lazarus\components\RxNew\FolderLister.pas"/>
|
||||
<UnitName Value="FolderLister"/>
|
||||
<CursorPos X="1" Y="88"/>
|
||||
<TopLine Value="70"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="c:\lazarus\fpcsrc\rtl\objpas\sysutils\filutilh.inc"/>
|
||||
<CursorPos X="64" Y="123"/>
|
||||
<TopLine Value="110"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="C:\lazarus\fpcsrc\rtl\win32\system.pp"/>
|
||||
<UnitName Value="System"/>
|
||||
<CursorPos X="52" Y="331"/>
|
||||
<TopLine Value="314"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="C:\lazarus\components\RxNew\RxAppUtils.pas"/>
|
||||
<UnitName Value="RxAppUtils"/>
|
||||
<CursorPos X="6" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="AboutUnit.pas"/>
|
||||
<ComponentName Value="AboutForm"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="AboutUnit"/>
|
||||
<CursorPos X="3" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="22"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="C:\lazarus\lcl\include\customform.inc"/>
|
||||
<CursorPos X="43" Y="1700"/>
|
||||
<TopLine Value="1695"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="unit1.lrs"/>
|
||||
<CursorPos X="49" Y="2"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="C:\lazarus\lcl\Forms.pp"/>
|
||||
<UnitName Value="Forms"/>
|
||||
<CursorPos X="37" Y="1169"/>
|
||||
<TopLine Value="1166"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="C:\lazarus\lcl\include\application.inc"/>
|
||||
<CursorPos X="50" Y="146"/>
|
||||
<TopLine Value="142"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="C:\lazarus\lcl\Dialogs.pp"/>
|
||||
<UnitName Value="Dialogs"/>
|
||||
<CursorPos X="38" Y="48"/>
|
||||
<TopLine Value="37"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="C:\lazarus\lcl\Controls.pp"/>
|
||||
<UnitName Value="Controls"/>
|
||||
<CursorPos X="2" Y="1182"/>
|
||||
<TopLine Value="1176"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="C:\lazarus\components\RxNew\RX.INC"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="C:\lazarus\components\RxNew\RXStrutils.pas"/>
|
||||
<UnitName Value="RxStrUtils"/>
|
||||
<CursorPos X="1" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit14>
|
||||
</Units>
|
||||
<JumpHistory Count="8" HistoryIndex="7">
|
||||
<Position1>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="36" Column="5" TopLine="32"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="67" Column="33" TopLine="51"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="19" Column="5" TopLine="19"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="23" Column="12" TopLine="23"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="53" Column="20" TopLine="47"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="36" Column="47" TopLine="36"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="64" Column="8" TopLine="53"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="35" Column="43" TopLine="35"/>
|
||||
</Position8>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="4"/>
|
||||
<Version Value="8"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
|
@ -1,92 +1,109 @@
|
||||
object MainForm: TMainForm
|
||||
Caption = 'Main form'
|
||||
ClientHeight = 281
|
||||
ClientWidth = 391
|
||||
Menu = MainMenu1
|
||||
PixelsPerInch = 96
|
||||
ShowHint = True
|
||||
HorzScrollBar.Page = 390
|
||||
VertScrollBar.Page = 280
|
||||
Left = 251
|
||||
Left = 427
|
||||
Height = 300
|
||||
Top = 138
|
||||
Width = 391
|
||||
Top = 245
|
||||
Width = 460
|
||||
ActiveControl = Edit1
|
||||
Caption = 'Main form'
|
||||
ClientHeight = 275
|
||||
ClientWidth = 460
|
||||
Menu = MainMenu1
|
||||
OnCreate = FormCreate
|
||||
Position = poDesktopCenter
|
||||
ShowHint = True
|
||||
LCLVersion = '0.9.27'
|
||||
object Label1: TLabel
|
||||
AutoSize = True
|
||||
BorderSpacing.OnChange = nil
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Edit1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 63
|
||||
Width = 95
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Folder for scan'
|
||||
Color = clNone
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 56
|
||||
Width = 72
|
||||
ParentColor = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
AutoSize = True
|
||||
BorderSpacing.OnChange = nil
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 6
|
||||
Width = 71
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'Default ext'
|
||||
Color = clNone
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 54
|
||||
ParentColor = False
|
||||
end
|
||||
object Button1: TButton
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = DirectoryEdit1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 29
|
||||
Top = 120
|
||||
Width = 44
|
||||
Action = sysScan
|
||||
BorderSpacing.OnChange = nil
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
TabOrder = 0
|
||||
Left = 8
|
||||
Height = 25
|
||||
Hint = 'Scan folder'
|
||||
Top = 112
|
||||
Width = 75
|
||||
end
|
||||
object DirectoryEdit1: TDirectoryEdit
|
||||
AnchorSideLeft.Control = Label1
|
||||
AnchorSideTop.Control = Label1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 12
|
||||
Height = 27
|
||||
Top = 87
|
||||
Width = 417
|
||||
Directory = 'C:\lazarus\components\'
|
||||
ShowHidden = False
|
||||
ButtonWidth = 23
|
||||
NumGlyphs = 1
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.OnChange = nil
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 6
|
||||
TabOrder = 1
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.OnChange = nil
|
||||
TabOrder = 1
|
||||
Text = 'C:\lazarus\components\'
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 80
|
||||
Width = 344
|
||||
end
|
||||
object Edit1: TEdit
|
||||
BorderSpacing.OnChange = nil
|
||||
AnchorSideLeft.Control = Label2
|
||||
AnchorSideTop.Control = Label2
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 12
|
||||
Height = 27
|
||||
Top = 30
|
||||
Width = 80
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
TabOrder = 2
|
||||
Text = '.pas'
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 24
|
||||
Width = 80
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
left = 144
|
||||
top = 112
|
||||
object sysExit: TAction
|
||||
Category = 'System'
|
||||
Caption = 'Exit'
|
||||
DisableIfNoHandler = True
|
||||
Enabled = False
|
||||
Hint = 'Exit form demo app'
|
||||
OnExecute = sysExitExecute
|
||||
ShortCut = 32856
|
||||
Category = 'System'
|
||||
end
|
||||
object hlpAbout: TAction
|
||||
Category = 'Help'
|
||||
Caption = 'About'
|
||||
DisableIfNoHandler = True
|
||||
Hint = 'Information of app'
|
||||
OnExecute = hlpAboutExecute
|
||||
Category = 'Help'
|
||||
end
|
||||
object sysScan: TAction
|
||||
Category = 'System'
|
||||
Caption = 'Scan'
|
||||
DisableIfNoHandler = True
|
||||
Hint = 'Scan folder'
|
||||
OnExecute = sysRescanExecute
|
||||
Category = 'System'
|
||||
end
|
||||
end
|
||||
object MainMenu1: TMainMenu
|
||||
@ -109,7 +126,7 @@ object MainForm: TMainForm
|
||||
Caption = 'Folder'
|
||||
end
|
||||
object HelpItems: TMenuItem
|
||||
Caption = 'Ïîìîùü'
|
||||
Caption = 'Help'
|
||||
object MenuItem1: TMenuItem
|
||||
Action = hlpAbout
|
||||
OnClick = hlpAboutExecute
|
||||
|
@ -1,38 +1,45 @@
|
||||
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
|
||||
|
||||
LazarusResources.Add('TMainForm','FORMDATA',[
|
||||
'TPF0'#9'TMainForm'#8'MainForm'#7'Caption'#6#9'Main form'#12'ClientHeight'#3
|
||||
+#25#1#11'ClientWidth'#3#135#1#4'Menu'#7#9'MainMenu1'#13'PixelsPerInch'#2'`'#8
|
||||
+'ShowHint'#9#18'HorzScrollBar.Page'#3#134#1#18'VertScrollBar.Page'#3#24#1#4
|
||||
+'Left'#3#251#0#6'Height'#3','#1#3'Top'#3#138#0#5'Width'#3#135#1#0#6'TLabel'#6
|
||||
+'Label1'#8'AutoSize'#9#22'BorderSpacing.OnChange'#13#7'Caption'#6#15'Folder '
|
||||
+'for scan'#5'Color'#7#6'clNone'#4'Left'#2#8#6'Height'#2#13#3'Top'#2'8'#5'Wid'
|
||||
+'th'#2'H'#0#0#6'TLabel'#6'Label2'#8'AutoSize'#9#22'BorderSpacing.OnChange'#13
|
||||
+#7'Caption'#6#11'Default ext'#5'Color'#7#6'clNone'#4'Left'#2#8#6'Height'#2#13
|
||||
+#3'Top'#2#8#5'Width'#2'6'#0#0#7'TButton'#7'Button1'#6'Action'#7#7'sysScan'#22
|
||||
+'BorderSpacing.OnChange'#13#8'TabOrder'#2#0#4'Left'#2#8#6'Height'#2#25#4'Hin'
|
||||
+'t'#6#11'Scan folder'#3'Top'#2'p'#5'Width'#2'K'#0#0#14'TDirectoryEdit'#14'Di'
|
||||
+'rectoryEdit1'#9'Directory'#6#22'C:\lazarus\components\'#11'ButtonWidth'#2#23
|
||||
+#9'NumGlyphs'#2#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpa'
|
||||
+'cing.OnChange'#13#8'TabOrder'#2#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh'
|
||||
+'t'#0#22'BorderSpacing.OnChange'#13#8'TabOrder'#2#1#4'Text'#6#22'C:\lazarus\'
|
||||
+'components\'#4'Left'#2#16#6'Height'#2#23#3'Top'#2'P'#5'Width'#3'X'#1#0#0#5
|
||||
+'TEdit'#5'Edit1'#22'BorderSpacing.OnChange'#13#8'TabOrder'#2#2#4'Text'#6#4'.'
|
||||
+'pas'#4'Left'#2#16#6'Height'#2#23#3'Top'#2#24#5'Width'#2'P'#0#0#11'TActionLi'
|
||||
+'st'#11'ActionList1'#4'left'#3#144#0#3'top'#2'p'#0#7'TAction'#7'sysExit'#7'C'
|
||||
+'aption'#6#4'Exit'#7'Enabled'#8#4'Hint'#6#18'Exit form demo app'#8'ShortCut'
|
||||
+#4'X'#128#0#0#8'Category'#6#6'System'#0#0#7'TAction'#8'hlpAbout'#7'Caption'#6
|
||||
+#5'About'#4'Hint'#6#18'Information of app'#9'OnExecute'#7#15'hlpAboutExecute'
|
||||
+#8'Category'#6#4'Help'#0#0#7'TAction'#7'sysScan'#7'Caption'#6#4'Scan'#4'Hint'
|
||||
+#6#11'Scan folder'#9'OnExecute'#7#16'sysRescanExecute'#8'Category'#6#6'Syste'
|
||||
+'m'#0#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#3#144#0#3'top'#2'0'#0#9'TMenuIte'
|
||||
+'m'#11'SystemItems'#7'Caption'#6#6'System'#0#9'TMenuItem'#9'MenuItem3'#6'Act'
|
||||
+'ion'#7#7'sysScan'#7'OnClick'#7#16'sysRescanExecute'#0#0#9'TMenuItem'#9'Menu'
|
||||
+'Item4'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#7'sysExi'
|
||||
+'t'#0#0#0#9'TMenuItem'#11'FolderItems'#7'Caption'#6#6'Folder'#0#0#9'TMenuIte'
|
||||
+'m'#9'HelpItems'#7'Caption'#6#6#207#238#236#238#249#252#0#9'TMenuItem'#9'Men'
|
||||
+'uItem1'#6'Action'#7#8'hlpAbout'#7'OnClick'#7#15'hlpAboutExecute'#0#0#0#0#13
|
||||
+'TFolderLister'#13'FolderLister1'#10'DefaultExt'#6#4'.pas'#13'OnExecuteItem'
|
||||
+#7#24'FolderLister1ExecuteItem'#8'MenuItem'#7#11'FolderItems'#4'left'#3#144#0
|
||||
+#3'top'#2#12#0#0#0
|
||||
'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#171#1#6'Height'#3','#1#3'Top'#3#245
|
||||
+#0#5'Width'#3#204#1#13'ActiveControl'#7#5'Edit1'#7'Caption'#6#9'Main form'#12
|
||||
+'ClientHeight'#3#19#1#11'ClientWidth'#3#204#1#4'Menu'#7#9'MainMenu1'#8'OnCre'
|
||||
+'ate'#7#10'FormCreate'#8'Position'#7#15'poDesktopCenter'#8'ShowHint'#9#10'LC'
|
||||
+'LVersion'#6#6'0.9.27'#0#6'TLabel'#6'Label1'#22'AnchorSideLeft.Control'#7#5
|
||||
+'Owner'#21'AnchorSideTop.Control'#7#5'Edit1'#18'AnchorSideTop.Side'#7#9'asrB'
|
||||
+'ottom'#4'Left'#2#6#6'Height'#2#18#3'Top'#2'?'#5'Width'#2'_'#20'BorderSpacin'
|
||||
+'g.Around'#2#6#7'Caption'#6#15'Folder for scan'#11'ParentColor'#8#0#0#6'TLab'
|
||||
+'el'#6'Label2'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Contro'
|
||||
+'l'#7#5'Owner'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#2'G'#20'Border'
|
||||
+'Spacing.Around'#2#6#7'Caption'#6#11'Default ext'#11'ParentColor'#8#0#0#7'TB'
|
||||
+'utton'#7'Button1'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Co'
|
||||
+'ntrol'#7#14'DirectoryEdit1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
|
||||
+#6#6'Height'#2#29#3'Top'#2'x'#5'Width'#2','#6'Action'#7#7'sysScan'#8'AutoSiz'
|
||||
+'e'#9#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#0#0#14'TDirectoryEdit'#14
|
||||
+'DirectoryEdit1'#22'AnchorSideLeft.Control'#7#6'Label1'#21'AnchorSideTop.Con'
|
||||
+'trol'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#12#6'Heig'
|
||||
+'ht'#2#27#3'Top'#2'W'#5'Width'#3#161#1#9'Directory'#6#22'C:\lazarus\componen'
|
||||
+'ts\'#10'ShowHidden'#8#11'ButtonWidth'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#17'B'
|
||||
+'orderSpacing.Top'#2#6#8'TabOrder'#2#1#0#0#5'TEdit'#5'Edit1'#22'AnchorSideLe'
|
||||
+'ft.Control'#7#6'Label2'#21'AnchorSideTop.Control'#7#6'Label2'#18'AnchorSide'
|
||||
+'Top.Side'#7#9'asrBottom'#4'Left'#2#12#6'Height'#2#27#3'Top'#2#30#5'Width'#2
|
||||
+'P'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#2#4'Text'#6#4'.'
|
||||
+'pas'#0#0#11'TActionList'#11'ActionList1'#4'left'#3#144#0#3'top'#2'p'#0#7'TA'
|
||||
+'ction'#7'sysExit'#8'Category'#6#6'System'#7'Caption'#6#4'Exit'#18'DisableIf'
|
||||
+'NoHandler'#9#7'Enabled'#8#4'Hint'#6#18'Exit form demo app'#9'OnExecute'#7#14
|
||||
+'sysExitExecute'#8'ShortCut'#4'X'#128#0#0#0#0#7'TAction'#8'hlpAbout'#8'Categ'
|
||||
+'ory'#6#4'Help'#7'Caption'#6#5'About'#18'DisableIfNoHandler'#9#4'Hint'#6#18
|
||||
+'Information of app'#9'OnExecute'#7#15'hlpAboutExecute'#0#0#7'TAction'#7'sys'
|
||||
+'Scan'#8'Category'#6#6'System'#7'Caption'#6#4'Scan'#18'DisableIfNoHandler'#9
|
||||
+#4'Hint'#6#11'Scan folder'#9'OnExecute'#7#16'sysRescanExecute'#0#0#0#9'TMain'
|
||||
+'Menu'#9'MainMenu1'#4'left'#3#144#0#3'top'#2'0'#0#9'TMenuItem'#11'SystemItem'
|
||||
+'s'#7'Caption'#6#6'System'#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#7'sysScan'
|
||||
+#7'OnClick'#7#16'sysRescanExecute'#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6
|
||||
+#1'-'#0#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#7'sysExit'#0#0#0#9'TMenuItem'
|
||||
+#11'FolderItems'#7'Caption'#6#6'Folder'#0#0#9'TMenuItem'#9'HelpItems'#7'Capt'
|
||||
+'ion'#6#4'Help'#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#8'hlpAbout'#7'OnClic'
|
||||
+'k'#7#15'hlpAboutExecute'#0#0#0#0#13'TFolderLister'#13'FolderLister1'#10'Def'
|
||||
+'aultExt'#6#4'.pas'#13'OnExecuteItem'#7#24'FolderLister1ExecuteItem'#8'MenuI'
|
||||
+'tem'#7#11'FolderItems'#4'left'#3#144#0#3'top'#2#12#0#0#0
|
||||
]);
|
||||
|
@ -32,7 +32,9 @@ type
|
||||
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 }
|
||||
@ -58,6 +60,11 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.sysExitExecute(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TMainForm.FolderLister1ExecuteItem(Sender: TObject);
|
||||
var
|
||||
S:string;
|
||||
@ -66,6 +73,11 @@ begin
|
||||
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;
|
||||
|
@ -2,8 +2,11 @@
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<PathDelim Value="\"/>
|
||||
<Version Value="5"/>
|
||||
<Version Value="7"/>
|
||||
<General>
|
||||
<Flags>
|
||||
<LRSInOutputDirectory Value="False"/>
|
||||
</Flags>
|
||||
<MainUnit Value="0"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
@ -22,7 +25,7 @@
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="4">
|
||||
@ -47,20 +50,18 @@
|
||||
<Filename Value="PhoneBookDemo.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="PhoneBookDemo"/>
|
||||
<CursorPos X="53" Y="11"/>
|
||||
<CursorPos X="13" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="pbmainunit.pas"/>
|
||||
<ComponentName Value="pbMainForm"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="pbmainunit.lrs"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="pbMainUnit"/>
|
||||
<CursorPos X="12" Y="49"/>
|
||||
<TopLine Value="17"/>
|
||||
<TopLine Value="23"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -130,11 +131,8 @@
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<Version Value="8"/>
|
||||
<PathDelim Value="\"/>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
|
@ -7,8 +7,8 @@ uses
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms
|
||||
{ add your units here }, pbMainUnit, rxnew, DBFLaz;
|
||||
Forms,
|
||||
pbMainUnit;
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
|
@ -1,13 +1,14 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<PathDelim Value="/"/>
|
||||
<Version Value="6"/>
|
||||
<Version Value="7"/>
|
||||
<General>
|
||||
<Flags>
|
||||
<LRSInOutputDirectory Value="False"/>
|
||||
</Flags>
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="3"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -39,7 +40,7 @@
|
||||
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
|
||||
</Item3>
|
||||
</RequiredPackages>
|
||||
<Units Count="14">
|
||||
<Units Count="10">
|
||||
<Unit0>
|
||||
<Filename Value="RxDBGridDemo.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -52,10 +53,10 @@
|
||||
<Filename Value="rxdbgridmainunit.pas"/>
|
||||
<ComponentName Value="RxDBGridMainForm"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ResourceFilename Value="rxdbgridmainunit.lrs"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="RxDBGridMainUnit"/>
|
||||
<CursorPos X="24" Y="53"/>
|
||||
<TopLine Value="9"/>
|
||||
<TopLine Value="127"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -112,180 +113,31 @@
|
||||
<UsageCount Value="11"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<UnitName Value="rxdbgrid"/>
|
||||
<CursorPos X="3" Y="1466"/>
|
||||
<TopLine Value="1436"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxmemds.pas"/>
|
||||
<UnitName Value="rxmemds"/>
|
||||
<CursorPos X="1" Y="1335"/>
|
||||
<TopLine Value="1312"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxpopupunit.pas"/>
|
||||
<Filename Value="../../rxpopupunit.pas"/>
|
||||
<UnitName Value="rxpopupunit"/>
|
||||
<CursorPos X="15" Y="249"/>
|
||||
<TopLine Value="246"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
|
||||
<UnitName Value="Grids"/>
|
||||
<CursorPos X="15" Y="854"/>
|
||||
<TopLine Value="831"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
|
||||
<UnitName Value="DBGrids"/>
|
||||
<CursorPos X="14" Y="450"/>
|
||||
<TopLine Value="427"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
</Unit9>
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<JumpHistory Count="2" HistoryIndex="1">
|
||||
<Position1>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="226" Column="22" TopLine="203"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="280" Column="32" TopLine="257"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="281" Column="32" TopLine="258"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1465" Column="1" TopLine="1434"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1708" Column="38" TopLine="1685"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1710" Column="20" TopLine="1687"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1711" Column="61" TopLine="1688"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1713" Column="25" TopLine="1690"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1716" Column="33" TopLine="1693"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1722" Column="38" TopLine="1699"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1724" Column="20" TopLine="1701"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1725" Column="20" TopLine="1702"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1909" Column="1" TopLine="1880"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1911" Column="35" TopLine="1888"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1912" Column="36" TopLine="1889"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1903" Column="32" TopLine="1893"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="rxdbgridmainunit.pas"/>
|
||||
<Caret Line="52" Column="18" TopLine="9"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="2343" Column="35" TopLine="2336"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="2339" Column="37" TopLine="2336"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="2338" Column="37" TopLine="2315"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1942" Column="25" TopLine="1919"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1947" Column="25" TopLine="1924"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="2338" Column="37" TopLine="2315"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1942" Column="25" TopLine="1919"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1947" Column="25" TopLine="1924"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
|
||||
<Caret Line="1468" Column="14" TopLine="1436"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="rxdbgridmainunit.pas"/>
|
||||
<Caret Line="15" Column="4" TopLine="9"/>
|
||||
</Position30>
|
||||
</Position2>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<Version Value="8"/>
|
||||
<SearchPaths>
|
||||
<SrcPath Value="$(LazarusDir)/lcl/;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)/"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
|
@ -1,48 +1,57 @@
|
||||
object RxDBGridMainForm: TRxDBGridMainForm
|
||||
Left = 301
|
||||
Left = 299
|
||||
Height = 582
|
||||
Top = 161
|
||||
Width = 969
|
||||
HorzScrollBar.Page = 968
|
||||
VertScrollBar.Page = 581
|
||||
ActiveControl = RxDBGrid1
|
||||
ActiveControl = Panel1
|
||||
Caption = 'RxDBGrid Demo (ver 3) ...'
|
||||
ClientHeight = 582
|
||||
ClientWidth = 969
|
||||
OnCreate = FormCreate
|
||||
LCLVersion = '0.9.27'
|
||||
object RxDBGrid1: TRxDBGrid
|
||||
Height = 532
|
||||
Top = 50
|
||||
Left = 0
|
||||
Height = 533
|
||||
Top = 49
|
||||
Width = 969
|
||||
TitleButtons = False
|
||||
AutoSort = False
|
||||
Columns = <
|
||||
item
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Code'
|
||||
Title.Orientation = toHorizontal
|
||||
FieldName = 'ID'
|
||||
Footer.Alignment = taRightJustify
|
||||
Footer.DisplayFormat = 'Count: %d'
|
||||
Footer.ValueType = fvtCount
|
||||
Filter.DropDownRows = 0
|
||||
Filter.Color = clLime
|
||||
Filter.ItemIndex = -1
|
||||
end
|
||||
item
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Software Name'
|
||||
Title.Orientation = toHorizontal
|
||||
Width = 350
|
||||
FieldName = 'NAME'
|
||||
Filter.DropDownRows = 0
|
||||
Filter.Color = clLime
|
||||
Filter.ItemIndex = -1
|
||||
end
|
||||
item
|
||||
Title.Alignment = taCenter
|
||||
Title.Orientation = toHorizontal
|
||||
Width = 150
|
||||
FieldName = 'Developer'
|
||||
Filter.DropDownRows = 0
|
||||
Filter.Color = clLime
|
||||
Filter.ItemIndex = -1
|
||||
end
|
||||
item
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Cost'
|
||||
Title.Orientation = toHorizontal
|
||||
Width = 90
|
||||
FieldName = 'PRICE'
|
||||
DisplayFormat = '#,##0.00'
|
||||
@ -50,20 +59,25 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
||||
Footer.DisplayFormat = '#,##0.00'
|
||||
Footer.FieldName = 'PRICE'
|
||||
Footer.ValueType = fvtSum
|
||||
Filter.DropDownRows = 0
|
||||
Filter.Color = clLime
|
||||
Filter.ItemIndex = -1
|
||||
end
|
||||
item
|
||||
Title.Alignment = taCenter
|
||||
Title.Caption = 'Date Present'
|
||||
Title.Orientation = toHorizontal
|
||||
Width = 100
|
||||
FieldName = 'Date_Present'
|
||||
Filter.DropDownRows = 0
|
||||
Filter.ItemIndex = -1
|
||||
end
|
||||
item
|
||||
Title.Alignment = taCenter
|
||||
Title.Orientation = toHorizontal
|
||||
Width = 150
|
||||
FieldName = 'DEVELOPER_ID'
|
||||
Filter.DropDownRows = 0
|
||||
Filter.ItemIndex = -1
|
||||
end>
|
||||
OptionsRx = [rdgFooterRows]
|
||||
@ -73,52 +87,67 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
||||
Align = alClient
|
||||
FocusColor = clRed
|
||||
SelectedColor = clHighlight
|
||||
GridLineStyle = psSolid
|
||||
DataSource = Datasource1
|
||||
FixedColor = clBtnFace
|
||||
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgMultiselect]
|
||||
OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn]
|
||||
ParentColor = False
|
||||
PopupMenu = PopupMenu1
|
||||
TabOrder = 0
|
||||
TabStop = True
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Height = 50
|
||||
Left = 0
|
||||
Height = 49
|
||||
Top = 0
|
||||
Width = 969
|
||||
Align = alTop
|
||||
ClientHeight = 50
|
||||
AutoSize = True
|
||||
ClientHeight = 49
|
||||
ClientWidth = 969
|
||||
TabOrder = 1
|
||||
object Button1: TButton
|
||||
Left = 8
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 75
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
Left = 6
|
||||
Height = 37
|
||||
Top = 6
|
||||
Width = 92
|
||||
Action = actCalcTotal
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 88
|
||||
Height = 25
|
||||
Top = 8
|
||||
Width = 136
|
||||
AnchorSideLeft.Control = Button1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Panel1
|
||||
Left = 104
|
||||
Height = 37
|
||||
Top = 6
|
||||
Width = 165
|
||||
Action = actOptimizeColumnsWidthAll
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
TabOrder = 1
|
||||
end
|
||||
object CheckBox1: TCheckBox
|
||||
Left = 241
|
||||
Height = 20
|
||||
Top = 8
|
||||
Width = 75
|
||||
AnchorSideLeft.Control = Button2
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Button1
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 275
|
||||
Height = 22
|
||||
Top = 13
|
||||
Width = 81
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'Use filter'
|
||||
OnChange = CheckBox1Change
|
||||
TabOrder = 2
|
||||
UseOnChange = True
|
||||
end
|
||||
end
|
||||
object RxMemoryData1: TRxMemoryData
|
||||
AutoCalcFields = False
|
||||
FieldDefs = <
|
||||
item
|
||||
Name = 'ID'
|
||||
@ -147,59 +176,87 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
||||
item
|
||||
Name = 'Date_Present'
|
||||
DataType = ftDate
|
||||
Precision = 0
|
||||
Size = 0
|
||||
end
|
||||
item
|
||||
Name = 'DEVELOPER_ID'
|
||||
DataType = ftInteger
|
||||
Precision = 0
|
||||
Size = 0
|
||||
end>
|
||||
OnFilterRecordEx = RxMemoryData1FilterRecordEx
|
||||
left = 152
|
||||
top = 264
|
||||
object RxMemoryData1ID1: TLongintField
|
||||
AlignMent = taRightJustify
|
||||
DisplayWidth = 10
|
||||
FieldKind = fkData
|
||||
FieldName = 'ID'
|
||||
Index = 0
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
end
|
||||
object RxMemoryData1NAME1: TStringField
|
||||
DisplayWidth = 150
|
||||
FieldKind = fkData
|
||||
FieldName = 'NAME'
|
||||
Index = 1
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
Size = 150
|
||||
end
|
||||
object RxMemoryData1PRICE1: TFloatField
|
||||
AlignMent = taRightJustify
|
||||
DisplayWidth = 10
|
||||
FieldKind = fkData
|
||||
FieldName = 'PRICE'
|
||||
Index = 2
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
DisplayFormat = '#,##0.00'
|
||||
MaxValue = 0
|
||||
MinValue = 0
|
||||
Precision = 2
|
||||
end
|
||||
object RxMemoryData1Developer1: TStringField
|
||||
DisplayWidth = 150
|
||||
FieldKind = fkData
|
||||
FieldName = 'Developer'
|
||||
Index = 3
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
Size = 150
|
||||
end
|
||||
object RxMemoryData1Date_Present1: TDateField
|
||||
DisplayWidth = 10
|
||||
FieldKind = fkData
|
||||
FieldName = 'Date_Present'
|
||||
Index = 4
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
end
|
||||
object RxMemoryData1DEVELOPER_ID1: TLongintField
|
||||
AlignMent = taRightJustify
|
||||
DisplayWidth = 10
|
||||
FieldKind = fkData
|
||||
FieldName = 'DEVELOPER_ID'
|
||||
Index = 5
|
||||
KeyFields = 'DEVELOPER_ID'
|
||||
LookupCache = False
|
||||
LookupDataSet = RxMemoryData2
|
||||
LookupKeyFields = 'DEVELOPER_ID'
|
||||
LookupResultField = 'DEVELOPER_NAME'
|
||||
KeyFields = 'DEVELOPER_ID'
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
end
|
||||
end
|
||||
object Datasource1: TDatasource
|
||||
@ -251,29 +308,41 @@ object RxDBGridMainForm: TRxDBGridMainForm
|
||||
top = 264
|
||||
end
|
||||
object RxMemoryData2: TRxMemoryData
|
||||
AutoCalcFields = False
|
||||
FieldDefs = <
|
||||
item
|
||||
Name = 'DEVELOPER_ID'
|
||||
DataType = ftInteger
|
||||
Precision = 0
|
||||
Size = 0
|
||||
end
|
||||
item
|
||||
Name = 'DEVELOPER_NAME'
|
||||
DataType = ftString
|
||||
Precision = 0
|
||||
Size = 130
|
||||
end>
|
||||
left = 240
|
||||
top = 264
|
||||
object RxMemoryData2DEVELOPER_ID1: TLongintField
|
||||
AlignMent = taRightJustify
|
||||
DisplayWidth = 10
|
||||
FieldKind = fkData
|
||||
FieldName = 'DEVELOPER_ID'
|
||||
Index = 0
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
end
|
||||
object RxMemoryData2DEVELOPER_NAME1: TStringField
|
||||
DisplayWidth = 130
|
||||
FieldKind = fkData
|
||||
FieldName = 'DEVELOPER_NAME'
|
||||
Index = 1
|
||||
LookupCache = False
|
||||
ProviderFlags = [pfInUpdate, pfInWhere]
|
||||
ReadOnly = False
|
||||
Required = False
|
||||
Size = 130
|
||||
end
|
||||
end
|
||||
|
@ -1,90 +1,110 @@
|
||||
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
|
||||
|
||||
LazarusResources.Add('TRxDBGridMainForm','FORMDATA',[
|
||||
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3'-'#1#6'Height'#3
|
||||
+'F'#2#3'Top'#3#161#0#5'Width'#3#201#3#18'HorzScrollBar.Page'#3#200#3#18'Vert'
|
||||
+'ScrollBar.Page'#3'E'#2#13'ActiveControl'#7#9'RxDBGrid1'#7'Caption'#6#26'RxD'
|
||||
+'BGrid Demo (ver 3) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'#3#201#3#8
|
||||
+'OnCreate'#7#10'FormCreate'#0#9'TRxDBGrid'#9'RxDBGrid1'#6'Height'#3#20#2#3'T'
|
||||
+'op'#2'2'#5'Width'#3#201#3#7'Columns'#14#1#15'Title.Alignment'#7#8'taCenter'
|
||||
+#13'Title.Caption'#6#4'Code'#9'FieldName'#6#2'ID'#16'Footer.Alignment'#7#14
|
||||
+'taRightJustify'#20'Footer.DisplayFormat'#6#9'Count: %d'#16'Footer.ValueType'
|
||||
+#7#8'fvtCount'#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2#255#0#1#15
|
||||
+'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#13'Software Name'#5'Widt'
|
||||
+'h'#3'^'#1#9'FieldName'#6#4'NAME'#12'Filter.Color'#7#6'clLime'#16'Filter.Ite'
|
||||
+'mIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#5'Width'#3#150#0#9'Fiel'
|
||||
+'dName'#6#9'Developer'#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2
|
||||
+#255#0#1#15'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#4'Cost'#5'Wid'
|
||||
+'th'#2'Z'#9'FieldName'#6#5'PRICE'#13'DisplayFormat'#6#8'#,##0.00'#16'Footer.'
|
||||
+'Alignment'#7#14'taRightJustify'#20'Footer.DisplayFormat'#6#8'#,##0.00'#16'F'
|
||||
+'ooter.FieldName'#6#5'PRICE'#16'Footer.ValueType'#7#6'fvtSum'#12'Filter.Colo'
|
||||
+'r'#7#6'clLime'#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCen'
|
||||
+'ter'#13'Title.Caption'#6#12'Date Present'#5'Width'#2'd'#9'FieldName'#6#12'D'
|
||||
+'ate_Present'#16'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCente'
|
||||
+'r'#5'Width'#3#150#0#9'FieldName'#6#12'DEVELOPER_ID'#16'Filter.ItemIndex'#2
|
||||
+#255#0#0#9'OptionsRx'#11#13'rdgFooterRows'#0#11'FooterColor'#7#8'clYellow'#14
|
||||
+'FooterRowCount'#2#1#9'OnFiltred'#7#16'RxDBGrid1Filtred'#5'Align'#7#8'alClie'
|
||||
+'nt'#10'FocusColor'#7#5'clRed'#13'SelectedColor'#7#11'clHighlight'#10'DataSo'
|
||||
+'urce'#7#11'Datasource1'#10'FixedColor'#7#9'clBtnFace'#7'Options'#11#9'dgEdi'
|
||||
+'ting'#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgColumnMove'#10'dg'
|
||||
+'ColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwaysShowSelection'#15'dgConfirmDe'
|
||||
+'lete'#14'dgCancelOnExit'#13'dgMultiselect'#0#12'OptionsExtra'#11#14'dgeAuto'
|
||||
+'Columns'#17'dgeCheckboxColumn'#0#11'ParentColor'#8#9'PopupMenu'#7#10'PopupM'
|
||||
+'enu1'#8'TabOrder'#2#0#7'TabStop'#9#0#0#6'TPanel'#6'Panel1'#6'Height'#2'2'#5
|
||||
+'Width'#3#201#3#5'Align'#7#5'alTop'#12'ClientHeight'#2'2'#11'ClientWidth'#3
|
||||
+#201#3#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#4'Left'#2#8#6'Height'#2#25#3
|
||||
+'Top'#2#8#5'Width'#2'K'#6'Action'#7#12'actCalcTotal'#25'BorderSpacing.InnerB'
|
||||
+'order'#2#4#8'TabOrder'#2#0#0#0#7'TButton'#7'Button2'#4'Left'#2'X'#6'Height'
|
||||
+#2#25#3'Top'#2#8#5'Width'#3#136#0#6'Action'#7#26'actOptimizeColumnsWidthAll'
|
||||
+#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckB'
|
||||
+'ox1'#4'Left'#3#241#0#6'Height'#2#20#3'Top'#2#8#5'Width'#2'K'#7'Caption'#6#10
|
||||
+'Use filter'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#2#11'UseOnChang'
|
||||
+'e'#9#0#0#0#13'TRxMemoryData'#13'RxMemoryData1'#9'FieldDefs'#14#1#4'Name'#6#2
|
||||
+'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#7#0#1#4'Name'#6
|
||||
+#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3#150#0#0#1#4
|
||||
+'Name'#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4'Size'#2#12#0#1
|
||||
+#4'Name'#6#9'Developer'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'
|
||||
+#3#150#0#0#1#4'Name'#6#12'Date_Present'#8'DataType'#7#6'ftDate'#0#1#4'Name'#6
|
||||
+#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteger'#0#0#16'OnFilterRecordEx'#7#27'R'
|
||||
+'xMemoryData1FilterRecordEx'#4'left'#3#152#0#3'top'#3#8#1#0#13'TLongintField'
|
||||
+#16'RxMemoryData1ID1'#9'AlignMent'#7#14'taRightJustify'#12'DisplayWidth'#2#10
|
||||
+#9'FieldName'#6#2'ID'#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#0#0
|
||||
+#12'TStringField'#18'RxMemoryData1NAME1'#12'DisplayWidth'#3#150#0#9'FieldNam'
|
||||
+'e'#6#4'NAME'#5'Index'#2#1#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0
|
||||
+#4'Size'#3#150#0#0#0#11'TFloatField'#19'RxMemoryData1PRICE1'#9'AlignMent'#7
|
||||
+#14'taRightJustify'#12'DisplayWidth'#2#10#9'FieldName'#6#5'PRICE'#5'Index'#2
|
||||
+#2#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#13'DisplayFormat'#6#8
|
||||
+'#,##0.00'#9'Precision'#2#2#0#0#12'TStringField'#23'RxMemoryData1Developer1'
|
||||
+#12'DisplayWidth'#3#150#0#9'FieldName'#6#9'Developer'#5'Index'#2#3#13'Provid'
|
||||
+'erFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#3#150#0#0#0#10'TDateField'
|
||||
+#26'RxMemoryData1Date_Present1'#12'DisplayWidth'#2#10#9'FieldName'#6#12'Date'
|
||||
+'_Present'#5'Index'#2#4#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#0
|
||||
+#0#13'TLongintField'#26'RxMemoryData1DEVELOPER_ID1'#9'AlignMent'#7#14'taRigh'
|
||||
+'tJustify'#12'DisplayWidth'#2#10#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#5
|
||||
+#13'LookupDataSet'#7#13'RxMemoryData2'#15'LookupKeyFields'#6#12'DEVELOPER_ID'
|
||||
+#17'LookupResultField'#6#14'DEVELOPER_NAME'#9'KeyFields'#6#12'DEVELOPER_ID'
|
||||
+#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#0#0#0#11'TDatasource'#11
|
||||
+'Datasource1'#7'DataSet'#7#13'RxMemoryData1'#4'left'#2'x'#3'top'#3#8#1#0#0#10
|
||||
,'TPopupMenu'#10'PopupMenu1'#4'left'#3#152#0#3'top'#3#197#0#0#9'TMenuItem'#9
|
||||
+'MenuItem1'#6'Action'#7#20'actOptimizeWidthCol1'#7'OnClick'#7#27'actOptimize'
|
||||
+'WidthCol1Execute'#0#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMe'
|
||||
+'nuItem'#9'MenuItem4'#6'Action'#7#12'actCalcTotal'#7'OnClick'#7#19'actCalcTo'
|
||||
+'talExecute'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#26'actOptimizeColumns'
|
||||
+'WidthAll'#7'OnClick'#7'!actOptimizeColumnsWidthAllExecute'#0#0#0#11'TAction'
|
||||
+'List'#11'ActionList1'#4'left'#3#206#0#3'top'#3#197#0#0#7'TAction'#12'actCal'
|
||||
+'cTotal'#7'Caption'#6#13'Calc total...'#18'DisableIfNoHandler'#9#9'OnExecute'
|
||||
+#7#19'actCalcTotalExecute'#0#0#7'TAction'#26'actOptimizeColumnsWidthAll'#7'C'
|
||||
+'aption'#6#25'Optimize width for all...'#18'DisableIfNoHandler'#9#9'OnExecut'
|
||||
+'e'#7'!actOptimizeColumnsWidthAllExecute'#0#0#7'TAction'#20'actOptimizeWidth'
|
||||
+'Col1'#7'Caption'#6#17'Optimize width...'#18'DisableIfNoHandler'#9#9'OnExecu'
|
||||
+'te'#7#27'actOptimizeWidthCol1Execute'#0#0#0#11'TDatasource'#11'Datasource2'
|
||||
+#7'DataSet'#7#13'RxMemoryData2'#4'left'#3#207#0#3'top'#3#8#1#0#0#13'TRxMemor'
|
||||
+'yData'#13'RxMemoryData2'#9'FieldDefs'#14#1#4'Name'#6#12'DEVELOPER_ID'#8'Dat'
|
||||
+'aType'#7#9'ftInteger'#0#1#4'Name'#6#14'DEVELOPER_NAME'#8'DataType'#7#8'ftSt'
|
||||
+'ring'#4'Size'#3#130#0#0#0#4'left'#3#240#0#3'top'#3#8#1#0#13'TLongintField'
|
||||
+#26'RxMemoryData2DEVELOPER_ID1'#9'AlignMent'#7#14'taRightJustify'#12'Display'
|
||||
+'Width'#2#10#9'FieldName'#6#12'DEVELOPER_ID'#13'ProviderFlags'#11#10'pfInUpd'
|
||||
+'ate'#9'pfInWhere'#0#0#0#12'TStringField'#28'RxMemoryData2DEVELOPER_NAME1'#12
|
||||
+'DisplayWidth'#3#130#0#9'FieldName'#6#14'DEVELOPER_NAME'#5'Index'#2#1#13'Pro'
|
||||
+'viderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#4'Size'#3#130#0#0#0#0#0
|
||||
'TPF0'#17'TRxDBGridMainForm'#16'RxDBGridMainForm'#4'Left'#3'+'#1#6'Height'#3
|
||||
+'F'#2#3'Top'#3#161#0#5'Width'#3#201#3#13'ActiveControl'#7#6'Panel1'#7'Captio'
|
||||
+'n'#6#26'RxDBGrid Demo (ver 3) ...'#12'ClientHeight'#3'F'#2#11'ClientWidth'
|
||||
+#3#201#3#8'OnCreate'#7#10'FormCreate'#10'LCLVersion'#6#6'0.9.27'#0#9'TRxDBGr'
|
||||
+'id'#9'RxDBGrid1'#4'Left'#2#0#6'Height'#3#21#2#3'Top'#2'1'#5'Width'#3#201#3
|
||||
+#12'TitleButtons'#8#8'AutoSort'#8#7'Columns'#14#1#15'Title.Alignment'#7#8'ta'
|
||||
+'Center'#13'Title.Caption'#6#4'Code'#17'Title.Orientation'#7#12'toHorizontal'
|
||||
+#9'FieldName'#6#2'ID'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.Di'
|
||||
+'splayFormat'#6#9'Count: %d'#16'Footer.ValueType'#7#8'fvtCount'#19'Filter.Dr'
|
||||
+'opDownRows'#2#0#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2#255#0#1
|
||||
+#15'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#13'Software Name'#17
|
||||
+'Title.Orientation'#7#12'toHorizontal'#5'Width'#3'^'#1#9'FieldName'#6#4'NAME'
|
||||
+#19'Filter.DropDownRows'#2#0#12'Filter.Color'#7#6'clLime'#16'Filter.ItemInde'
|
||||
+'x'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#17'Title.Orientation'#7#12't'
|
||||
+'oHorizontal'#5'Width'#3#150#0#9'FieldName'#6#9'Developer'#19'Filter.DropDow'
|
||||
+'nRows'#2#0#12'Filter.Color'#7#6'clLime'#16'Filter.ItemIndex'#2#255#0#1#15'T'
|
||||
+'itle.Alignment'#7#8'taCenter'#13'Title.Caption'#6#4'Cost'#17'Title.Orientat'
|
||||
+'ion'#7#12'toHorizontal'#5'Width'#2'Z'#9'FieldName'#6#5'PRICE'#13'DisplayFor'
|
||||
+'mat'#6#8'#,##0.00'#16'Footer.Alignment'#7#14'taRightJustify'#20'Footer.Disp'
|
||||
+'layFormat'#6#8'#,##0.00'#16'Footer.FieldName'#6#5'PRICE'#16'Footer.ValueTyp'
|
||||
+'e'#7#6'fvtSum'#19'Filter.DropDownRows'#2#0#12'Filter.Color'#7#6'clLime'#16
|
||||
+'Filter.ItemIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#13'Title.Capt'
|
||||
+'ion'#6#12'Date Present'#17'Title.Orientation'#7#12'toHorizontal'#5'Width'#2
|
||||
+'d'#9'FieldName'#6#12'Date_Present'#19'Filter.DropDownRows'#2#0#16'Filter.It'
|
||||
+'emIndex'#2#255#0#1#15'Title.Alignment'#7#8'taCenter'#17'Title.Orientation'#7
|
||||
+#12'toHorizontal'#5'Width'#3#150#0#9'FieldName'#6#12'DEVELOPER_ID'#19'Filter'
|
||||
+'.DropDownRows'#2#0#16'Filter.ItemIndex'#2#255#0#0#9'OptionsRx'#11#13'rdgFoo'
|
||||
+'terRows'#0#11'FooterColor'#7#8'clYellow'#14'FooterRowCount'#2#1#9'OnFiltred'
|
||||
+#7#16'RxDBGrid1Filtred'#5'Align'#7#8'alClient'#10'FocusColor'#7#5'clRed'#13
|
||||
+'SelectedColor'#7#11'clHighlight'#13'GridLineStyle'#7#7'psSolid'#10'DataSour'
|
||||
+'ce'#7#11'Datasource1'#7'Options'#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'
|
||||
+#14'dgColumnResize'#12'dgColumnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'
|
||||
+#21'dgAlwaysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#13'dgMulti'
|
||||
+'select'#0#11'ParentColor'#8#9'PopupMenu'#7#10'PopupMenu1'#8'TabOrder'#2#0#0
|
||||
+#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'1'#3'Top'#2#0#5'Width'#3#201#3
|
||||
+#5'Align'#7#5'alTop'#8'AutoSize'#9#12'ClientHeight'#2'1'#11'ClientWidth'#3
|
||||
+#201#3#8'TabOrder'#2#1#0#7'TButton'#7'Button1'#22'AnchorSideLeft.Control'#7#6
|
||||
+'Panel1'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2#6#6'Height'#2'%'#3
|
||||
+'Top'#2#6#5'Width'#2'\'#6'Action'#7#12'actCalcTotal'#8'AutoSize'#9#20'Border'
|
||||
+'Spacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#8'TabOrder'#2#0#0#0#7
|
||||
+'TButton'#7'Button2'#22'AnchorSideLeft.Control'#7#7'Button1'#19'AnchorSideLe'
|
||||
+'ft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#6'Panel1'#4'Left'#2'h'#6
|
||||
+'Height'#2'%'#3'Top'#2#6#5'Width'#3#165#0#6'Action'#7#26'actOptimizeColumnsW'
|
||||
+'idthAll'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerB'
|
||||
+'order'#2#4#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#22'AnchorSideLeft.'
|
||||
+'Control'#7#7'Button2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideT'
|
||||
+'op.Control'#7#7'Button1'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#19
|
||||
+#1#6'Height'#2#22#3'Top'#2#13#5'Width'#2'Q'#18'BorderSpacing.Left'#2#6#7'Cap'
|
||||
+'tion'#6#10'Use filter'#8'OnChange'#7#15'CheckBox1Change'#8'TabOrder'#2#2#0#0
|
||||
+#0#13'TRxMemoryData'#13'RxMemoryData1'#14'AutoCalcFields'#8#9'FieldDefs'#14#1
|
||||
+#4'Name'#6#2'ID'#8'DataType'#7#9'ftInteger'#9'Precision'#2#255#4'Size'#2#7#0
|
||||
+#1#4'Name'#6#4'NAME'#8'DataType'#7#8'ftString'#9'Precision'#2#255#4'Size'#3
|
||||
+#150#0#0#1#4'Name'#6#5'PRICE'#8'DataType'#7#7'ftFloat'#9'Precision'#2#2#4'Si'
|
||||
+'ze'#2#12#0#1#4'Name'#6#9'Developer'#8'DataType'#7#8'ftString'#9'Precision'#2
|
||||
+#255#4'Size'#3#150#0#0#1#4'Name'#6#12'Date_Present'#8'DataType'#7#6'ftDate'#9
|
||||
+'Precision'#2#0#4'Size'#2#0#0#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'f'
|
||||
+'tInteger'#9'Precision'#2#0#4'Size'#2#0#0#0#16'OnFilterRecordEx'#7#27'RxMemo'
|
||||
+'ryData1FilterRecordEx'#4'left'#3#152#0#3'top'#3#8#1#0#13'TLongintField'#16
|
||||
+'RxMemoryData1ID1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkData'#9'FieldNam'
|
||||
+'e'#6#2'ID'#5'Index'#2#0#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdat'
|
||||
+'e'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#12'TStringField'#18'RxMem'
|
||||
+'oryData1NAME1'#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldNam'
|
||||
+'e'#6#4'NAME'#5'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpd'
|
||||
+'ate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#11'TFlo'
|
||||
,'atField'#19'RxMemoryData1PRICE1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkD'
|
||||
+'ata'#9'FieldName'#6#5'PRICE'#5'Index'#2#2#11'LookupCache'#8#13'ProviderFlag'
|
||||
+'s'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#13'DisplayF'
|
||||
+'ormat'#6#8'#,##0.00'#8'MaxValue'#5#0#0#0#0#0#0#0#0#0#0#8'MinValue'#5#0#0#0#0
|
||||
+#0#0#0#0#0#0#9'Precision'#2#2#0#0#12'TStringField'#23'RxMemoryData1Developer'
|
||||
+'1'#12'DisplayWidth'#3#150#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#9'Devel'
|
||||
+'oper'#5'Index'#2#3#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9
|
||||
+'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#150#0#0#0#10'TDateField'
|
||||
+#26'RxMemoryData1Date_Present1'#12'DisplayWidth'#2#10#9'FieldKind'#7#6'fkDat'
|
||||
+'a'#9'FieldName'#6#12'Date_Present'#5'Index'#2#4#11'LookupCache'#8#13'Provid'
|
||||
+'erFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#0#0#13
|
||||
+'TLongintField'#26'RxMemoryData1DEVELOPER_ID1'#12'DisplayWidth'#2#10#9'Field'
|
||||
+'Kind'#7#6'fkData'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#5#9'KeyFields'
|
||||
+#6#12'DEVELOPER_ID'#11'LookupCache'#8#13'LookupDataSet'#7#13'RxMemoryData2'
|
||||
+#15'LookupKeyFields'#6#12'DEVELOPER_ID'#17'LookupResultField'#6#14'DEVELOPER'
|
||||
+'_NAME'#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnly'#8#8'R'
|
||||
+'equired'#8#0#0#0#11'TDatasource'#11'Datasource1'#7'DataSet'#7#13'RxMemoryDa'
|
||||
+'ta1'#4'left'#2'x'#3'top'#3#8#1#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3
|
||||
+#152#0#3'top'#3#197#0#0#9'TMenuItem'#9'MenuItem1'#6'Action'#7#20'actOptimize'
|
||||
+'WidthCol1'#7'OnClick'#7#27'actOptimizeWidthCol1Execute'#0#0#9'TMenuItem'#9
|
||||
+'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#12'a'
|
||||
+'ctCalcTotal'#7'OnClick'#7#19'actCalcTotalExecute'#0#0#9'TMenuItem'#9'MenuIt'
|
||||
+'em3'#6'Action'#7#26'actOptimizeColumnsWidthAll'#7'OnClick'#7'!actOptimizeCo'
|
||||
+'lumnsWidthAllExecute'#0#0#0#11'TActionList'#11'ActionList1'#4'left'#3#206#0
|
||||
+#3'top'#3#197#0#0#7'TAction'#12'actCalcTotal'#7'Caption'#6#13'Calc total...'
|
||||
+#18'DisableIfNoHandler'#9#9'OnExecute'#7#19'actCalcTotalExecute'#0#0#7'TActi'
|
||||
+'on'#26'actOptimizeColumnsWidthAll'#7'Caption'#6#25'Optimize width for all..'
|
||||
+'.'#18'DisableIfNoHandler'#9#9'OnExecute'#7'!actOptimizeColumnsWidthAllExecu'
|
||||
+'te'#0#0#7'TAction'#20'actOptimizeWidthCol1'#7'Caption'#6#17'Optimize width.'
|
||||
+'..'#18'DisableIfNoHandler'#9#9'OnExecute'#7#27'actOptimizeWidthCol1Execute'
|
||||
+#0#0#0#11'TDatasource'#11'Datasource2'#7'DataSet'#7#13'RxMemoryData2'#4'left'
|
||||
+#3#207#0#3'top'#3#8#1#0#0#13'TRxMemoryData'#13'RxMemoryData2'#14'AutoCalcFie'
|
||||
+'lds'#8#9'FieldDefs'#14#1#4'Name'#6#12'DEVELOPER_ID'#8'DataType'#7#9'ftInteg'
|
||||
+'er'#9'Precision'#2#0#4'Size'#2#0#0#1#4'Name'#6#14'DEVELOPER_NAME'#8'DataTyp'
|
||||
+'e'#7#8'ftString'#9'Precision'#2#0#4'Size'#3#130#0#0#0#4'left'#3#240#0#3'top'
|
||||
+#3#8#1#0#13'TLongintField'#26'RxMemoryData2DEVELOPER_ID1'#12'DisplayWidth'#2
|
||||
+#10#9'FieldKind'#7#6'fkData'#9'FieldName'#6#12'DEVELOPER_ID'#5'Index'#2#0#11
|
||||
+'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9'pfInWhere'#0#8'ReadOnl'
|
||||
+'y'#8#8'Required'#8#0#0#12'TStringField'#28'RxMemoryData2DEVELOPER_NAME1'#12
|
||||
+'DisplayWidth'#3#130#0#9'FieldKind'#7#6'fkData'#9'FieldName'#6#14'DEVELOPER_'
|
||||
+'NAME'#5'Index'#2#1#11'LookupCache'#8#13'ProviderFlags'#11#10'pfInUpdate'#9
|
||||
+'pfInWhere'#0#8'ReadOnly'#8#8'Required'#8#4'Size'#3#130#0#0#0#0#0
|
||||
]);
|
||||
|
@ -12,6 +12,7 @@
|
||||
- исправлены глифы у TRxClock, TRxDateEdit, TAutoPanel (Edward Ivanov)
|
||||
- Исправления в TRxDatePicker (Edward Ivanov)
|
||||
+ Добавлены компоненты TRxDBSpinEdit, TRxTimeEdit, TRxDBTimeEdit
|
||||
+ TRxLoginDialo теперь работает. По сравнению с оригинальным функционал сильно расширен. Изменён дизайн формы
|
||||
22.05.2008 - версия 2.0.0.136 (svn revision 100)
|
||||
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
|
||||
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных
|
||||
|
BIN
components/rx/images/TRxLoginDialog.png
Normal file
BIN
components/rx/images/TRxLoginDialog.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 546 B |
@ -1,2 +1,2 @@
|
||||
del rx.lrs
|
||||
D:\lazarus\tools\lazres.exe rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.bmp TRxClock.bmp TRxSpeedButton.bmp TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png
|
||||
D:\lazarus\tools\lazres.exe rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.bmp TRxClock.bmp TRxSpeedButton.bmp TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png TRxLoginDialog.png
|
||||
|
@ -1,3 +1,2 @@
|
||||
rm rx.lrs
|
||||
/usr/local/share/lazarus/tools/lazres rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.png TRxClock.png TRxSpeedButton.png TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png
|
||||
|
||||
/usr/local/share/lazarus/tools/lazres rx.lrs TDBDateEdit.xpm TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm trxxpmanifest.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.png TRxClock.png TRxSpeedButton.png TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png TRxLoginDialog.png
|
@ -555,3 +555,27 @@ LazarusResources.Add('TRxDBTrackBar','PNG',[
|
||||
+#226''''#195#245'JN'#221#239#252#223#213'.'#184#224'\'#248#6#216#165#172#203
|
||||
+#24'='#180#201#0#0#0#0'IEND'#174'B`'#130
|
||||
]);
|
||||
LazarusResources.Add('TRxLoginDialog','PNG',[
|
||||
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
|
||||
+#0#0#9'pHYs'#0#0#14#156#0#0#14#156#1#7#148'S'#221#0#0#1#212'IDATH'#137#213
|
||||
+#149'?hSQ'#20#135#191#27'S'#229#17'hET'#208','#25#218'A%T'#168'"'#220'!'#185
|
||||
+'NJ'#165#155'S'#187#212#209'!'#234#224#164#203'-d'#233#148'5'#16#138#144#205
|
||||
+','#26#23'!'#211'u'#17#137#155#8'>'#130#213#169')Ei'#254',Akr'#29#170#177#205
|
||||
+'K^^'#211#183#248#155#238';'#247#156#243#157#195'}'#156#3#255#187#196#160'A+'
|
||||
+'l'#255'l'#236#224#245'Xi%'#254#196#238#231#142#30#190#182'v'#144'i'#189'5'
|
||||
+#140#148#224'`A'#214#130#16#209#145#222'C'#131#142#174'C'#229'i'#173#143#151
|
||||
+'m@Zko'#7'J'#169'P'#146#27'c'#0#136'L'#18'\.'#151')'#22#139#129'|'#143#12#232
|
||||
+'v'#187#8'!p'#28#135'R'#169#20'.'#192'u]'#242#249'<'#213'j'#149'B'#161#128#16
|
||||
+#130'L&'#19#30' '#153'L'#226#186'.'#217'l'#150'J'#165#130#148#146'h'#212#255
|
||||
+'G'#28#9'x'#244'p'#133#31#173#28'ra'#11'y'#173#133'\p'#233't:'#244'z'#189#190
|
||||
+'O<'#30''''#151#203'M'#6#184'}]0?{'#158'''K+|'#251#186#195#148'3G'#235#251'6'
|
||||
+#141'F'#131'g'#27#247'}'#147#30#212#200#254'"'''#247'85'#245#18#189#241#24
|
||||
+#219'^'#167#241#22'Rg-'#175#239#213'9w'#165'N- '#192#247#13'b'#177#203#196#18
|
||||
+')j;'#155#156'Im'#146'X'#252'B'#236'B'#224#226#253#1#246#215'O'#232#188#1#166
|
||||
+#153#191#4#167#29'x'#250' A'#228'DH'#128'['#203'/'#216'k'#3'8'#0#172'.'#193
|
||||
+#221#197'&'#187#159'C'#2#0#188'o'#27'^'#173#223#160#249#1'n^'#133'O'#239#154
|
||||
+'<'#175'C'#237#162#9#12#24';Mg'#164#225'#0#'#247#191#239#200#192#185#129#9'F'
|
||||
+#133'1'#6#149'V'#168#180#234#15'4c'#12'i'#165'H'#171''#182#191#26#219#193'0'
|
||||
+#233'5'#237#177#173'i'#175'm"'#192#176'q'#238'7'#226#189';9'#164#165#163#181
|
||||
+#14#190'k'#143#163#223'|G'#141#138'p'#211'x'#28#0#0#0#0'IEND'#174'B`'#130
|
||||
]);
|
||||
|
@ -555,3 +555,27 @@ LazarusResources.Add('TRxDBTrackBar','PNG',[
|
||||
+#226''''#195#245'JN'#221#239#252#223#213'.'#184#224'\'#248#6#216#165#172#203
|
||||
+#24'='#180#201#0#0#0#0'IEND'#174'B`'#130
|
||||
]);
|
||||
LazarusResources.Add('TRxLoginDialog','PNG',[
|
||||
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
|
||||
+#0#0#9'pHYs'#0#0#14#156#0#0#14#156#1#7#148'S'#221#0#0#1#212'IDATH'#137#213
|
||||
+#149'?hSQ'#20#135#191#27'S'#229#17'hET'#208','#25#218'A%T'#168'"'#220'!'#185
|
||||
+'NJ'#165#155'S'#187#212#209'!'#234#224#164#203'-d'#233#148'5'#16#138#144#205
|
||||
+','#26#23'!'#211'u'#17#137#155#8'>'#130#213#169')Ei'#254',Akr'#29#170#177#205
|
||||
+'K^^'#211#183#248#155#238';'#247#156#243#157#195'}'#156#3#255#187#196#160'A+'
|
||||
+'l'#255'l'#236#224#245'Xi%'#254#196#238#231#142#30#190#182'v'#144'i'#189'5'
|
||||
+#140#148#224'`A'#214#130#16#209#145#222'C'#131#142#174'C'#229'i'#173#143#151
|
||||
+'m@Zko'#7'J'#169'P'#146#27'c'#0#136'L'#18'\.'#151')'#22#139#129'|'#143#12#232
|
||||
+'v'#187#8'!p'#28#135'R'#169#20'.'#192'u]'#242#249'<'#213'j'#149'B'#161#128#16
|
||||
+#130'L&'#19#30' '#153'L'#226#186'.'#217'l'#150'J'#165#130#148#146'h'#212#255
|
||||
+'G'#28#9'x'#244'p'#133#31#173#28'ra'#11'y'#173#133'\p'#233't:'#244'z'#189#190
|
||||
+'O<'#30''''#151#203'M'#6#184'}]0?{'#158'''K+|'#251#186#195#148'3G'#235#251'6'
|
||||
+#141'F'#131'g'#27#247'}'#147#30#212#200#254'"'''#247'85'#245#18#189#241#24
|
||||
+#219'^'#167#241#22'Rg-'#175#239#213'9w'#165'N- '#192#247#13'b'#177#203#196#18
|
||||
+')j;'#155#156'Im'#146'X'#252'B'#236'B'#224#226#253#1#246#215'O'#232#188#1#166
|
||||
+#153#191#4#167#29'x'#250' A'#228'DH'#128'['#203'/'#216'k'#3'8'#0#172'.'#193
|
||||
+#221#197'&'#187#159'C'#2#0#188'o'#27'^'#173#223#160#249#1'n^'#133'O'#239#154
|
||||
+'<'#175'C'#237#162#9#12#24';Mg'#164#225'#0#'#247#191#239#200#192#185#129#9'F'
|
||||
+#133'1'#6#149'V'#168#180#234#15'4c'#12'i'#165'H'#171''#182#191#26#219#193'0'
|
||||
+#233'5'#237#177#173'i'#175'm"'#192#176'q'#238'7'#226#189';9'#164#165#163#181
|
||||
+#14#190'k'#143#163#223'|G'#141#138'p'#211'x'#28#0#0#0#0'IEND'#174'B`'#130
|
||||
]);
|
||||
|
@ -30,11 +30,21 @@ type
|
||||
const
|
||||
OnGetDefaultIniName: TOnGetDefaultIniName = nil;
|
||||
|
||||
//Save to IniFile or TRegIniFile string value
|
||||
procedure IniWriteString(IniFile: TObject; const Section, Ident,
|
||||
Value: string);
|
||||
function IniReadString(IniFile: TObject; const Section, Ident,
|
||||
Value: string):string;
|
||||
|
||||
//Save to IniFile or TRegIniFile integer value
|
||||
procedure IniWriteInteger(IniFile: TObject; const Section, Ident:string;
|
||||
const Value: integer);
|
||||
function IniReadInteger(IniFile: TObject; const Section, Ident:string;
|
||||
const Value: integer):integer;
|
||||
|
||||
function GetDefaultIniRegKey: string;
|
||||
implementation
|
||||
uses Registry, Forms;
|
||||
uses Registry, Forms, FileUtil;
|
||||
|
||||
function GetDefaultSection(Component: TComponent): string;
|
||||
var
|
||||
@ -64,11 +74,21 @@ begin
|
||||
end;
|
||||
|
||||
function GetDefaultIniName: string;
|
||||
var
|
||||
S:string;
|
||||
begin
|
||||
if Assigned(OnGetDefaultIniName) then
|
||||
Result:= OnGetDefaultIniName()
|
||||
else
|
||||
Result := ExtractFileName(ChangeFileExt(Application.ExeName, '.INI'));
|
||||
begin
|
||||
Result := ExtractFileName(ChangeFileExt(Application.ExeName, '.ini'));
|
||||
{$IFNDEF WIN32}
|
||||
S:=UTF8ToSys(GetAppConfigDir(false));
|
||||
if not DirectoryExists(S) then
|
||||
mkdir(S);
|
||||
Result:=S+Result;
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure GetDefaultIniData(Control: TControl; var IniFileName,
|
||||
@ -99,7 +119,29 @@ var
|
||||
begin
|
||||
if IniFile is TRegIniFile then
|
||||
TRegIniFile(IniFile).WriteString(Section, Ident, Value)
|
||||
else begin
|
||||
else
|
||||
begin
|
||||
S := Value;
|
||||
if S <> '' then
|
||||
begin
|
||||
if ((S[1] = '"') and (S[Length(S)] = '"')) or
|
||||
((S[1] = '''') and (S[Length(S)] = '''')) then
|
||||
S := '"' + S + '"';
|
||||
end;
|
||||
if IniFile is TIniFile then
|
||||
TIniFile(IniFile).WriteString(Section, Ident, S);
|
||||
end;
|
||||
end;
|
||||
|
||||
function IniReadString(IniFile: TObject; const Section, Ident, Value: string
|
||||
): string;
|
||||
var
|
||||
S: string;
|
||||
begin
|
||||
if IniFile is TRegIniFile then
|
||||
Result:=TRegIniFile(IniFile).ReadString(Section, Ident, Value)
|
||||
else
|
||||
begin
|
||||
S := Value;
|
||||
if S <> '' then begin
|
||||
if ((S[1] = '"') and (S[Length(S)] = '"')) or
|
||||
@ -107,7 +149,31 @@ begin
|
||||
S := '"' + S + '"';
|
||||
end;
|
||||
if IniFile is TIniFile then
|
||||
TIniFile(IniFile).WriteString(Section, Ident, S);
|
||||
Result:=TIniFile(IniFile).ReadString(Section, Ident, S);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure IniWriteInteger(IniFile: TObject; const Section, Ident: string;
|
||||
const Value: integer);
|
||||
begin
|
||||
if IniFile is TRegIniFile then
|
||||
TRegIniFile(IniFile).WriteInteger(Section, Ident, Value)
|
||||
else
|
||||
begin
|
||||
if IniFile is TIniFile then
|
||||
TIniFile(IniFile).WriteInteger(Section, Ident, Value);
|
||||
end;
|
||||
end;
|
||||
|
||||
function IniReadInteger(IniFile: TObject; const Section, Ident: string;
|
||||
const Value: integer): integer;
|
||||
begin
|
||||
if IniFile is TRegIniFile then
|
||||
Result:=TRegIniFile(IniFile).ReadInteger(Section, Ident, Value)
|
||||
else
|
||||
begin
|
||||
if IniFile is TIniFile then
|
||||
Result:=TIniFile(IniFile).ReadInteger(Section, Ident, Value);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -121,22 +187,6 @@ begin
|
||||
Result := 'Software\' + Result;
|
||||
end;
|
||||
|
||||
{
|
||||
procedure IniWriteString(IniFile: TIniFile; const Section, Ident,
|
||||
Value: string);
|
||||
var
|
||||
S: string;
|
||||
begin
|
||||
S := Value;
|
||||
if S <> '' then
|
||||
begin
|
||||
if ((S[1] = '"') and (S[Length(S)] = '"')) or
|
||||
((S[1] = '''') and (S[Length(S)] = '''')) then
|
||||
S := '"' + S + '"';
|
||||
end;
|
||||
if IniFile is TIniFile then
|
||||
TIniFile(IniFile).WriteString(Section, Ident, S);
|
||||
end;
|
||||
}
|
||||
|
||||
end.
|
||||
|
||||
|
@ -121,6 +121,8 @@ resourcestring
|
||||
SHintLabel = 'Введите Ваше пользовательское имя и пароль';
|
||||
SUserNameLabel = '&Имя пользователя:';
|
||||
SPasswordLabel = '&Пароль:';
|
||||
SMore1 = '&Больше >>';
|
||||
SMore2 = '&Меньше <<';
|
||||
SInvalidUserName = 'Неверное имя пользователя или пароль';
|
||||
SChangePassword = 'Смена пароля';
|
||||
SOldPasswordLabel = '&Старый пароль:';
|
||||
|
@ -1,174 +1,382 @@
|
||||
object RxLoginForm: TRxLoginForm
|
||||
Cursor = crArrow
|
||||
Left = 230
|
||||
Height = 159
|
||||
Top = 141
|
||||
Width = 442
|
||||
HorzScrollBar.Page = 441
|
||||
VertScrollBar.Page = 158
|
||||
BorderIcons = []
|
||||
BorderStyle = bsDialog
|
||||
Left = 458
|
||||
Height = 203
|
||||
Top = 193
|
||||
Width = 455
|
||||
ActiveControl = UserNameEdit
|
||||
BorderIcons = [biSystemMenu, biHelp]
|
||||
Caption = 'RxLoginForm'
|
||||
ClientHeight = 159
|
||||
ClientWidth = 442
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
ClientHeight = 203
|
||||
ClientWidth = 455
|
||||
FormStyle = fsStayOnTop
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '0.9.25'
|
||||
LCLVersion = '0.9.27'
|
||||
object AppIcon: TImage
|
||||
Left = 14
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 6
|
||||
Height = 32
|
||||
Top = 12
|
||||
Top = 6
|
||||
Width = 32
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
end
|
||||
object KeyImage: TImage
|
||||
Left = 10
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 6
|
||||
Height = 32
|
||||
Top = 15
|
||||
Top = 6
|
||||
Width = 32
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
Picture.Data = {
|
||||
055449636F6EEB0400002F2A2058504D202A2F0A737461746963206368617220
|
||||
2A677261706869635B5D203D207B0A22333220333220342031222C0A222E2063
|
||||
204E6F6E65222C0A222C20632023383038303830222C0A222D20632023303030
|
||||
303030222C0A222A20632023464646464646222C0A222E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C
|
||||
0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C
|
||||
0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E
|
||||
2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C
|
||||
0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E222C0A222C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2D2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E222C0A222C2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2D2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E222C0A222C2A2A2C2D2D2A2A2A2A2A2A2A2A2A2A2A2A
|
||||
2D2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222C2A2C2D2C2D2D2A2A2A2A2A2A2A
|
||||
2A2A2A2A2D2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222C2A2D2D2A2A2D2D2D2D
|
||||
2D2D2D2D2D2D2D2A2D2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222C2A2D2D2A2A
|
||||
2D2D2D2D2D2D2D2D2D2D2D2A2D2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222C2A
|
||||
2C2D2C2D2D2A2A2A2A2D2D2A2D2D2A2A2D2E2E2E2E2E2E2E2E2E2E2E2E2E222C
|
||||
0A222C2A2A2C2D2D2A2A2A2A2A2D2D2A2D2D2A2A2D2E2E2E2E2E2E2E2E2E2E2E
|
||||
2E2E222C0A222C2A2A2A2A2A2A2A2A2A2A2D2D2A2D2D2A2A2D2E2E2E2E2E2E2E
|
||||
2E2E2E2E2E2E222C0A222C2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2D2E2E2E
|
||||
2E2E2E2E2E2E2E2E2E2E222C0A222C2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A
|
||||
2D2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222D2D2D2D2D2D2D2D2D2D2D2D2D2D
|
||||
2D2D2D2D2D2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A
|
||||
055449636F6EBE1000000000010001002020000001002000A810000016000000
|
||||
2800000020000000400000000100200000000000001000006400000064000000
|
||||
0000000000000000000000FF000000FF000000FF000000FF000000FF000000FF
|
||||
000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF
|
||||
000000FF000000FF000000FF000000FF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FFFFFFFFFF
|
||||
000000FF000000FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFFFFFFFFFF808080FF000000FF000000FF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FFFFFFFFFF
|
||||
000000FF000000FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFF808080FF000000FF808080FF000000FF
|
||||
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FFFFFFFFFF
|
||||
000000FF000000FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFF000000FF000000FFFFFFFFFFFFFFFFFF
|
||||
000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF
|
||||
000000FF000000FF000000FFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFF000000FF000000FFFFFFFFFFFFFFFFFF
|
||||
000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF
|
||||
000000FF000000FF000000FFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFF808080FF000000FF808080FF000000FF
|
||||
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFFFFFFFFFF808080FF000000FF000000FF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000808080FF808080FF808080FF808080FF808080FF808080FF
|
||||
808080FF808080FF808080FF808080FF808080FF808080FF808080FF808080FF
|
||||
808080FF808080FF808080FF808080FF000000FF000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000
|
||||
}
|
||||
end
|
||||
object HintLabel: TLabel
|
||||
Left = 64
|
||||
Height = 13
|
||||
Top = 31
|
||||
Width = 285
|
||||
AutoSize = False
|
||||
AnchorSideLeft.Control = AppIcon
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 44
|
||||
Height = 18
|
||||
Top = 6
|
||||
Width = 405
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'HintLabel'
|
||||
ParentColor = False
|
||||
ShowAccelChar = False
|
||||
end
|
||||
object UserNameLabel: TLabel
|
||||
Left = 64
|
||||
Height = 13
|
||||
Top = 64
|
||||
Width = 105
|
||||
AutoSize = False
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = UserNameEdit
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 63
|
||||
Width = 70
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'UserName'
|
||||
FocusControl = UserNameEdit
|
||||
ParentColor = False
|
||||
end
|
||||
object PasswordLabel: TLabel
|
||||
Left = 64
|
||||
Height = 13
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = PasswordEdit
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 96
|
||||
Width = 105
|
||||
AutoSize = False
|
||||
Width = 60
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'Password'
|
||||
FocusControl = PasswordEdit
|
||||
ParentColor = False
|
||||
end
|
||||
object AppTitleLabel: TLabel
|
||||
Left = 64
|
||||
Height = 13
|
||||
Top = 12
|
||||
Width = 285
|
||||
AutoSize = False
|
||||
AnchorSideLeft.Control = AppIcon
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = HintLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 44
|
||||
Height = 18
|
||||
Top = 30
|
||||
Width = 405
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'AppTitleLabel'
|
||||
ParentColor = False
|
||||
ShowAccelChar = False
|
||||
end
|
||||
object CustomLabel: TLabel
|
||||
Left = 64
|
||||
Height = 13
|
||||
Top = 128
|
||||
Width = 105
|
||||
AutoSize = False
|
||||
object DataBaseLabel: TLabel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = CustomCombo
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 18
|
||||
Top = 133
|
||||
Width = 63
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
Caption = 'Database'
|
||||
FocusControl = CustomCombo
|
||||
ParentColor = False
|
||||
end
|
||||
object UserNameEdit: TEdit
|
||||
AnchorSideLeft.Control = UserNameLabel
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = AppTitleLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Cursor = crIBeam
|
||||
Left = 172
|
||||
Height = 21
|
||||
Top = 60
|
||||
Width = 169
|
||||
Left = 94
|
||||
Height = 27
|
||||
Top = 54
|
||||
Width = 355
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 12
|
||||
BorderSpacing.Around = 6
|
||||
TabOrder = 0
|
||||
Text = '1'
|
||||
end
|
||||
object PasswordEdit: TEdit
|
||||
AnchorSideLeft.Control = UserNameEdit
|
||||
AnchorSideTop.Control = UserNameEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = UserNameEdit
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Cursor = crIBeam
|
||||
Left = 172
|
||||
Height = 21
|
||||
Top = 92
|
||||
Width = 169
|
||||
Left = 94
|
||||
Height = 27
|
||||
Top = 87
|
||||
Width = 355
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoSize = True
|
||||
BorderSpacing.Top = 6
|
||||
EchoMode = emPassword
|
||||
PasswordChar = '*'
|
||||
TabOrder = 1
|
||||
end
|
||||
object OkBtn: TButton
|
||||
Left = 356
|
||||
Height = 25
|
||||
Top = 12
|
||||
Width = 77
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = 'OK'
|
||||
Default = True
|
||||
OnClick = OkBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object CancelBtn: TButton
|
||||
Left = 356
|
||||
Height = 25
|
||||
Top = 44
|
||||
Width = 77
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
ModalResult = 2
|
||||
TabOrder = 4
|
||||
Text = '1'
|
||||
end
|
||||
object CustomCombo: TComboBox
|
||||
Left = 172
|
||||
Height = 21
|
||||
Top = 124
|
||||
Width = 169
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 13
|
||||
MaxLength = 0
|
||||
Sorted = True
|
||||
AnchorSideLeft.Control = UserNameEdit
|
||||
AnchorSideTop.Control = PasswordEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = UserNameEdit
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 94
|
||||
Height = 31
|
||||
Top = 120
|
||||
Width = 355
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoComplete = False
|
||||
BorderSpacing.Top = 6
|
||||
ItemHeight = 0
|
||||
ItemWidth = 0
|
||||
Style = csDropDownList
|
||||
TabOrder = 2
|
||||
end
|
||||
object btnOK: TBitBtn
|
||||
AnchorSideLeft.Control = PasswordEdit
|
||||
AnchorSideTop.Control = btnCancel
|
||||
AnchorSideRight.Control = btnCancel
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 190
|
||||
Height = 38
|
||||
Top = 159
|
||||
Width = 60
|
||||
Anchors = [akTop, akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Right = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '&ОК'
|
||||
Default = True
|
||||
Kind = bkOK
|
||||
ModalResult = 1
|
||||
OnClick = btnOKClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object btnCancel: TBitBtn
|
||||
AnchorSideTop.Control = CustomCombo
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = btnHelp
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 256
|
||||
Height = 38
|
||||
Top = 159
|
||||
Width = 93
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Cancel = True
|
||||
Caption = 'Отмена'
|
||||
Kind = bkCancel
|
||||
ModalResult = 2
|
||||
TabOrder = 4
|
||||
end
|
||||
object btnHelp: TBitBtn
|
||||
AnchorSideTop.Control = btnCancel
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 355
|
||||
Height = 38
|
||||
Top = 159
|
||||
Width = 94
|
||||
Anchors = [akTop, akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Right = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
Caption = '&Справка'
|
||||
Kind = bkHelp
|
||||
TabOrder = 5
|
||||
end
|
||||
object btnMore: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = btnCancel
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 38
|
||||
Top = 159
|
||||
Width = 73
|
||||
Anchors = [akTop, akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
Caption = 'More >>'
|
||||
OnClick = btnMoreClick
|
||||
TabOrder = 6
|
||||
end
|
||||
end
|
||||
|
@ -1,56 +1,220 @@
|
||||
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
|
||||
|
||||
LazarusResources.Add('TRxLoginForm','FORMDATA',[
|
||||
'TPF0'#12'TRxLoginForm'#11'RxLoginForm'#6'Cursor'#7#7'crArrow'#4'Left'#3#230#0
|
||||
+#6'Height'#3#159#0#3'Top'#3#141#0#5'Width'#3#186#1#18'HorzScrollBar.Page'#3
|
||||
+#185#1#18'VertScrollBar.Page'#3#158#0#11'BorderIcons'#11#0#11'BorderStyle'#7
|
||||
+#8'bsDialog'#7'Caption'#6#11'RxLoginForm'#12'ClientHeight'#3#159#0#11'Client'
|
||||
+'Width'#3#186#1#11'Font.Height'#2#245#9'Font.Name'#6#13'MS Sans Serif'#9'For'
|
||||
+'mStyle'#7#11'fsStayOnTop'#8'OnCreate'#7#10'FormCreate'#6'OnShow'#7#8'FormSh'
|
||||
+'ow'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.25'#0#6'TImage'
|
||||
+#7'AppIcon'#4'Left'#2#14#6'Height'#2' '#3'Top'#2#12#5'Width'#2' '#8'AutoSize'
|
||||
+#9#0#0#6'TImage'#8'KeyImage'#4'Left'#2#10#6'Height'#2' '#3'Top'#2#15#5'Width'
|
||||
+#2' '#8'AutoSize'#9#12'Picture.Data'#10#245#4#0#0#5'TIcon'#235#4#0#0'/* XPM '
|
||||
+'*/'#10'static char *graphic[] = {'#10'"32 32 4 1",'#10'". c None",'#10'", c'
|
||||
+' #808080",'#10'"- c #000000",'#10'"* c #FFFFFF",'#10'".....................'
|
||||
+'...........",'#10'"................................",'#10'"................'
|
||||
+'................",'#10'"................................",'#10'"...........'
|
||||
+'.....................",'#10'"................................",'#10'"......'
|
||||
+'..........................",'#10'"................................",'#10'".'
|
||||
+'...............................",'#10'"................................",'
|
||||
+#10'"................................",'#10'"...............................'
|
||||
+'.",'#10'"................................",'#10'"..........................'
|
||||
+'......",'#10'"................................",'#10'".....................'
|
||||
+'...........",'#10'"................................",'#10'"................'
|
||||
+'................",'#10'"................................",'#10'"...........'
|
||||
+'.....................",'#10'",,,,,,,,,,,,,,,,,,-.............",'#10'",*****'
|
||||
+'************-.............",'#10'",**,--************-.............",'#10'",'
|
||||
+'*,-,--***********-.............",'#10'",*--**-----------*-.............",'
|
||||
+#10'",*--**-----------*-.............",'#10'",*,-,--****--*--**-............'
|
||||
+'.",'#10'",**,--*****--*--**-.............",'#10'",**********--*--**-.......'
|
||||
+'......",'#10'",*****************-.............",'#10'",*****************-..'
|
||||
+'...........",'#10'"-------------------............."}'#10#0#0#6'TLabel'#9'H'
|
||||
+'intLabel'#4'Left'#2'@'#6'Height'#2#13#3'Top'#2#31#5'Width'#3#29#1#8'AutoSiz'
|
||||
+'e'#8#11'ParentColor'#8#13'ShowAccelChar'#8#0#0#6'TLabel'#13'UserNameLabel'#4
|
||||
+'Left'#2'@'#6'Height'#2#13#3'Top'#2'@'#5'Width'#2'i'#8'AutoSize'#8#12'FocusC'
|
||||
+'ontrol'#7#12'UserNameEdit'#11'ParentColor'#8#0#0#6'TLabel'#13'PasswordLabel'
|
||||
+#4'Left'#2'@'#6'Height'#2#13#3'Top'#2'`'#5'Width'#2'i'#8'AutoSize'#8#12'Focu'
|
||||
+'sControl'#7#12'PasswordEdit'#11'ParentColor'#8#0#0#6'TLabel'#13'AppTitleLab'
|
||||
+'el'#4'Left'#2'@'#6'Height'#2#13#3'Top'#2#12#5'Width'#3#29#1#8'AutoSize'#8#11
|
||||
+'ParentColor'#8#13'ShowAccelChar'#8#0#0#6'TLabel'#11'CustomLabel'#4'Left'#2
|
||||
+'@'#6'Height'#2#13#3'Top'#3#128#0#5'Width'#2'i'#8'AutoSize'#8#12'FocusContro'
|
||||
+'l'#7#11'CustomCombo'#11'ParentColor'#8#0#0#5'TEdit'#12'UserNameEdit'#6'Curs'
|
||||
+'or'#7#7'crIBeam'#4'Left'#3#172#0#6'Height'#2#21#3'Top'#2'<'#5'Width'#3#169#0
|
||||
+#8'TabOrder'#2#0#0#0#5'TEdit'#12'PasswordEdit'#6'Cursor'#7#7'crIBeam'#4'Left'
|
||||
+#3#172#0#6'Height'#2#21#3'Top'#2'\'#5'Width'#3#169#0#8'EchoMode'#7#10'emPass'
|
||||
+'word'#12'PasswordChar'#6#1'*'#8'TabOrder'#2#1#0#0#7'TButton'#5'OkBtn'#4'Lef'
|
||||
+'t'#3'd'#1#6'Height'#2#25#3'Top'#2#12#5'Width'#2'M'#25'BorderSpacing.InnerBo'
|
||||
+'rder'#2#2#7'Caption'#6#2'OK'#7'Default'#9#7'OnClick'#7#10'OkBtnClick'#8'Tab'
|
||||
+'Order'#2#3#0#0#7'TButton'#9'CancelBtn'#4'Left'#3'd'#1#6'Height'#2#25#3'Top'
|
||||
+#2','#5'Width'#2'M'#25'BorderSpacing.InnerBorder'#2#2#6'Cancel'#9#7'Caption'
|
||||
+#6#6'Cancel'#11'ModalResult'#2#2#8'TabOrder'#2#4#0#0#9'TComboBox'#11'CustomC'
|
||||
+'ombo'#4'Left'#3#172#0#6'Height'#2#21#3'Top'#2'|'#5'Width'#3#169#0#16'AutoCo'
|
||||
+'mpleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'Ite'
|
||||
+'mHeight'#2#13#9'MaxLength'#2#0#6'Sorted'#9#5'Style'#7#14'csDropDownList'#8
|
||||
+'TabOrder'#2#2#0#0#0
|
||||
'TPF0'#12'TRxLoginForm'#11'RxLoginForm'#6'Cursor'#7#7'crArrow'#4'Left'#3#202#1
|
||||
+#6'Height'#3#203#0#3'Top'#3#193#0#5'Width'#3#199#1#13'ActiveControl'#7#12'Us'
|
||||
+'erNameEdit'#11'BorderIcons'#11#12'biSystemMenu'#6'biHelp'#0#7'Caption'#6#11
|
||||
+'RxLoginForm'#12'ClientHeight'#3#203#0#11'ClientWidth'#3#199#1#9'FormStyle'#7
|
||||
+#11'fsStayOnTop'#8'OnCreate'#7#10'FormCreate'#6'OnShow'#7#8'FormShow'#8'Posi'
|
||||
+'tion'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.27'#0#6'TImage'#7'AppIcon'
|
||||
+#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4
|
||||
+'Left'#2#6#6'Height'#2' '#3'Top'#2#6#5'Width'#2' '#8'AutoSize'#9#20'BorderSp'
|
||||
+'acing.Around'#2#6#0#0#6'TImage'#8'KeyImage'#22'AnchorSideLeft.Control'#7#5
|
||||
+'Owner'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2#6#6'Height'#2' '#3'To'
|
||||
+'p'#2#6#5'Width'#2' '#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#12'Picture.'
|
||||
+'Data'#10#200#16#0#0#5'TIcon'#190#16#0#0#0#0#1#0#1#0' '#0#0#1#0' '#0#168#16
|
||||
+#0#0#22#0#0#0'('#0#0#0' '#0#0#0'@'#0#0#0#1#0' '#0#0#0#0#0#0#16#0#0'd'#0#0#0
|
||||
+'d'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
|
||||
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#128#128#128#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#0#0#0#255#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#255#255#255
|
||||
+#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128
|
||||
+#255#255#255#255#255#255#255#255#255#128#128#128#255#0#0#0#255#0#0#0#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#0#0#0#255#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#255#255#255#255#255#255
|
||||
+#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128#255#255#255
|
||||
+#255#255#128#128#128#255#0#0#0#255#128#128#128#255#0#0#0#255#0#0#0#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0
|
||||
+#255#255#255#255#255#0#0#0#255#0#0#0#255#255#255#255#255#255#255#255#255#0#0
|
||||
+#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128#255#255#255#255#255#0#0#0#255
|
||||
+#0#0#0#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0
|
||||
+#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255
|
||||
+#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128#255#255
|
||||
+#255#255#255#0#0#0#255#0#0#0#255#255#255#255#255#255#255#255#255#0#0#0#255#0
|
||||
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
|
||||
+#255#0#0#0#255#0#0#0#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#128#128#128#255#255#255#255#255#128#128#128#255#0#0#0#255#128#128#128#255
|
||||
+#0#0#0#255#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#128#128#128#255#255#255#255#255#255#255#255#255#128#128#128#255#0#0#0
|
||||
+#255#0#0#0#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#128#128#128#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
,#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
|
||||
+#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#128#128#255#128#128#128#255
|
||||
+#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128
|
||||
+#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128
|
||||
+#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128#128#128#255#128
|
||||
+#128#128#255#128#128#128#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
|
||||
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#6'TLabel'#9'HintLabel'#22
|
||||
+'AnchorSideLeft.Control'#7#7'AppIcon'#19'AnchorSideLeft.Side'#7#9'asrBottom'
|
||||
+#21'AnchorSideTop.Control'#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'
|
||||
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2','#6'Height'#2#18#3'Top'#2
|
||||
+#6#5'Width'#3#149#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderS'
|
||||
+'pacing.Around'#2#6#7'Caption'#6#9'HintLabel'#11'ParentColor'#8#13'ShowAccel'
|
||||
+'Char'#8#0#0#6'TLabel'#13'UserNameLabel'#22'AnchorSideLeft.Control'#7#5'Owne'
|
||||
+'r'#24'AnchorSideBottom.Control'#7#12'UserNameEdit'#21'AnchorSideBottom.Side'
|
||||
+#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#18#3'Top'#2'?'#5'Width'#2'F'#7'Ancho'
|
||||
+'rs'#11#6'akLeft'#8'akBottom'#0#18'BorderSpacing.Left'#2#6#7'Caption'#6#8'Us'
|
||||
+'erName'#12'FocusControl'#7#12'UserNameEdit'#11'ParentColor'#8#0#0#6'TLabel'
|
||||
+#13'PasswordLabel'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBottom'
|
||||
+'.Control'#7#12'PasswordEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Lef'
|
||||
+'t'#2#6#6'Height'#2#18#3'Top'#2'`'#5'Width'#2'<'#7'Anchors'#11#6'akLeft'#8'a'
|
||||
+'kBottom'#0#18'BorderSpacing.Left'#2#6#7'Caption'#6#8'Password'#12'FocusCont'
|
||||
+'rol'#7#12'PasswordEdit'#11'ParentColor'#8#0#0#6'TLabel'#13'AppTitleLabel'#22
|
||||
+'AnchorSideLeft.Control'#7#7'AppIcon'#19'AnchorSideLeft.Side'#7#9'asrBottom'
|
||||
+#21'AnchorSideTop.Control'#7#9'HintLabel'#18'AnchorSideTop.Side'#7#9'asrBott'
|
||||
+'om'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asr'
|
||||
+'Bottom'#4'Left'#2','#6'Height'#2#18#3'Top'#2#30#5'Width'#3#149#1#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6
|
||||
+#13'AppTitleLabel'#11'ParentColor'#8#13'ShowAccelChar'#8#0#0#6'TLabel'#13'Da'
|
||||
+'taBaseLabel'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBottom.Cont'
|
||||
+'rol'#7#11'CustomCombo'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6
|
||||
+#6'Height'#2#18#3'Top'#3#133#0#5'Width'#2'?'#7'Anchors'#11#6'akLeft'#8'akBot'
|
||||
+'tom'#0#18'BorderSpacing.Left'#2#6#7'Caption'#6#8'Database'#12'FocusControl'
|
||||
+#7#11'CustomCombo'#11'ParentColor'#8#0#0#5'TEdit'#12'UserNameEdit'#22'Anchor'
|
||||
+'SideLeft.Control'#7#13'UserNameLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'
|
||||
+#21'AnchorSideTop.Control'#7#13'AppTitleLabel'#18'AnchorSideTop.Side'#7#9'as'
|
||||
+'rBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
|
||||
+'asrBottom'#6'Cursor'#7#7'crIBeam'#4'Left'#2'^'#6'Height'#2#27#3'Top'#2'6'#5
|
||||
+'Width'#3'c'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#18
|
||||
+'BorderSpacing.Left'#2#12#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Tex'
|
||||
+'t'#6#1'1'#0#0#5'TEdit'#12'PasswordEdit'#22'AnchorSideLeft.Control'#7#12'Use'
|
||||
+'rNameEdit'#21'AnchorSideTop.Control'#7#12'UserNameEdit'#18'AnchorSideTop.Si'
|
||||
+'de'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#12'UserNameEdit'#20'Anchor'
|
||||
+'SideRight.Side'#7#9'asrBottom'#6'Cursor'#7#7'crIBeam'#4'Left'#2'^'#6'Height'
|
||||
+#2#27#3'Top'#2'W'#5'Width'#3'c'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
|
||||
+#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#8'EchoMode'#7#10'emPassword'#12'P'
|
||||
+'asswordChar'#6#1'*'#8'TabOrder'#2#1#4'Text'#6#1'1'#0#0#9'TComboBox'#11'Cust'
|
||||
+'omCombo'#22'AnchorSideLeft.Control'#7#12'UserNameEdit'#21'AnchorSideTop.Con'
|
||||
+'trol'#7#12'PasswordEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSid'
|
||||
+'eRight.Control'#7#12'UserNameEdit'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
|
||||
+'Left'#2'^'#6'Height'#2#31#3'Top'#2'x'#5'Width'#3'c'#1#7'Anchors'#11#5'akTop'
|
||||
+#6'akLeft'#7'akRight'#0#12'AutoComplete'#8#17'BorderSpacing.Top'#2#6#10'Item'
|
||||
+'Height'#2#0#9'ItemWidth'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#2#0
|
||||
+#0#7'TBitBtn'#5'btnOK'#22'AnchorSideLeft.Control'#7#12'PasswordEdit'#21'Anch'
|
||||
+'orSideTop.Control'#7#9'btnCancel'#23'AnchorSideRight.Control'#7#9'btnCancel'
|
||||
+#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBo'
|
||||
+'ttom'#4'Left'#3#190#0#6'Height'#2'&'#3'Top'#3#159#0#5'Width'#2'<'#7'Anchors'
|
||||
,#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2
|
||||
+#6#20'BorderSpacing.Bottom'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'
|
||||
+#6#5'&'#208#158#208#154#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#7
|
||||
+'OnClick'#7#10'btnOKClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#9'btnCancel'#21'An'
|
||||
+'chorSideTop.Control'#7#11'CustomCombo'#18'AnchorSideTop.Side'#7#9'asrBottom'
|
||||
+#23'AnchorSideRight.Control'#7#7'btnHelp'#24'AnchorSideBottom.Control'#7#5'O'
|
||||
+'wner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#0#1#6'Height'#2'&'
|
||||
+#3'Top'#3#159#0#5'Width'#2']'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoS'
|
||||
+'ize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#2#6'Can'
|
||||
+'cel'#9#7'Caption'#6#12#208#158#209#130#208#188#208#181#208#189#208#176#4'Ki'
|
||||
+'nd'#7#8'bkCancel'#11'ModalResult'#2#2#8'TabOrder'#2#4#0#0#7'TBitBtn'#7'btnH'
|
||||
+'elp'#21'AnchorSideTop.Control'#7#9'btnCancel'#23'AnchorSideRight.Control'#7
|
||||
+#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Contro'
|
||||
+'l'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'c'#1#6'Hei'
|
||||
+'ght'#2'&'#3'Top'#3#159#0#5'Width'#2'^'#7'Anchors'#11#5'akTop'#7'akRight'#8
|
||||
+'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#6#20'BorderSpacing.Bott'
|
||||
+'om'#2#6#7'Caption'#6#15'&'#208#161#208#191#209#128#208#176#208#178#208#186
|
||||
+#208#176#4'Kind'#7#6'bkHelp'#8'TabOrder'#2#5#0#0#7'TBitBtn'#7'btnMore'#22'An'
|
||||
+'chorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'btnCancel'#24
|
||||
+'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBotto'
|
||||
+'m'#4'Left'#2#6#6'Height'#2'&'#3'Top'#3#159#0#5'Width'#2'I'#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#20
|
||||
+'BorderSpacing.Bottom'#2#6#7'Caption'#6#7'More >>'#7'OnClick'#7#12'btnMoreCl'
|
||||
+'ick'#8'TabOrder'#2#6#0#0#0
|
||||
]);
|
||||
|
@ -18,6 +18,15 @@ uses LResources, LCLType, LCLIntf, SysUtils, LMessages, Classes, Graphics,
|
||||
|
||||
type
|
||||
TUpdateCaption = (ucNoChange, ucAppTitle, ucFormCaption);
|
||||
|
||||
TRxLoginOption = (rloCustomSelect, rloMoreBtn, rloHelpBtn);
|
||||
|
||||
TRxLoginOptions = set of TRxLoginOption;
|
||||
|
||||
TRxLoginStorageParam = (rlsUserName, rlsTop, rlsLeft, rlsDetailStatus,
|
||||
rlsDetailItem);
|
||||
TRxLoginStorageParams = set of TRxLoginStorageParam;
|
||||
|
||||
TRxLoginEvent = procedure(Sender: TObject; const UserName, Password: string;
|
||||
var AllowLogin: Boolean) of object;
|
||||
TCheckUnlockEvent = function(const Password: string): Boolean of object;
|
||||
@ -32,11 +41,16 @@ type
|
||||
private
|
||||
FActive: Boolean;
|
||||
FAttemptNumber: Integer;
|
||||
FLoggedUser: {$IFDEF RX_D3}String{$ELSE}PString{$ENDIF};
|
||||
FDetailItem: integer;
|
||||
FDetailItems: TStrings;
|
||||
FLoggedUser: string;
|
||||
FMaxPasswordLen: Integer;
|
||||
FAllowEmpty: Boolean;
|
||||
FLoginOptions: TRxLoginOptions;
|
||||
FShowDetails: boolean;
|
||||
FStorageParams: TRxLoginStorageParams;
|
||||
FUpdateCaption: TUpdateCaption;
|
||||
FIniFileName: {$IFDEF RX_D3}String{$ELSE}PString{$ENDIF};
|
||||
FIniFileName: string;
|
||||
FUseRegistry: Boolean;
|
||||
FLocked: Boolean;
|
||||
FUnlockDlgShowing: Boolean;
|
||||
@ -46,11 +60,10 @@ type
|
||||
FOnUnlock: TCheckUnlockEvent;
|
||||
FOnUnlockApp: TUnlockAppEvent;
|
||||
FOnIconDblClick: TNotifyEvent;
|
||||
{$IFNDEF RX_D3}
|
||||
function GetLoggedUser: string;
|
||||
procedure SetIniFileName(const Value: string);
|
||||
{$ENDIF}
|
||||
function GetIniFileName: string;
|
||||
procedure SetDetailItems(const AValue: TStrings);
|
||||
procedure SetLoginOptions(const AValue: TRxLoginOptions);
|
||||
procedure SetShowDetails(const AValue: boolean);
|
||||
function UnlockHook(var Message: TLMessage): Boolean;
|
||||
protected
|
||||
function CheckUnlock(const UserName, Password: string): Boolean; dynamic;
|
||||
@ -66,10 +79,16 @@ type
|
||||
property Active: Boolean read FActive write FActive default True;
|
||||
property AllowEmptyPassword: Boolean read FAllowEmpty write FAllowEmpty default True;
|
||||
property AttemptNumber: Integer read FAttemptNumber write FAttemptNumber default 3;
|
||||
property IniFileName: string read GetIniFileName write {$IFDEF RX_D3}FIniFileName{$ELSE}SetIniFileName{$ENDIF};
|
||||
property IniFileName: string read GetIniFileName write FIniFileName;
|
||||
property MaxPasswordLen: Integer read FMaxPasswordLen write FMaxPasswordLen default 0;
|
||||
property UpdateCaption: TUpdateCaption read FUpdateCaption write FUpdateCaption default ucNoChange;
|
||||
property UseRegistry: Boolean read FUseRegistry write FUseRegistry default False;
|
||||
property ShowDetails: boolean read FShowDetails write SetShowDetails;
|
||||
property StorageParams:TRxLoginStorageParams read FStorageParams write FStorageParams default [rlsUserName];
|
||||
property DetailItems:TStrings read FDetailItems write SetDetailItems;
|
||||
property DetailItem:integer read FDetailItem write FDetailItem;
|
||||
property LoginOptions:TRxLoginOptions read FLoginOptions write SetLoginOptions default [rloCustomSelect, rloMoreBtn, rloHelpBtn];
|
||||
|
||||
property AfterLogin: TNotifyEvent read FAfterLogin write FAfterLogin;
|
||||
property BeforeLogin: TNotifyEvent read FBeforeLogin write FBeforeLogin;
|
||||
property OnUnlock: TCheckUnlockEvent read FOnUnlock write FOnUnlock; { obsolete }
|
||||
@ -81,7 +100,7 @@ type
|
||||
function Login: Boolean; virtual;
|
||||
procedure TerminateApplication;
|
||||
procedure Lock;
|
||||
property LoggedUser: string read {$IFDEF RX_D3}FLoggedUser{$ELSE}GetLoggedUser{$ENDIF};
|
||||
property LoggedUser: string read FLoggedUser;
|
||||
end;
|
||||
|
||||
{ TRxLoginDialog }
|
||||
@ -89,9 +108,12 @@ type
|
||||
TRxLoginDialog = class(TRxCustomLogin)
|
||||
private
|
||||
FOnCheckUser: TRxLoginEvent;
|
||||
FUserName:string;
|
||||
FFormTop:integer;
|
||||
FFormLeft:integer;
|
||||
procedure OkButtonClick(Sender: TObject);
|
||||
procedure WriteUserName(const UserName: string);
|
||||
function ReadUserName(const UserName: string): string;
|
||||
procedure WriteParams;
|
||||
procedure LoadParams;
|
||||
protected
|
||||
function DoCheckUser(const UserName, Password: string): Boolean; dynamic;
|
||||
function DoLogin(var UserName: string): Boolean; override;
|
||||
@ -100,9 +122,14 @@ type
|
||||
property Active;
|
||||
property AttemptNumber;
|
||||
property IniFileName;
|
||||
property DetailItems;
|
||||
property DetailItem;
|
||||
property MaxPasswordLen;
|
||||
property UpdateCaption;
|
||||
property UseRegistry;
|
||||
property ShowDetails;
|
||||
property LoginOptions;
|
||||
property StorageParams;
|
||||
property OnCheckUser: TRxLoginEvent read FOnCheckUser write FOnCheckUser;
|
||||
property AfterLogin;
|
||||
property BeforeLogin;
|
||||
@ -114,27 +141,32 @@ type
|
||||
|
||||
TRxLoginForm = class(TForm)
|
||||
AppIcon: TImage;
|
||||
btnHelp: TBitBtn;
|
||||
btnMore: TBitBtn;
|
||||
btnCancel: TBitBtn;
|
||||
KeyImage: TImage;
|
||||
HintLabel: TLabel;
|
||||
btnOK: TBitBtn;
|
||||
UserNameLabel: TLabel;
|
||||
PasswordLabel: TLabel;
|
||||
UserNameEdit: TEdit;
|
||||
PasswordEdit: TEdit;
|
||||
AppTitleLabel: TLabel;
|
||||
OkBtn: TButton;
|
||||
CancelBtn: TButton;
|
||||
CustomLabel: TLabel;
|
||||
DataBaseLabel: TLabel;
|
||||
CustomCombo: TComboBox;
|
||||
procedure btnMoreClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure OkBtnClick(Sender: TObject);
|
||||
procedure btnOKClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
FSelectDatabase: Boolean;
|
||||
FUnlockMode: Boolean;
|
||||
FAttempt: Integer;
|
||||
FOnFormShow: TNotifyEvent;
|
||||
FOnOkClick: TNotifyEvent;
|
||||
function GetShowDetailParams: boolean;
|
||||
procedure SetLoginOptions(const AValue: TRxLoginOptions);
|
||||
procedure SetShowDetailParams(const AValue: boolean);
|
||||
public
|
||||
{ Public declarations }
|
||||
AttemptNumber: Integer;
|
||||
@ -142,6 +174,8 @@ type
|
||||
property SelectDatabase: Boolean read FSelectDatabase write FSelectDatabase;
|
||||
property OnFormShow: TNotifyEvent read FOnFormShow write FOnFormShow;
|
||||
property OnOkClick: TNotifyEvent read FOnOkClick write FOnOkClick;
|
||||
property ShowDetailParams:boolean read GetShowDetailParams write SetShowDetailParams;
|
||||
property LoginOptions:TRxLoginOptions write SetLoginOptions;
|
||||
end;
|
||||
|
||||
function CreateLoginDialog(UnlockMode, ASelectDatabase: Boolean;
|
||||
@ -149,25 +183,33 @@ function CreateLoginDialog(UnlockMode, ASelectDatabase: Boolean;
|
||||
|
||||
implementation
|
||||
|
||||
uses {$IFDEF WIN32} Registry, {$ENDIF} IniFiles, RxAppUtils, RxDConst,
|
||||
VclUtils, RxConst;
|
||||
uses
|
||||
Registry, IniFiles, RxAppUtils, RxDConst, VclUtils, RxConst;
|
||||
|
||||
const
|
||||
keyLoginSection = 'Login Dialog';
|
||||
keyLastLoginUserName = 'Last Logged User';
|
||||
keyLoginSection = 'Login Dialog';
|
||||
keyLastLoginUserName = 'Last Logged User';
|
||||
keyLastLoginFormTop = 'Last Logged Form Top';
|
||||
keyLastLoginFormLeft = 'Last Logged Form Left';
|
||||
keyLastLoginFormDetailStatus = 'Last Logged Detail Status';
|
||||
keyLastLoginFormDetailSelected = 'Last Logged Selected Detail';
|
||||
|
||||
|
||||
function CreateLoginDialog(UnlockMode, ASelectDatabase: Boolean;
|
||||
FormShowEvent, OkClickEvent: TNotifyEvent): TRxLoginForm;
|
||||
begin
|
||||
Result := TRxLoginForm.Create(Application);
|
||||
with Result do begin
|
||||
with Result do
|
||||
begin
|
||||
FSelectDatabase := ASelectDatabase;
|
||||
FUnlockMode := UnlockMode;
|
||||
if FUnlockMode then begin
|
||||
if FUnlockMode then
|
||||
begin
|
||||
FormStyle := fsNormal;
|
||||
FSelectDatabase := False;
|
||||
end
|
||||
else begin
|
||||
else
|
||||
begin
|
||||
FormStyle := fsStayOnTop;
|
||||
end;
|
||||
OnFormShow := FormShowEvent;
|
||||
@ -180,14 +222,13 @@ end;
|
||||
constructor TRxCustomLogin.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
{$IFNDEF RX_D3}
|
||||
FIniFileName := NullStr;
|
||||
FLoggedUser := NullStr;
|
||||
{$ENDIF}
|
||||
FDetailItems:=TStringList.Create;
|
||||
FActive := True;
|
||||
FAttemptNumber := 3;
|
||||
FAllowEmpty := True;
|
||||
FUseRegistry := False;
|
||||
FStorageParams:=[rlsUserName];
|
||||
FLoginOptions:=[rloCustomSelect, rloMoreBtn, rloHelpBtn];
|
||||
end;
|
||||
|
||||
destructor TRxCustomLogin.Destroy;
|
||||
@ -197,45 +238,43 @@ begin
|
||||
// Application.UnhookMainWindow(UnlockHook);
|
||||
FLocked := False;
|
||||
end;
|
||||
{$IFNDEF RX_D3}
|
||||
DisposeStr(FLoggedUser);
|
||||
DisposeStr(FIniFileName);
|
||||
{$ENDIF}
|
||||
FreeAndNil(FDetailItems);
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TRxCustomLogin.GetIniFileName: string;
|
||||
begin
|
||||
Result := FIniFileName{$IFNDEF RX_D3}^{$ENDIF};
|
||||
if (Result = '') and not (csDesigning in ComponentState) then begin
|
||||
{$IFDEF WIN32}
|
||||
if UseRegistry then Result := GetDefaultIniRegKey
|
||||
else Result := GetDefaultIniName;
|
||||
{$ELSE}
|
||||
Result := GetDefaultIniName;
|
||||
{$ENDIF}
|
||||
Result := FIniFileName;
|
||||
if (Result = '') and not (csDesigning in ComponentState) then
|
||||
begin
|
||||
if UseRegistry then
|
||||
Result := GetDefaultIniRegKey
|
||||
else
|
||||
Result := GetDefaultIniName;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$IFNDEF RX_D3}
|
||||
procedure TRxCustomLogin.SetIniFileName(const Value: string);
|
||||
procedure TRxCustomLogin.SetDetailItems(const AValue: TStrings);
|
||||
begin
|
||||
AssignStr(FIniFileName, Value);
|
||||
if Assigned(AValue) then
|
||||
FDetailItems.Assign(AValue);
|
||||
end;
|
||||
|
||||
function TRxCustomLogin.GetLoggedUser: string;
|
||||
procedure TRxCustomLogin.SetLoginOptions(const AValue: TRxLoginOptions);
|
||||
begin
|
||||
Result := FLoggedUser^;
|
||||
if FLoginOptions=AValue then exit;
|
||||
FLoginOptions:=AValue;
|
||||
end;
|
||||
|
||||
procedure TRxCustomLogin.SetShowDetails(const AValue: boolean);
|
||||
begin
|
||||
if FShowDetails=AValue then exit;
|
||||
FShowDetails:=AValue;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
procedure TRxCustomLogin.SetLoggedUser(const Value: string);
|
||||
begin
|
||||
{$IFDEF RX_D3}
|
||||
FLoggedUser := Value;
|
||||
{$ELSE}
|
||||
AssignStr(FLoggedUser, Value);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TRxCustomLogin.DoAfterLogin;
|
||||
@ -278,7 +317,8 @@ begin
|
||||
LoginName := EmptyStr;
|
||||
DoBeforeLogin;
|
||||
Result := DoLogin(LoginName);
|
||||
if Result then begin
|
||||
if Result then
|
||||
begin
|
||||
SetLoggedUser(LoginName);
|
||||
DoUpdateCaption;
|
||||
DoAfterLogin;
|
||||
@ -334,14 +374,18 @@ end;
|
||||
function TRxCustomLogin.CreateLoginForm(UnlockMode: Boolean): TRxLoginForm;
|
||||
begin
|
||||
Result := TRxLoginForm.Create(Application);
|
||||
with Result do begin
|
||||
with Result do
|
||||
begin
|
||||
FUnlockMode := UnlockMode;
|
||||
if FUnlockMode then begin
|
||||
if FUnlockMode then
|
||||
begin
|
||||
FormStyle := fsNormal;
|
||||
FSelectDatabase := False;
|
||||
end
|
||||
else FormStyle := fsStayOnTop;
|
||||
if Assigned(Self.FOnIconDblClick) then begin
|
||||
else
|
||||
FormStyle := fsStayOnTop;
|
||||
if Assigned(Self.FOnIconDblClick) then
|
||||
begin
|
||||
with AppIcon do
|
||||
begin
|
||||
OnDblClick := @DoIconDblClick;
|
||||
@ -399,7 +443,7 @@ function TRxCustomLogin.UnlockHook(var Message: TLMessage): Boolean;
|
||||
{$ELSE}
|
||||
BringWindowToTop(Popup);
|
||||
{$ENDIF}
|
||||
end; *)
|
||||
end; //*)
|
||||
Result := False;
|
||||
(* Exit;
|
||||
end;
|
||||
@ -429,8 +473,8 @@ begin
|
||||
UnlockHook := not DoUnlock;
|
||||
end;
|
||||
LM_SYSCOMMAND:
|
||||
if (WParam and $FFF0 = SC_RESTORE) {or
|
||||
(WParam and $FFF0 = SC_ZOOM) }then
|
||||
if (WParam and $FFF0 = SC_RESTORE)
|
||||
{ or (WParam and $FFF0 = SC_ZOOM) }then
|
||||
begin
|
||||
UnlockHook := not DoUnlock;
|
||||
end;
|
||||
@ -446,7 +490,8 @@ var
|
||||
begin
|
||||
FLoading := csLoading in ComponentState;
|
||||
inherited Loaded;
|
||||
if not (csDesigning in ComponentState) and FLoading then begin
|
||||
if not (csDesigning in ComponentState) and FLoading then
|
||||
begin
|
||||
if Active and not Login then
|
||||
TerminateApplication;
|
||||
end;
|
||||
@ -464,7 +509,8 @@ begin
|
||||
SC := True;
|
||||
{$ENDIF}
|
||||
try
|
||||
if SC then Screen.Cursor := crHourGlass;
|
||||
if SC then
|
||||
Screen.Cursor := crHourGlass;
|
||||
try
|
||||
if DoCheckUser(UserNameEdit.Text, PasswordEdit.Text) then
|
||||
ModalResult := mrOk
|
||||
@ -486,19 +532,24 @@ begin
|
||||
FOnCheckUser(Self, UserName, Password, Result);
|
||||
end;
|
||||
|
||||
procedure TRxLoginDialog.WriteUserName(const UserName: string);
|
||||
procedure TRxLoginDialog.WriteParams;
|
||||
var
|
||||
Ini: TObject;
|
||||
begin
|
||||
try
|
||||
{$IFDEF WIN32}
|
||||
if UseRegistry then Ini := TRegIniFile.Create(IniFileName)
|
||||
else Ini := TIniFile.Create(IniFileName);
|
||||
{$ELSE}
|
||||
Ini := TIniFile.Create(IniFileName);
|
||||
{$ENDIF}
|
||||
try
|
||||
IniWriteString(Ini, keyLoginSection, keyLastLoginUserName, UserName);
|
||||
if rlsUserName in FStorageParams then
|
||||
IniWriteString(Ini, keyLoginSection, keyLastLoginUserName, FUserName);
|
||||
if rlsTop in FStorageParams then
|
||||
IniWriteInteger(Ini, keyLoginSection, keyLastLoginFormTop, FFormTop);
|
||||
if rlsLeft in FStorageParams then
|
||||
IniWriteInteger(Ini, keyLoginSection, keyLastLoginFormLeft, FFormLeft);
|
||||
if rlsDetailStatus in FStorageParams then
|
||||
IniWriteInteger(Ini, keyLoginSection, keyLastLoginFormDetailStatus, ord(FShowDetails));
|
||||
if rlsDetailItem in FStorageParams then
|
||||
IniWriteInteger(Ini, keyLoginSection, keyLastLoginFormDetailSelected, FDetailItem);
|
||||
finally
|
||||
Ini.Free;
|
||||
end;
|
||||
@ -506,50 +557,83 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TRxLoginDialog.ReadUserName(const UserName: string): string;
|
||||
procedure TRxLoginDialog.LoadParams;
|
||||
var
|
||||
Ini: TObject;
|
||||
begin
|
||||
try
|
||||
{$IFDEF WIN32}
|
||||
if UseRegistry then begin
|
||||
if UseRegistry then
|
||||
begin
|
||||
Ini := TRegIniFile.Create(IniFileName);
|
||||
{$IFDEF RX_D5}
|
||||
TRegIniFile(Ini).Access := KEY_READ;
|
||||
{$ENDIF}
|
||||
end
|
||||
else
|
||||
else
|
||||
Ini := TIniFile.Create(IniFileName);
|
||||
{$ELSE}
|
||||
Ini := TIniFile.Create(IniFileName);
|
||||
{$ENDIF}
|
||||
try
|
||||
{ Result := IniReadString(Ini, keyLoginSection, keyLastLoginUserName,
|
||||
UserName);}
|
||||
if rlsUserName in FStorageParams then
|
||||
FUserName:=IniReadString(Ini, keyLoginSection, keyLastLoginUserName, FUserName);
|
||||
if rlsTop in FStorageParams then
|
||||
FFormTop:=IniReadInteger(Ini, keyLoginSection, keyLastLoginFormTop, FFormTop);
|
||||
if rlsLeft in FStorageParams then
|
||||
FFormLeft:=IniReadInteger(Ini, keyLoginSection, keyLastLoginFormLeft, FFormLeft);
|
||||
if rlsDetailStatus in FStorageParams then
|
||||
FShowDetails:=IniReadInteger(Ini, keyLoginSection, keyLastLoginFormDetailStatus, ord(FShowDetails))=1;
|
||||
if rlsDetailItem in FStorageParams then
|
||||
FDetailItem:=IniReadInteger(Ini, keyLoginSection, keyLastLoginFormDetailSelected, FDetailItem);
|
||||
finally
|
||||
Ini.Free;
|
||||
end;
|
||||
except
|
||||
Result := UserName;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TRxLoginDialog.DoLogin(var UserName: string): Boolean;
|
||||
var
|
||||
LoginForm:TRxLoginForm;
|
||||
begin
|
||||
try
|
||||
{ with CreateLoginForm(False) do
|
||||
LoginForm:=CreateLoginForm(False);
|
||||
try
|
||||
OnOkClick := Self.OkButtonClick;
|
||||
UserName := ReadUserName(UserName);
|
||||
UserNameEdit.Text := UserName;
|
||||
Result := (ShowModal = mrOk);
|
||||
if Result then begin
|
||||
UserName := UserNameEdit.Text;
|
||||
WriteUserName(UserName);
|
||||
FUserName:=UserName;
|
||||
LoginForm.OnOkClick := @Self.OkButtonClick;
|
||||
LoadParams;
|
||||
LoginForm.LoginOptions:=FLoginOptions;
|
||||
|
||||
if rlsUserName in StorageParams then
|
||||
LoginForm.UserNameEdit.Text := FUserName;
|
||||
if rlsTop in StorageParams then
|
||||
LoginForm.Top:=FFormTop;
|
||||
if rlsLeft in StorageParams then
|
||||
LoginForm.Left:=FFormLeft;
|
||||
|
||||
if rloCustomSelect in LoginOptions then
|
||||
begin
|
||||
LoginForm.CustomCombo.Items.Assign(DetailItems);
|
||||
if (FDetailItem>=0) and (FDetailItem<DetailItems.Count) then
|
||||
LoginForm.CustomCombo.ItemIndex:=FDetailItem;
|
||||
end;
|
||||
|
||||
LoginForm.ShowDetailParams:=ShowDetails;
|
||||
|
||||
Result := (LoginForm.ShowModal = mrOk);
|
||||
if Result then
|
||||
begin
|
||||
if rlsTop in StorageParams then
|
||||
FFormTop:=LoginForm.Top;
|
||||
if rlsLeft in StorageParams then
|
||||
FFormLeft:=LoginForm.Left;
|
||||
|
||||
if rloCustomSelect in LoginOptions then
|
||||
FDetailItem:=LoginForm.CustomCombo.ItemIndex;
|
||||
|
||||
ShowDetails:=LoginForm.ShowDetailParams;
|
||||
UserName := LoginForm.UserNameEdit.Text;
|
||||
FUserName:=UserName;
|
||||
WriteParams;
|
||||
end;
|
||||
finally
|
||||
Free;
|
||||
end;}
|
||||
LoginForm.Free;
|
||||
end;
|
||||
except
|
||||
Application.HandleException(Self);
|
||||
Result := False;
|
||||
@ -560,17 +644,20 @@ end;
|
||||
|
||||
procedure TRxLoginForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
{ Icon := Application.Icon;
|
||||
if Icon.Empty then Icon.Handle := LoadIcon(0, IDI_APPLICATION);
|
||||
Icon.Assign(Application.Icon);
|
||||
// if Icon.Empty then Icon.Handle := LoadIcon(0, IDI_APPLICATION);
|
||||
AppIcon.Picture.Assign(Icon);
|
||||
AppTitleLabel.Caption := FmtLoadStr(SAppTitleLabel, [Application.Title]);
|
||||
PasswordLabel.Caption := LoadStr(SPasswordLabel);
|
||||
UserNameLabel.Caption := LoadStr(SUserNameLabel);
|
||||
OkBtn.Caption := ResStr(SOKButton);
|
||||
CancelBtn.Caption := ResStr(SCancelButton);}
|
||||
AppTitleLabel.Caption := Format(SAppTitleLabel, [Application.Title]);
|
||||
PasswordLabel.Caption := SPasswordLabel;
|
||||
UserNameLabel.Caption := SUserNameLabel;
|
||||
end;
|
||||
|
||||
procedure TRxLoginForm.OkBtnClick(Sender: TObject);
|
||||
procedure TRxLoginForm.btnMoreClick(Sender: TObject);
|
||||
begin
|
||||
ShowDetailParams:=not ShowDetailParams;
|
||||
end;
|
||||
|
||||
procedure TRxLoginForm.btnOKClick(Sender: TObject);
|
||||
begin
|
||||
Inc(FAttempt);
|
||||
if Assigned(FOnOkClick) then FOnOkClick(Self)
|
||||
@ -584,33 +671,76 @@ var
|
||||
I: Integer;
|
||||
S: string;
|
||||
begin
|
||||
{ if FSelectDatabase then
|
||||
if FSelectDatabase then
|
||||
begin
|
||||
ClientHeight := CustomCombo.Top + PasswordEdit.Top - UserNameEdit.Top;
|
||||
S := LoadStr(SDatabaseName);
|
||||
S := SDatabaseName;
|
||||
I := Pos(':', S);
|
||||
if I = 0 then I := Length(S);
|
||||
CustomLabel.Caption := '&' + Copy(S, 1, I);
|
||||
DataBaseLabel.Caption := '&' + Copy(S, 1, I);
|
||||
end
|
||||
else begin
|
||||
ClientHeight := PasswordEdit.Top + PasswordEdit.Top - UserNameEdit.Top;
|
||||
CustomLabel.Visible := False;
|
||||
else
|
||||
begin
|
||||
DataBaseLabel.Visible := False;
|
||||
CustomCombo.Visible := False;
|
||||
btnMore.Visible := False;
|
||||
end;
|
||||
if not FUnlockMode then begin
|
||||
HintLabel.Caption := LoadStr(SHintLabel);
|
||||
Caption := LoadStr(SRegistration);
|
||||
|
||||
SetShowDetailParams(ShowDetailParams);
|
||||
|
||||
if not FUnlockMode then
|
||||
begin
|
||||
HintLabel.Caption := SHintLabel;
|
||||
Caption := SRegistration;
|
||||
end
|
||||
else begin
|
||||
HintLabel.Caption := LoadStr(SUnlockHint);
|
||||
Caption := LoadStr(SUnlockCaption);
|
||||
else
|
||||
begin
|
||||
HintLabel.Caption := SUnlockHint;
|
||||
Caption := SUnlockCaption;
|
||||
end;
|
||||
|
||||
if (UserNameEdit.Text = EmptyStr) and not FUnlockMode then
|
||||
ActiveControl := UserNameEdit
|
||||
else
|
||||
ActiveControl := PasswordEdit;
|
||||
if Assigned(FOnFormShow) then FOnFormShow(Self);
|
||||
FAttempt := 0;}
|
||||
FAttempt := 0;
|
||||
end;
|
||||
|
||||
procedure TRxLoginForm.SetShowDetailParams(const AValue: boolean);
|
||||
begin
|
||||
DataBaseLabel.Visible:=AValue;
|
||||
CustomCombo.Visible:=AValue;
|
||||
if AValue then
|
||||
begin
|
||||
btnMore.Caption:=SMore2;
|
||||
btnCancel.AnchorSideTop.Control:=CustomCombo;
|
||||
Height := CustomCombo.Top + CustomCombo.Height + btnCancel.Height + 12;
|
||||
end
|
||||
else
|
||||
begin
|
||||
btnMore.Caption:=SMore1;
|
||||
btnCancel.AnchorSideTop.Control:=PasswordEdit;
|
||||
Height := PasswordEdit.Top + PasswordEdit.Height + btnCancel.Height + 12;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TRxLoginForm.GetShowDetailParams: boolean;
|
||||
begin
|
||||
Result:=CustomCombo.Visible;
|
||||
end;
|
||||
|
||||
procedure TRxLoginForm.SetLoginOptions(const AValue: TRxLoginOptions);
|
||||
begin
|
||||
btnHelp.Visible:=rloHelpBtn in AValue;
|
||||
if not btnHelp.Visible then
|
||||
begin
|
||||
btnCancel.AnchorSideLeft.Side:=asrBottom;
|
||||
btnCancel.AnchorSideLeft.Control:=Self;
|
||||
end;
|
||||
|
||||
btnMore.Visible:=rloMoreBtn in AValue;
|
||||
FSelectDatabase:=rloCustomSelect in AValue;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
@ -20,7 +20,7 @@ translate to Lazarus by alexs in 2005 - 2009
|
||||
"/>
|
||||
<License Value="free ware
|
||||
"/>
|
||||
<Version Major="1" Minor="2" Release="1" Build="98"/>
|
||||
<Version Major="1" Minor="2" Release="2" Build="103"/>
|
||||
<Files Count="51">
|
||||
<Item1>
|
||||
<Filename Value="rxlookup.pas"/>
|
||||
@ -226,7 +226,7 @@ translate to Lazarus by alexs in 2005 - 2009
|
||||
</Item50>
|
||||
<Item51>
|
||||
<Filename Value="rxdbctrls.pas"/>
|
||||
<UnitName Value="rxdbctrls"/>
|
||||
<UnitName Value="RxDBCtrls"/>
|
||||
</Item51>
|
||||
</Files>
|
||||
<Type Value="RunAndDesignTime"/>
|
||||
|
Loading…
Reference in New Issue
Block a user