mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
Fix: Bug [ 1658674 ]
Add: Some small optimizations and fixes
This commit is contained in:
parent
02e06a68cb
commit
abbb24a43b
18 changed files with 2443 additions and 2121 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -14,6 +14,11 @@
|
|||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<GenerateDebugInfo Value="True"/>
|
||||
</Debugging>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
|
|
|
|||
108
doublecmd.lpi
108
doublecmd.lpi
|
|
@ -11,7 +11,7 @@
|
|||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=""/>
|
||||
<Title Value="Double Commander"/>
|
||||
<ActiveEditorIndexAtStart Value="1"/>
|
||||
<ActiveEditorIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
|
|
@ -47,13 +47,13 @@
|
|||
<PackageName Value="JPEGForLazarus"/>
|
||||
</Item5>
|
||||
</RequiredPackages>
|
||||
<Units Count="6">
|
||||
<Units Count="5">
|
||||
<Unit0>
|
||||
<Filename Value="doublecmd.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="doublecmd"/>
|
||||
<CursorPos X="78" Y="72"/>
|
||||
<TopLine Value="59"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="200"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
<UnitName Value="fbtnchangedlg"/>
|
||||
<CursorPos X="1" Y="11"/>
|
||||
<TopLine Value="23"/>
|
||||
<UsageCount Value="166"/>
|
||||
<UsageCount Value="200"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="fconfigtoolbar.pas"/>
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
<UnitName Value="fconfigtoolbar"/>
|
||||
<CursorPos X="1" Y="7"/>
|
||||
<TopLine Value="34"/>
|
||||
<UsageCount Value="166"/>
|
||||
<UsageCount Value="200"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="fmain.pas"/>
|
||||
|
|
@ -84,10 +84,10 @@
|
|||
<HasResources Value="True"/>
|
||||
<ResourceFilename Value="fMain.lrs"/>
|
||||
<UnitName Value="fMain"/>
|
||||
<CursorPos X="9" Y="5"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="11" Y="1210"/>
|
||||
<TopLine Value="1195"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="77"/>
|
||||
<UsageCount Value="92"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
|
|
@ -96,79 +96,10 @@
|
|||
<UnitName Value="uWCXprototypes"/>
|
||||
<CursorPos X="28" Y="8"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="116"/>
|
||||
<UsageCount Value="157"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<ComponentName Value="frmOptions"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceFilename Value="fOptions.lrs"/>
|
||||
<UnitName Value="fOptions"/>
|
||||
<CursorPos X="8" Y="123"/>
|
||||
<TopLine Value="119"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
</Units>
|
||||
<JumpHistory Count="14" HistoryIndex="13">
|
||||
<Position1>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="25" Column="3" TopLine="12"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="30" Column="26" TopLine="12"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="31" Column="26" TopLine="12"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="32" Column="26" TopLine="12"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="35" Column="15" TopLine="16"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="31" Column="19" TopLine="17"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="29" Column="22" TopLine="17"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="30" Column="22" TopLine="17"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="31" Column="22" TopLine="17"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="34" Column="31" TopLine="17"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="76" Column="5" TopLine="75"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="34" Column="19" TopLine="34"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="foptions.pas"/>
|
||||
<Caret Line="76" Column="45" TopLine="75"/>
|
||||
</Position14>
|
||||
</JumpHistory>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
|
|
@ -187,12 +118,17 @@
|
|||
<OptimizationLevel Value="3"/>
|
||||
</Optimizations>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<GenerateDebugInfo Value="True"/>
|
||||
</Debugging>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<BreakPoints Count="4">
|
||||
<BreakPoints Count="5">
|
||||
<Item1>
|
||||
<Source Value="mnt\X\linux\lazarus\lcl\include\imglist.inc"/>
|
||||
<Line Value="435"/>
|
||||
|
|
@ -203,12 +139,16 @@
|
|||
</Item2>
|
||||
<Item3>
|
||||
<Source Value="ucopythread.pas"/>
|
||||
<Line Value="69"/>
|
||||
<Line Value="42"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<Source Value="ucopythread.pas"/>
|
||||
<Line Value="42"/>
|
||||
<Source Value="uFilePanel.pas"/>
|
||||
<Line Value="300"/>
|
||||
</Item4>
|
||||
<Item5>
|
||||
<Source Value="uFilePanel.pas"/>
|
||||
<Line Value="324"/>
|
||||
</Item5>
|
||||
</BreakPoints>
|
||||
</Debugging>
|
||||
</CONFIG>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ uses
|
|||
cthreads,
|
||||
{$ENDIF}
|
||||
Interfaces,
|
||||
LCLProc,
|
||||
uGlobsPaths,
|
||||
uGlobs,
|
||||
uLng,
|
||||
|
|
@ -64,10 +65,10 @@ uses
|
|||
// try
|
||||
Application.Initialize;
|
||||
ThousandSeparator:=' ';
|
||||
writeln('Double commander 0.1 alpha - Free Pascal');
|
||||
writeln('This program is free software released under terms of GNU GPL 2');
|
||||
writeln('(C)opyright 2006-7 Koblov Alexander (Alexx2000@mail.ru)');
|
||||
writeln(' and contributors (see about dialog)');
|
||||
DebugLn('Double commander 0.1 alpha - Free Pascal');
|
||||
DebugLn('This program is free software released under terms of GNU GPL 2');
|
||||
DebugLn('(C)opyright 2006-7 Koblov Alexander (Alexx2000@mail.ru)');
|
||||
DebugLn(' and contributors (see about dialog)');
|
||||
|
||||
LoadPaths;
|
||||
if LoadGlobs then
|
||||
|
|
|
|||
436
fFindDlg.lfm
436
fFindDlg.lfm
|
|
@ -1,95 +1,85 @@
|
|||
object frmFindDlg: TfrmFindDlg
|
||||
ActiveControl = cmbFindFileMask
|
||||
inherited frmFindDlg: TfrmFindDlg
|
||||
Left = 289
|
||||
Height = 461
|
||||
Top = 25
|
||||
Width = 541
|
||||
HorzScrollBar.Page = 540
|
||||
VertScrollBar.Page = 460
|
||||
VertScrollBar.Range = 316
|
||||
ActiveControl = cbDateFrom
|
||||
Caption = 'frmFindDlg'
|
||||
ClientHeight = 461
|
||||
ClientWidth = 495
|
||||
KeyPreview = True
|
||||
OnClose = frmFindDlgClose
|
||||
OnCloseQuery = FormCloseQuery
|
||||
OnCreate = FormCreate
|
||||
OnKeyPress = FormKeyPress
|
||||
OnShow = frmFindDlgShow
|
||||
PixelsPerInch = 96
|
||||
Position = poScreenCenter
|
||||
TextHeight = 16
|
||||
HorzScrollBar.Page = 494
|
||||
VertScrollBar.Page = 460
|
||||
VertScrollBar.Range = 316
|
||||
Left = 304
|
||||
Height = 461
|
||||
Top = 318
|
||||
Width = 495
|
||||
object Splitter1: TSplitter
|
||||
Cursor = crVSplit
|
||||
Height = 1
|
||||
Width = 541
|
||||
Align = alTop
|
||||
Cursor = crVSplit
|
||||
Height = 1
|
||||
Width = 495
|
||||
ResizeAnchor = akTop
|
||||
Cursor = crVSplit
|
||||
Height = 1
|
||||
Width = 495
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 281
|
||||
ClientWidth = 495
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Height = 281
|
||||
Top = 1
|
||||
Width = 495
|
||||
Width = 541
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
object pgcSearch: TPageControl
|
||||
Height = 273
|
||||
Width = 446
|
||||
ActivePage = tsStandard
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabIndex = 0
|
||||
TabOrder = 0
|
||||
Height = 273
|
||||
Width = 400
|
||||
object tsStandard: TTabSheet
|
||||
Caption = 'Standard'
|
||||
ClientHeight = 247
|
||||
ClientWidth = 392
|
||||
Height = 247
|
||||
Width = 392
|
||||
object lblFindPathStart: TLabel
|
||||
Caption = 'FileDir'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 57
|
||||
Width = 30
|
||||
end
|
||||
object lblFindFileMask: TLabel
|
||||
Caption = 'FileMask'
|
||||
Caption = 'FileDir'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object lblFindFileMask: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 1
|
||||
Width = 41
|
||||
Caption = 'FileMask'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object edtFindPathStart: TEdit
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 81
|
||||
Width = 316
|
||||
Width = 362
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
end
|
||||
object btnSelDir: TButton
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '...'
|
||||
OnClick = btnSelDirClick
|
||||
TabOrder = 2
|
||||
Left = 332
|
||||
Left = 378
|
||||
Height = 25
|
||||
Top = 80
|
||||
Width = 25
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '...'
|
||||
OnClick = btnSelDirClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object cmbFindFileMask: TComboBox
|
||||
Left = 8
|
||||
Height = 21
|
||||
Top = 25
|
||||
Width = 362
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 18
|
||||
|
|
@ -97,117 +87,68 @@ object frmFindDlg: TfrmFindDlg
|
|||
ParentCtl3D = False
|
||||
TabOrder = 1
|
||||
Text = '*'
|
||||
Left = 8
|
||||
Height = 21
|
||||
Top = 25
|
||||
Width = 316
|
||||
end
|
||||
object gbFindData: TGroupBox
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Caption = 'Find Data'
|
||||
ClientHeight = 62
|
||||
ClientWidth = 368
|
||||
Enabled = False
|
||||
ParentCtl3D = False
|
||||
TabOrder = 3
|
||||
Left = 8
|
||||
Height = 80
|
||||
Top = 145
|
||||
Width = 372
|
||||
Width = 418
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Caption = 'Find Data'
|
||||
Enabled = False
|
||||
ParentCtl3D = False
|
||||
TabOrder = 3
|
||||
object cbCaseSens: TCheckBox
|
||||
AllowGrayed = True
|
||||
Caption = 'Case sensitive'
|
||||
TabOrder = 0
|
||||
Left = 18
|
||||
Height = 13
|
||||
Top = 40
|
||||
Width = 88
|
||||
AllowGrayed = True
|
||||
Caption = 'Case sensitive'
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtFindText: TEdit
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 1
|
||||
Left = 16
|
||||
Height = 24
|
||||
Top = 8
|
||||
Width = 324
|
||||
Width = 366
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbNoThisText: TCheckBox
|
||||
Caption = 'Find files NOT containing the text'
|
||||
TabOrder = 2
|
||||
Left = 154
|
||||
Height = 13
|
||||
Top = 40
|
||||
Width = 177
|
||||
Caption = 'Find files NOT containing the text'
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
object cbFindInFile: TCheckBox
|
||||
AllowGrayed = True
|
||||
Caption = 'Find in file'
|
||||
OnClick = cbFindInFileClick
|
||||
TabOrder = 4
|
||||
Left = 12
|
||||
Height = 13
|
||||
Top = 121
|
||||
Width = 67
|
||||
AllowGrayed = True
|
||||
Caption = 'Find in file'
|
||||
OnClick = cbFindInFileClick
|
||||
TabOrder = 4
|
||||
end
|
||||
end
|
||||
object tsAdvanced: TTabSheet
|
||||
Caption = 'Advanced'
|
||||
ClientHeight = 247
|
||||
ClientWidth = 392
|
||||
ImageIndex = 1
|
||||
Height = 247
|
||||
Width = 392
|
||||
object deDateFrom: TDateEdit
|
||||
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
|
||||
OKCaption = 'OK'
|
||||
CancelCaption = 'Cancel'
|
||||
Date = 39136
|
||||
ReadOnly = False
|
||||
ButtonWidth = 23
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
Glyph.Data = {
|
||||
2F0200002F2A2058504D202A2F0A7374617469632063686172202A63616C656E
|
||||
6461725B5D203D207B0A2F2A20636F6C756D6E7320726F777320636F6C6F7273
|
||||
2063686172732D7065722D706978656C202A2F0A223134203132203137203122
|
||||
2C0A2220206320626C61636B222C0A222E20632023383030303030222C0A2258
|
||||
20632023303038303030222C0A226F20632023383038303030222C0A224F2063
|
||||
206E617679222C0A222B20632023383030303830222C0A224020632023303038
|
||||
303830222C0A222320632023383038303830222C0A2224206320234330433043
|
||||
30222C0A2225206320726564222C0A2226206320677265656E222C0A222A2063
|
||||
2079656C6C6F77222C0A223D206320626C7565222C0A222D2063206D6167656E
|
||||
7461222C0A223B2063206379616E222C0A223A20632067726179313030222C0A
|
||||
223E2063204E6F6E65222C0A2F2A20706978656C73202A2F0A223E3E20202020
|
||||
2020202020203E3E222C0A223E3E3A24242424242424243A4F23222C0A223E3E
|
||||
3A3A3A3A3A3A3A3A3A3A4F23222C0A223E3E3A3A203A3A202020203A4F23222C
|
||||
0A223E3E3A20203A3A203A3A3A3A4F23222C0A223E3E3A3A203A3A202020243A
|
||||
4F23222C0A223E3E3A3A203A3A3A3A3A203A4F23222C0A223E3E3A3A203A3A24
|
||||
3A24203A4F23222C0A223E3E3A2020203A202020243A4F23222C0A223E3E3A3A
|
||||
3A3A3A3A3A3A3A3A4F23222C0A223E3E20204F204F4F204F20204F23222C0A22
|
||||
3E3E3E2323232323232323232323220A7D3B0A
|
||||
}
|
||||
NumGlyphs = 1
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
TabOrder = 0
|
||||
Text = '23.02.2007'
|
||||
Left = 4
|
||||
Height = 23
|
||||
Top = 41
|
||||
Width = 80
|
||||
end
|
||||
object deDateTo: TDateEdit
|
||||
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
|
||||
OKCaption = 'OK'
|
||||
CancelCaption = 'Cancel'
|
||||
Date = 39136
|
||||
ReadOnly = False
|
||||
ButtonWidth = 23
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
ReadOnly = False
|
||||
TabOrder = 0
|
||||
Text = '23.02.2007'
|
||||
ButtonWidth = 23
|
||||
Glyph.Data = {
|
||||
2F0200002F2A2058504D202A2F0A7374617469632063686172202A63616C656E
|
||||
6461725B5D203D207B0A2F2A20636F6C756D6E7320726F777320636F6C6F7273
|
||||
|
|
@ -230,153 +171,260 @@ object frmFindDlg: TfrmFindDlg
|
|||
}
|
||||
NumGlyphs = 1
|
||||
ParentColor = False
|
||||
TabOrder = 1
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
TabOrder = 1
|
||||
Text = '23.02.2007'
|
||||
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
|
||||
OKCaption = 'OK'
|
||||
CancelCaption = 'Cancel'
|
||||
Date = 39136
|
||||
end
|
||||
object deDateTo: TDateEdit
|
||||
Left = 164
|
||||
Height = 23
|
||||
Top = 41
|
||||
Width = 80
|
||||
Color = clBtnFace
|
||||
Enabled = False
|
||||
ReadOnly = False
|
||||
TabOrder = 1
|
||||
Text = '23.02.2007'
|
||||
ButtonWidth = 23
|
||||
Glyph.Data = {
|
||||
2F0200002F2A2058504D202A2F0A7374617469632063686172202A63616C656E
|
||||
6461725B5D203D207B0A2F2A20636F6C756D6E7320726F777320636F6C6F7273
|
||||
2063686172732D7065722D706978656C202A2F0A223134203132203137203122
|
||||
2C0A2220206320626C61636B222C0A222E20632023383030303030222C0A2258
|
||||
20632023303038303030222C0A226F20632023383038303030222C0A224F2063
|
||||
206E617679222C0A222B20632023383030303830222C0A224020632023303038
|
||||
303830222C0A222320632023383038303830222C0A2224206320234330433043
|
||||
30222C0A2225206320726564222C0A2226206320677265656E222C0A222A2063
|
||||
2079656C6C6F77222C0A223D206320626C7565222C0A222D2063206D6167656E
|
||||
7461222C0A223B2063206379616E222C0A223A20632067726179313030222C0A
|
||||
223E2063204E6F6E65222C0A2F2A20706978656C73202A2F0A223E3E20202020
|
||||
2020202020203E3E222C0A223E3E3A24242424242424243A4F23222C0A223E3E
|
||||
3A3A3A3A3A3A3A3A3A3A4F23222C0A223E3E3A3A203A3A202020203A4F23222C
|
||||
0A223E3E3A20203A3A203A3A3A3A4F23222C0A223E3E3A3A203A3A202020243A
|
||||
4F23222C0A223E3E3A3A203A3A3A3A3A203A4F23222C0A223E3E3A3A203A3A24
|
||||
3A24203A4F23222C0A223E3E3A2020203A202020243A4F23222C0A223E3E3A3A
|
||||
3A3A3A3A3A3A3A3A4F23222C0A223E3E20204F204F4F204F20204F23222C0A22
|
||||
3E3E3E2323232323232323232323220A7D3B0A
|
||||
}
|
||||
NumGlyphs = 1
|
||||
ParentColor = False
|
||||
CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames]
|
||||
OKCaption = 'OK'
|
||||
CancelCaption = 'Cancel'
|
||||
Date = 39136
|
||||
end
|
||||
object cbDateFrom: TCheckBox
|
||||
Caption = 'Date From:'
|
||||
OnChange = cbDateFromChange
|
||||
TabOrder = 2
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 22
|
||||
Width = 72
|
||||
Caption = 'Date From:'
|
||||
OnChange = cbDateFromChange
|
||||
TabOrder = 2
|
||||
end
|
||||
object cbNotOlderThan: TCheckBox
|
||||
Caption = 'Not older than:'
|
||||
TabOrder = 3
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 160
|
||||
Top = 136
|
||||
Width = 90
|
||||
Caption = 'Not older than:'
|
||||
OnChange = cbNotOlderThanChange
|
||||
TabOrder = 3
|
||||
end
|
||||
object SpinEdit1: TSpinEdit
|
||||
TabOrder = 4
|
||||
Left = 100
|
||||
object seNotOlderThan: TSpinEdit
|
||||
Left = 4
|
||||
Height = 20
|
||||
Top = 153
|
||||
Width = 112
|
||||
Top = 161
|
||||
Width = 106
|
||||
Enabled = False
|
||||
TabOrder = 4
|
||||
end
|
||||
object ComboBox1: TComboBox
|
||||
object cbDelayUnit: TComboBox
|
||||
Left = 164
|
||||
Height = 21
|
||||
Top = 160
|
||||
Width = 110
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
Enabled = False
|
||||
ItemIndex = 2
|
||||
Items.Strings = (
|
||||
'Minute(s)'
|
||||
'Hour(s)'
|
||||
'Day(s)'
|
||||
'Week(s)'
|
||||
'Month(s)'
|
||||
'Year(s)'
|
||||
)
|
||||
MaxLength = 0
|
||||
TabOrder = 5
|
||||
Text = 'ComboBox1'
|
||||
Left = 260
|
||||
Height = 21
|
||||
Top = 153
|
||||
Width = 104
|
||||
Text = 'Day(s)'
|
||||
end
|
||||
object cbFileSizeFrom: TCheckBox
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 193
|
||||
Width = 88
|
||||
Caption = 'File Size From:'
|
||||
OnChange = cbFileSizeFromChange
|
||||
TabOrder = 6
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 81
|
||||
Width = 88
|
||||
end
|
||||
object cbDateTo: TCheckBox
|
||||
Caption = 'Date To:'
|
||||
OnChange = cbDateToChange
|
||||
TabOrder = 7
|
||||
Left = 164
|
||||
Height = 13
|
||||
Top = 22
|
||||
Width = 62
|
||||
Caption = 'Date To:'
|
||||
OnChange = cbDateToChange
|
||||
TabOrder = 7
|
||||
end
|
||||
object cbFileSizeTo: TCheckBox
|
||||
Left = 164
|
||||
Height = 13
|
||||
Top = 193
|
||||
Width = 78
|
||||
Caption = 'File Size To:'
|
||||
OnChange = cbFileSizeToChange
|
||||
TabOrder = 8
|
||||
Left = 164
|
||||
Height = 13
|
||||
Top = 81
|
||||
Width = 78
|
||||
end
|
||||
object seFileSizeFrom: TSpinEdit
|
||||
Enabled = False
|
||||
TabOrder = 9
|
||||
Left = 4
|
||||
Height = 20
|
||||
Top = 105
|
||||
Top = 217
|
||||
Width = 106
|
||||
Enabled = False
|
||||
TabOrder = 9
|
||||
end
|
||||
object seFileSizeTo: TSpinEdit
|
||||
Enabled = False
|
||||
TabOrder = 10
|
||||
Left = 164
|
||||
Height = 20
|
||||
Top = 105
|
||||
Top = 217
|
||||
Width = 110
|
||||
Enabled = False
|
||||
TabOrder = 10
|
||||
end
|
||||
object cbUnitOfMeasure: TComboBox
|
||||
Left = 284
|
||||
Height = 21
|
||||
Top = 217
|
||||
Width = 72
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemIndex = 1
|
||||
Items.Strings = (
|
||||
'Byte'
|
||||
'Kbyte'
|
||||
'Mbyte'
|
||||
'Gbyte'
|
||||
)
|
||||
MaxLength = 0
|
||||
Style = csDropDownList
|
||||
TabOrder = 11
|
||||
Text = 'Kbyte'
|
||||
end
|
||||
object cbTimeFrom: TCheckBox
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 73
|
||||
Width = 69
|
||||
Caption = 'Time from:'
|
||||
OnChange = cbTimeFromChange
|
||||
TabOrder = 12
|
||||
end
|
||||
object cbTimeTo: TCheckBox
|
||||
Left = 164
|
||||
Height = 13
|
||||
Top = 73
|
||||
Width = 58
|
||||
Caption = 'Time to:'
|
||||
OnChange = cbTimeToChange
|
||||
TabOrder = 13
|
||||
end
|
||||
object meTimeFrom: TMaskEdit
|
||||
Left = 4
|
||||
Height = 23
|
||||
Top = 97
|
||||
Width = 80
|
||||
Enabled = False
|
||||
EditMask = '00:00:00'
|
||||
MaxLength = 8
|
||||
ParentColor = False
|
||||
TabOrder = 14
|
||||
Text = '00:00:00'
|
||||
OnChange = meTimeChange
|
||||
end
|
||||
object meTimeTo: TMaskEdit
|
||||
Left = 164
|
||||
Height = 23
|
||||
Top = 97
|
||||
Width = 80
|
||||
Enabled = False
|
||||
EditMask = '00:00:00'
|
||||
MaxLength = 8
|
||||
ParentColor = False
|
||||
TabOrder = 15
|
||||
Text = '00:00:00'
|
||||
OnChange = meTimeChange
|
||||
end
|
||||
end
|
||||
end
|
||||
object btnClose: TButton
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
Caption = '&Close'
|
||||
OnClick = btnCloseClick
|
||||
TabOrder = 3
|
||||
Left = 408
|
||||
Left = 454
|
||||
Height = 25
|
||||
Top = 71
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '&Close'
|
||||
OnClick = btnCloseClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object btnStop: TButton
|
||||
Left = 454
|
||||
Height = 25
|
||||
Top = 103
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Cancel = True
|
||||
Caption = 'Cancel'
|
||||
Enabled = False
|
||||
OnClick = btnStopClick
|
||||
TabOrder = 1
|
||||
Left = 408
|
||||
Height = 25
|
||||
Top = 103
|
||||
Width = 75
|
||||
end
|
||||
object btnStart: TButton
|
||||
Left = 454
|
||||
Height = 25
|
||||
Top = 39
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 2
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '&Start'
|
||||
Default = True
|
||||
OnClick = btnStartClick
|
||||
TabOrder = 2
|
||||
Left = 408
|
||||
Height = 25
|
||||
Top = 39
|
||||
Width = 75
|
||||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 179
|
||||
ClientWidth = 495
|
||||
FullRepaint = False
|
||||
TabOrder = 1
|
||||
Height = 179
|
||||
Top = 282
|
||||
Width = 495
|
||||
Width = 541
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
FullRepaint = False
|
||||
TabOrder = 1
|
||||
object Panel3: TPanel
|
||||
Height = 54
|
||||
Width = 541
|
||||
Align = alTop
|
||||
BevelInner = bvRaised
|
||||
BevelOuter = bvLowered
|
||||
ClientHeight = 54
|
||||
ClientWidth = 495
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Height = 54
|
||||
Width = 495
|
||||
object lblStatus: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 30
|
||||
Width = 44
|
||||
Caption = 'lblStatus'
|
||||
Color = clNone
|
||||
Font.Color = clBlack
|
||||
|
|
@ -385,12 +433,12 @@ object frmFindDlg: TfrmFindDlg
|
|||
Font.Pitch = fpVariable
|
||||
Font.Style = [fsBold]
|
||||
ParentColor = False
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 30
|
||||
Width = 44
|
||||
end
|
||||
object lblCurrent: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 12
|
||||
Width = 49
|
||||
Caption = 'lblCurrent'
|
||||
Color = clNone
|
||||
Font.Color = clBlack
|
||||
|
|
@ -399,21 +447,17 @@ object frmFindDlg: TfrmFindDlg
|
|||
Font.Pitch = fpVariable
|
||||
Font.Style = [fsBold]
|
||||
ParentColor = False
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 12
|
||||
Width = 49
|
||||
end
|
||||
end
|
||||
object lsFoundedFiles: TListBox
|
||||
Height = 125
|
||||
Top = 54
|
||||
Width = 541
|
||||
Align = alClient
|
||||
MultiSelect = True
|
||||
OnDblClick = lsFoundedFilesDblClick
|
||||
PopupMenu = PopupMenuFind
|
||||
TabOrder = 1
|
||||
Height = 125
|
||||
Top = 54
|
||||
Width = 495
|
||||
end
|
||||
end
|
||||
object PopupMenuFind: TPopupMenu
|
||||
|
|
|
|||
253
fFindDlg.lrs
253
fFindDlg.lrs
|
|
@ -1,126 +1,135 @@
|
|||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmFindDlg','FORMDATA',[
|
||||
'TPF0'#11'TfrmFindDlg'#10'frmFindDlg'#13'ActiveControl'#7#15'cmbFindFileMask'
|
||||
+#7'Caption'#6#10'frmFindDlg'#12'ClientHeight'#3#205#1#11'ClientWidth'#3#239#1
|
||||
+#10'KeyPreview'#9#7'OnClose'#7#15'frmFindDlgClose'#12'OnCloseQuery'#7#14'For'
|
||||
+'mCloseQuery'#8'OnCreate'#7#10'FormCreate'#10'OnKeyPress'#7#12'FormKeyPress'
|
||||
+#6'OnShow'#7#14'frmFindDlgShow'#13'PixelsPerInch'#2'`'#8'Position'#7#14'poSc'
|
||||
+'reenCenter'#10'TextHeight'#2#16#18'HorzScrollBar.Page'#3#238#1#18'VertScrol'
|
||||
+'lBar.Page'#3#204#1#19'VertScrollBar.Range'#3'<'#1#4'Left'#3'0'#1#6'Height'#3
|
||||
+#205#1#3'Top'#3'>'#1#5'Width'#3#239#1#0#9'TSplitter'#9'Splitter1'#5'Align'#7
|
||||
+#5'alTop'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#239#1#12'ResizeAn'
|
||||
+'chor'#7#5'akTop'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#239#1#0#0
|
||||
+#6'TPanel'#6'Panel2'#5'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'Clien'
|
||||
+'tHeight'#3#25#1#11'ClientWidth'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#0#6
|
||||
+'Height'#3#25#1#3'Top'#2#1#5'Width'#3#239#1#0#12'TPageControl'#9'pgcSearch'
|
||||
+#10'ActivePage'#7#10'tsStandard'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
|
||||
+#0#8'TabIndex'#2#0#8'TabOrder'#2#0#6'Height'#3#17#1#5'Width'#3#144#1#0#9'TTa'
|
||||
+'bSheet'#10'tsStandard'#7'Caption'#6#8'Standard'#12'ClientHeight'#3#247#0#11
|
||||
+'ClientWidth'#3#136#1#6'Height'#3#247#0#5'Width'#3#136#1#0#6'TLabel'#16'lblF'
|
||||
+'indPathStart'#7'Caption'#6#7'FileDir'#5'Color'#7#6'clNone'#11'ParentColor'#8
|
||||
+#4'Left'#2#8#6'Height'#2#14#3'Top'#2'9'#5'Width'#2#30#0#0#6'TLabel'#15'lblFi'
|
||||
+'ndFileMask'#7'Caption'#6#8'FileMask'#5'Color'#7#6'clNone'#11'ParentColor'#8
|
||||
+#4'Left'#2#8#6'Height'#2#14#3'Top'#2#1#5'Width'#2')'#0#0#5'TEdit'#16'edtFind'
|
||||
+'PathStart'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#4
|
||||
+'Left'#2#8#6'Height'#2#24#3'Top'#2'Q'#5'Width'#3'<'#1#0#0#7'TButton'#9'btnSe'
|
||||
+'lDir'#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2
|
||||
+#7'Caption'#6#3'...'#7'OnClick'#7#14'btnSelDirClick'#8'TabOrder'#2#2#4'Left'
|
||||
+#3'L'#1#6'Height'#2#25#3'Top'#2'P'#5'Width'#2#25#0#0#9'TComboBox'#15'cmbFind'
|
||||
+'FileMask'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'
|
||||
+#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18
|
||||
+#9'MaxLength'#2#0#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Text'#6#1'*'#4'Left'#2
|
||||
+#8#6'Height'#2#21#3'Top'#2#25#5'Width'#3'<'#1#0#0#9'TGroupBox'#10'gbFindData'
|
||||
+#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#9'Find Data'#12
|
||||
+'ClientHeight'#2'>'#11'ClientWidth'#3'p'#1#7'Enabled'#8#11'ParentCtl3D'#8#8
|
||||
+'TabOrder'#2#3#4'Left'#2#8#6'Height'#2'P'#3'Top'#3#145#0#5'Width'#3't'#1#0#9
|
||||
+'TCheckBox'#10'cbCaseSens'#11'AllowGrayed'#9#7'Caption'#6#14'Case sensitive'
|
||||
+#8'TabOrder'#2#0#4'Left'#2#18#6'Height'#2#13#3'Top'#2'('#5'Width'#2'X'#0#0#5
|
||||
+'TEdit'#11'edtFindText'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabO'
|
||||
+'rder'#2#1#4'Left'#2#16#6'Height'#2#24#3'Top'#2#8#5'Width'#3'D'#1#0#0#9'TChe'
|
||||
+'ckBox'#12'cbNoThisText'#7'Caption'#6'"Find files NOT containing the text'#8
|
||||
+'TabOrder'#2#2#4'Left'#3#154#0#6'Height'#2#13#3'Top'#2'('#5'Width'#3#177#0#0
|
||||
+#0#0#9'TCheckBox'#12'cbFindInFile'#11'AllowGrayed'#9#7'Caption'#6#12'Find in'
|
||||
+' file'#7'OnClick'#7#17'cbFindInFileClick'#8'TabOrder'#2#4#4'Left'#2#12#6'He'
|
||||
+'ight'#2#13#3'Top'#2'y'#5'Width'#2'C'#0#0#0#9'TTabSheet'#10'tsAdvanced'#7'Ca'
|
||||
+'ption'#6#8'Advanced'#12'ClientHeight'#3#247#0#11'ClientWidth'#3#136#1#10'Im'
|
||||
+'ageIndex'#2#1#6'Height'#3#247#0#5'Width'#3#136#1#0#9'TDateEdit'#10'deDateFr'
|
||||
+'om'#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsShowDayNames'#0#9
|
||||
+'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#4'Date'#5#0#0#0#0#0#0#224
|
||||
+#152#14'@'#8'ReadOnly'#8#11'ButtonWidth'#2#23#5'Color'#7#9'clBtnFace'#7'Enab'
|
||||
+'led'#8#10'Glyph.Data'#10'3'#2#0#0'/'#2#0#0'/* XPM */'#10'static char *calen'
|
||||
+'dar[] = {'#10'/* columns rows colors chars-per-pixel */'#10'"14 12 17 1",'
|
||||
+#10'" c black",'#10'". c #800000",'#10'"X c #008000",'#10'"o c #808000",'#10
|
||||
+'"O c navy",'#10'"+ c #800080",'#10'"@ c #008080",'#10'"# c #808080",'#10'"$'
|
||||
+' c #C0C0C0",'#10'"% c red",'#10'"& c green",'#10'"* c yellow",'#10'"= c blu'
|
||||
+'e",'#10'"- c magenta",'#10'"; c cyan",'#10'": c gray100",'#10'"> c None",'
|
||||
+#10'/* pixels */'#10'">> >>",'#10'">>:$$$$$$$$:O#",'#10'">>::::::::'
|
||||
+'::O#",'#10'">>:: :: :O#",'#10'">>: :: ::::O#",'#10'">>:: :: $:O#",'#10
|
||||
+'">>:: ::::: :O#",'#10'">>:: ::$:$ :O#",'#10'">>: : $:O#",'#10'">>::::::'
|
||||
+'::::O#",'#10'">> O OO O O#",'#10'">>>###########"'#10'};'#10#9'NumGlyphs'
|
||||
+#2#1#11'ParentColor'#8#8'TabOrder'#2#0#5'Color'#7#9'clBtnFace'#7'Enabled'#8#8
|
||||
+'TabOrder'#2#0#4'Text'#6#10'23.02.2007'#4'Left'#2#4#6'Height'#2#23#3'Top'#2
|
||||
+')'#5'Width'#2'P'#0#0#9'TDateEdit'#8'deDateTo'#23'CalendarDisplaySettings'#11
|
||||
+#14'dsShowHeadings'#14'dsShowDayNames'#0#9'OKCaption'#6#2'OK'#13'CancelCapti'
|
||||
+'on'#6#6'Cancel'#4'Date'#5#0#0#0#0#0#0#224#152#14'@'#8'ReadOnly'#8#11'Button'
|
||||
+'Width'#2#23#5'Color'#7#9'clBtnFace'#7'Enabled'#8#10'Glyph.Data'#10'3'#2#0#0
|
||||
+'/'#2#0#0'/* XPM */'#10'static char *calendar[] = {'#10'/* columns rows colo'
|
||||
,'rs chars-per-pixel */'#10'"14 12 17 1",'#10'" c black",'#10'". c #800000",'
|
||||
+#10'"X c #008000",'#10'"o c #808000",'#10'"O c navy",'#10'"+ c #800080",'#10
|
||||
+'"@ c #008080",'#10'"# c #808080",'#10'"$ c #C0C0C0",'#10'"% c red",'#10'"& '
|
||||
+'c green",'#10'"* c yellow",'#10'"= c blue",'#10'"- c magenta",'#10'"; c cya'
|
||||
+'n",'#10'": c gray100",'#10'"> c None",'#10'/* pixels */'#10'">> >>'
|
||||
+'",'#10'">>:$$$$$$$$:O#",'#10'">>::::::::::O#",'#10'">>:: :: :O#",'#10'">'
|
||||
+'>: :: ::::O#",'#10'">>:: :: $:O#",'#10'">>:: ::::: :O#",'#10'">>:: ::$:$'
|
||||
+' :O#",'#10'">>: : $:O#",'#10'">>::::::::::O#",'#10'">> O OO O O#",'#10
|
||||
+'">>>###########"'#10'};'#10#9'NumGlyphs'#2#1#11'ParentColor'#8#8'TabOrder'#2
|
||||
+#1#5'Color'#7#9'clBtnFace'#7'Enabled'#8#8'TabOrder'#2#1#4'Text'#6#10'23.02.2'
|
||||
+'007'#4'Left'#3#164#0#6'Height'#2#23#3'Top'#2')'#5'Width'#2'P'#0#0#9'TCheckB'
|
||||
+'ox'#10'cbDateFrom'#7'Caption'#6#10'Date From:'#8'OnChange'#7#16'cbDateFromC'
|
||||
+'hange'#8'TabOrder'#2#2#4'Left'#2#4#6'Height'#2#13#3'Top'#2#22#5'Width'#2'H'
|
||||
+#0#0#9'TCheckBox'#14'cbNotOlderThan'#7'Caption'#6#15'Not older than:'#8'TabO'
|
||||
+'rder'#2#3#4'Left'#2#4#6'Height'#2#13#3'Top'#3#160#0#5'Width'#2'Z'#0#0#9'TSp'
|
||||
+'inEdit'#9'SpinEdit1'#8'TabOrder'#2#4#4'Left'#2'd'#6'Height'#2#20#3'Top'#3
|
||||
+#153#0#5'Width'#2'p'#0#0#9'TComboBox'#9'ComboBox1'#16'AutoCompleteText'#11#22
|
||||
+'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'TabOr'
|
||||
+'der'#2#5#4'Text'#6#9'ComboBox1'#4'Left'#3#4#1#6'Height'#2#21#3'Top'#3#153#0
|
||||
+#5'Width'#2'h'#0#0#9'TCheckBox'#14'cbFileSizeFrom'#7'Caption'#6#15'File Size'
|
||||
+' From:'#8'OnChange'#7#20'cbFileSizeFromChange'#8'TabOrder'#2#6#4'Left'#2#4#6
|
||||
+'Height'#2#13#3'Top'#2'Q'#5'Width'#2'X'#0#0#9'TCheckBox'#8'cbDateTo'#7'Capti'
|
||||
+'on'#6#8'Date To:'#8'OnChange'#7#14'cbDateToChange'#8'TabOrder'#2#7#4'Left'#3
|
||||
+#164#0#6'Height'#2#13#3'Top'#2#22#5'Width'#2'>'#0#0#9'TCheckBox'#12'cbFileSi'
|
||||
+'zeTo'#7'Caption'#6#13'File Size To:'#8'OnChange'#7#18'cbFileSizeToChange'#8
|
||||
+'TabOrder'#2#8#4'Left'#3#164#0#6'Height'#2#13#3'Top'#2'Q'#5'Width'#2'N'#0#0#9
|
||||
+'TSpinEdit'#14'seFileSizeFrom'#7'Enabled'#8#8'TabOrder'#2#9#4'Left'#2#4#6'He'
|
||||
+'ight'#2#20#3'Top'#2'i'#5'Width'#2'j'#0#0#9'TSpinEdit'#12'seFileSizeTo'#7'En'
|
||||
+'abled'#8#8'TabOrder'#2#10#4'Left'#3#164#0#6'Height'#2#20#3'Top'#2'i'#5'Widt'
|
||||
+'h'#2'n'#0#0#0#0#7'TButton'#8'btnClose'#7'Anchors'#11#5'akTop'#7'akRight'#0
|
||||
+#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#6'&Close'#7'OnClick'#7#13'bt'
|
||||
+'nCloseClick'#8'TabOrder'#2#3#4'Left'#3#152#1#6'Height'#2#25#3'Top'#2'G'#5'W'
|
||||
+'idth'#2'K'#0#0#7'TButton'#7'btnStop'#7'Anchors'#11#5'akTop'#7'akRight'#0#25
|
||||
+'BorderSpacing.InnerBorder'#2#2#6'Cancel'#9#7'Caption'#6#6'Cancel'#7'Enabled'
|
||||
+#8#7'OnClick'#7#12'btnStopClick'#8'TabOrder'#2#1#4'Left'#3#152#1#6'Height'#2
|
||||
+#25#3'Top'#2'g'#5'Width'#2'K'#0#0#7'TButton'#8'btnStart'#7'Anchors'#11#5'akT'
|
||||
+'op'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#6'&Start'#7
|
||||
+'Default'#9#7'OnClick'#7#13'btnStartClick'#8'TabOrder'#2#2#4'Left'#3#152#1#6
|
||||
+'Height'#2#25#3'Top'#2''''#5'Width'#2'K'#0#0#0#6'TPanel'#6'Panel1'#5'Align'#7
|
||||
+#8'alClient'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3#179#0#11'ClientWi'
|
||||
+'dth'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#1#6'Height'#3#179#0#3'Top'#3#26
|
||||
+#1#5'Width'#3#239#1#0#6'TPanel'#6'Panel3'#5'Align'#7#5'alTop'#10'BevelInner'
|
||||
+#7#8'bvRaised'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2'6'#11'Client'
|
||||
+'Width'#3#239#1#11'FullRepaint'#8#8'TabOrder'#2#0#6'Height'#2'6'#5'Width'#3
|
||||
+#239#1#0#6'TLabel'#9'lblStatus'#7'Caption'#6#9'lblStatus'#5'Color'#7#6'clNon'
|
||||
+'e'#10'Font.Color'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#15'adobe'
|
||||
+'-helvetica'#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'#11#6'fsBold'#0#11
|
||||
+'ParentColor'#8#4'Left'#2#8#6'Height'#2#13#3'Top'#2#30#5'Width'#2','#0#0#6'T'
|
||||
+'Label'#10'lblCurrent'#7'Caption'#6#10'lblCurrent'#5'Color'#7#6'clNone'#10'F'
|
||||
+'ont.Color'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#15'adobe-helvet'
|
||||
+'ica'#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'#11#6'fsBold'#0#11'Paren'
|
||||
+'tColor'#8#4'Left'#2#8#6'Height'#2#13#3'Top'#2#12#5'Width'#2'1'#0#0#0#8'TLis'
|
||||
+'tBox'#14'lsFoundedFiles'#5'Align'#7#8'alClient'#11'MultiSelect'#9#10'OnDblC'
|
||||
+'lick'#7#22'lsFoundedFilesDblClick'#9'PopupMenu'#7#13'PopupMenuFind'#8'TabOr'
|
||||
+'der'#2#1#6'Height'#2'}'#3'Top'#2'6'#5'Width'#3#239#1#0#0#0#10'TPopupMenu'#13
|
||||
+'PopupMenuFind'#4'left'#3#152#0#3'top'#3#152#1#0#9'TMenuItem'#14'miShowInVie'
|
||||
+'wer'#7'Caption'#6#14'Show In Viewer'#7'OnClick'#7#19'miShowInViewerClick'#0
|
||||
+#0#0#0
|
||||
'TPF0'#241#11'TfrmFindDlg'#10'frmFindDlg'#4'Left'#3'!'#1#6'Height'#3#205#1#3
|
||||
+'Top'#2#25#5'Width'#3#29#2#18'HorzScrollBar.Page'#3#28#2#18'VertScrollBar.Pa'
|
||||
+'ge'#3#204#1#19'VertScrollBar.Range'#3'<'#1#13'ActiveControl'#7#10'cbDateFro'
|
||||
+'m'#7'Caption'#6#10'frmFindDlg'#10'KeyPreview'#9#7'OnClose'#7#15'frmFindDlgC'
|
||||
+'lose'#12'OnCloseQuery'#7#14'FormCloseQuery'#10'OnKeyPress'#7#12'FormKeyPres'
|
||||
+'s'#6'OnShow'#7#14'frmFindDlgShow'#8'Position'#7#14'poScreenCenter'#0#9'TSpl'
|
||||
+'itter'#9'Splitter1'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#5'Width'#3#29#2#5
|
||||
+'Align'#7#5'alTop'#12'ResizeAnchor'#7#5'akTop'#0#0#6'TPanel'#6'Panel2'#6'Hei'
|
||||
+'ght'#3#25#1#3'Top'#2#1#5'Width'#3#29#2#5'Align'#7#5'alTop'#10'BevelOuter'#7
|
||||
+#6'bvNone'#11'FullRepaint'#8#8'TabOrder'#2#0#0#12'TPageControl'#9'pgcSearch'
|
||||
+#6'Height'#3#17#1#5'Width'#3#190#1#10'ActivePage'#7#10'tsStandard'#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabIndex'#2#0#8'TabOrder'#2#0#0#9'TTab'
|
||||
+'Sheet'#10'tsStandard'#7'Caption'#6#8'Standard'#0#6'TLabel'#16'lblFindPathSt'
|
||||
+'art'#4'Left'#2#8#6'Height'#2#14#3'Top'#2'9'#5'Width'#2#30#7'Caption'#6#7'Fi'
|
||||
+'leDir'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#15'lblFindFileM'
|
||||
+'ask'#4'Left'#2#8#6'Height'#2#14#3'Top'#2#1#5'Width'#2')'#7'Caption'#6#8'Fil'
|
||||
+'eMask'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#5'TEdit'#16'edtFindPathSt'
|
||||
+'art'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'Q'#5'Width'#3'j'#1#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#7'TButton'#9'btnSelDir'#4
|
||||
+'Left'#3'z'#1#6'Height'#2#25#3'Top'#2'P'#5'Width'#2#25#7'Anchors'#11#5'akTop'
|
||||
+#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClic'
|
||||
+'k'#7#14'btnSelDirClick'#8'TabOrder'#2#2#0#0#9'TComboBox'#15'cmbFindFileMask'
|
||||
+#4'Left'#2#8#6'Height'#2#21#3'Top'#2#25#5'Width'#3'j'#1#7'Anchors'#11#5'akTo'
|
||||
+'p'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'
|
||||
+#20'cbactSearchAscending'#0#10'ItemHeight'#2#18#9'MaxLength'#2#0#11'ParentCt'
|
||||
+'l3D'#8#8'TabOrder'#2#1#4'Text'#6#1'*'#0#0#9'TGroupBox'#10'gbFindData'#4'Lef'
|
||||
+'t'#2#8#6'Height'#2'P'#3'Top'#3#145#0#5'Width'#3#162#1#7'Anchors'#11#5'akTop'
|
||||
+#6'akLeft'#7'akRight'#0#7'Caption'#6#9'Find Data'#7'Enabled'#8#11'ParentCtl3'
|
||||
+'D'#8#8'TabOrder'#2#3#0#9'TCheckBox'#10'cbCaseSens'#4'Left'#2#18#6'Height'#2
|
||||
+#13#3'Top'#2'('#5'Width'#2'X'#11'AllowGrayed'#9#7'Caption'#6#14'Case sensiti'
|
||||
+'ve'#8'TabOrder'#2#0#0#0#5'TEdit'#11'edtFindText'#4'Left'#2#16#6'Height'#2#24
|
||||
+#3'Top'#2#8#5'Width'#3'n'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8
|
||||
+'TabOrder'#2#1#0#0#9'TCheckBox'#12'cbNoThisText'#4'Left'#3#154#0#6'Height'#2
|
||||
+#13#3'Top'#2'('#5'Width'#3#177#0#7'Caption'#6'"Find files NOT containing the'
|
||||
+' text'#8'TabOrder'#2#2#0#0#0#9'TCheckBox'#12'cbFindInFile'#4'Left'#2#12#6'H'
|
||||
+'eight'#2#13#3'Top'#2'y'#5'Width'#2'C'#11'AllowGrayed'#9#7'Caption'#6#12'Fin'
|
||||
+'d in file'#7'OnClick'#7#17'cbFindInFileClick'#8'TabOrder'#2#4#0#0#0#9'TTabS'
|
||||
+'heet'#10'tsAdvanced'#7'Caption'#6#8'Advanced'#10'ImageIndex'#2#1#0#9'TDateE'
|
||||
+'dit'#10'deDateFrom'#4'Left'#2#4#6'Height'#2#23#3'Top'#2')'#5'Width'#2'P'#5
|
||||
+'Color'#7#9'clBtnFace'#7'Enabled'#8#8'ReadOnly'#8#8'TabOrder'#2#0#4'Text'#6
|
||||
+#10'23.02.2007'#11'ButtonWidth'#2#23#10'Glyph.Data'#10'3'#2#0#0'/'#2#0#0'/* '
|
||||
+'XPM */'#10'static char *calendar[] = {'#10'/* columns rows colors chars-per'
|
||||
+'-pixel */'#10'"14 12 17 1",'#10'" c black",'#10'". c #800000",'#10'"X c #0'
|
||||
+'08000",'#10'"o c #808000",'#10'"O c navy",'#10'"+ c #800080",'#10'"@ c #008'
|
||||
+'080",'#10'"# c #808080",'#10'"$ c #C0C0C0",'#10'"% c red",'#10'"& c green",'
|
||||
+#10'"* c yellow",'#10'"= c blue",'#10'"- c magenta",'#10'"; c cyan",'#10'": '
|
||||
+'c gray100",'#10'"> c None",'#10'/* pixels */'#10'">> >>",'#10'">>:'
|
||||
+'$$$$$$$$:O#",'#10'">>::::::::::O#",'#10'">>:: :: :O#",'#10'">>: :: ::::'
|
||||
+'O#",'#10'">>:: :: $:O#",'#10'">>:: ::::: :O#",'#10'">>:: ::$:$ :O#",'#10
|
||||
+'">>: : $:O#",'#10'">>::::::::::O#",'#10'">> O OO O O#",'#10'">>>#####'
|
||||
+'######"'#10'};'#10#9'NumGlyphs'#2#1#11'ParentColor'#8#23'CalendarDisplaySet'
|
||||
+'tings'#11#14'dsShowHeadings'#14'dsShowDayNames'#0#9'OKCaption'#6#2'OK'#13'C'
|
||||
+'ancelCaption'#6#6'Cancel'#4'Date'#5#0#0#0#0#0#0#224#152#14'@'#0#0#9'TDateEd'
|
||||
+'it'#8'deDateTo'#4'Left'#3#164#0#6'Height'#2#23#3'Top'#2')'#5'Width'#2'P'#5
|
||||
+'Color'#7#9'clBtnFace'#7'Enabled'#8#8'ReadOnly'#8#8'TabOrder'#2#1#4'Text'#6
|
||||
+#10'23.02.2007'#11'ButtonWidth'#2#23#10'Glyph.Data'#10'3'#2#0#0'/'#2#0#0'/* '
|
||||
+'XPM */'#10'static char *calendar[] = {'#10'/* columns rows colors chars-per'
|
||||
+'-pixel */'#10'"14 12 17 1",'#10'" c black",'#10'". c #800000",'#10'"X c #0'
|
||||
+'08000",'#10'"o c #808000",'#10'"O c navy",'#10'"+ c #800080",'#10'"@ c #008'
|
||||
+'080",'#10'"# c #808080",'#10'"$ c #C0C0C0",'#10'"% c red",'#10'"& c green",'
|
||||
+#10'"* c yellow",'#10'"= c blue",'#10'"- c magenta",'#10'"; c cyan",'#10'": '
|
||||
+'c gray100",'#10'"> c None",'#10'/* pixels */'#10'">> >>",'#10'">>:'
|
||||
+'$$$$$$$$:O#",'#10'">>::::::::::O#",'#10'">>:: :: :O#",'#10'">>: :: ::::'
|
||||
+'O#",'#10'">>:: :: $:O#",'#10'">>:: ::::: :O#",'#10'">>:: ::$:$ :O#",'#10
|
||||
,'">>: : $:O#",'#10'">>::::::::::O#",'#10'">> O OO O O#",'#10'">>>#####'
|
||||
+'######"'#10'};'#10#9'NumGlyphs'#2#1#11'ParentColor'#8#23'CalendarDisplaySet'
|
||||
+'tings'#11#14'dsShowHeadings'#14'dsShowDayNames'#0#9'OKCaption'#6#2'OK'#13'C'
|
||||
+'ancelCaption'#6#6'Cancel'#4'Date'#5#0#0#0#0#0#0#224#152#14'@'#0#0#9'TCheckB'
|
||||
+'ox'#10'cbDateFrom'#4'Left'#2#4#6'Height'#2#13#3'Top'#2#22#5'Width'#2'H'#7'C'
|
||||
+'aption'#6#10'Date From:'#8'OnChange'#7#16'cbDateFromChange'#8'TabOrder'#2#2
|
||||
+#0#0#9'TCheckBox'#14'cbNotOlderThan'#4'Left'#2#4#6'Height'#2#13#3'Top'#3#136
|
||||
+#0#5'Width'#2'Z'#7'Caption'#6#15'Not older than:'#8'OnChange'#7#20'cbNotOlde'
|
||||
+'rThanChange'#8'TabOrder'#2#3#0#0#9'TSpinEdit'#14'seNotOlderThan'#4'Left'#2#4
|
||||
+#6'Height'#2#20#3'Top'#3#161#0#5'Width'#2'j'#7'Enabled'#8#8'TabOrder'#2#4#0#0
|
||||
+#9'TComboBox'#11'cbDelayUnit'#4'Left'#3#164#0#6'Height'#2#21#3'Top'#3#160#0#5
|
||||
+'Width'#2'n'#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSear'
|
||||
+'chAscending'#0#7'Enabled'#8#9'ItemIndex'#2#2#13'Items.Strings'#1#6#9'Minute'
|
||||
+'(s)'#6#7'Hour(s)'#6#6'Day(s)'#6#7'Week(s)'#6#8'Month(s)'#6#7'Year(s)'#0#9'M'
|
||||
+'axLength'#2#0#8'TabOrder'#2#5#4'Text'#6#6'Day(s)'#0#0#9'TCheckBox'#14'cbFil'
|
||||
+'eSizeFrom'#4'Left'#2#4#6'Height'#2#13#3'Top'#3#193#0#5'Width'#2'X'#7'Captio'
|
||||
+'n'#6#15'File Size From:'#8'OnChange'#7#20'cbFileSizeFromChange'#8'TabOrder'
|
||||
+#2#6#0#0#9'TCheckBox'#8'cbDateTo'#4'Left'#3#164#0#6'Height'#2#13#3'Top'#2#22
|
||||
+#5'Width'#2'>'#7'Caption'#6#8'Date To:'#8'OnChange'#7#14'cbDateToChange'#8'T'
|
||||
+'abOrder'#2#7#0#0#9'TCheckBox'#12'cbFileSizeTo'#4'Left'#3#164#0#6'Height'#2
|
||||
+#13#3'Top'#3#193#0#5'Width'#2'N'#7'Caption'#6#13'File Size To:'#8'OnChange'#7
|
||||
+#18'cbFileSizeToChange'#8'TabOrder'#2#8#0#0#9'TSpinEdit'#14'seFileSizeFrom'#4
|
||||
+'Left'#2#4#6'Height'#2#20#3'Top'#3#217#0#5'Width'#2'j'#7'Enabled'#8#8'TabOrd'
|
||||
+'er'#2#9#0#0#9'TSpinEdit'#12'seFileSizeTo'#4'Left'#3#164#0#6'Height'#2#20#3
|
||||
+'Top'#3#217#0#5'Width'#2'n'#7'Enabled'#8#8'TabOrder'#2#10#0#0#9'TComboBox'#15
|
||||
+'cbUnitOfMeasure'#4'Left'#3#28#1#6'Height'#2#21#3'Top'#3#217#0#5'Width'#2'H'
|
||||
+#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'
|
||||
+#0#9'ItemIndex'#2#1#13'Items.Strings'#1#6#4'Byte'#6#5'Kbyte'#6#5'Mbyte'#6#5
|
||||
+'Gbyte'#0#9'MaxLength'#2#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#11#4
|
||||
+'Text'#6#5'Kbyte'#0#0#9'TCheckBox'#10'cbTimeFrom'#4'Left'#2#4#6'Height'#2#13
|
||||
+#3'Top'#2'I'#5'Width'#2'E'#7'Caption'#6#10'Time from:'#8'OnChange'#7#16'cbTi'
|
||||
+'meFromChange'#8'TabOrder'#2#12#0#0#9'TCheckBox'#8'cbTimeTo'#4'Left'#3#164#0
|
||||
+#6'Height'#2#13#3'Top'#2'I'#5'Width'#2':'#7'Caption'#6#8'Time to:'#8'OnChang'
|
||||
+'e'#7#14'cbTimeToChange'#8'TabOrder'#2#13#0#0#9'TMaskEdit'#10'meTimeFrom'#4
|
||||
+'Left'#2#4#6'Height'#2#23#3'Top'#2'a'#5'Width'#2'P'#7'Enabled'#8#8'EditMask'
|
||||
+#6#8'00:00:00'#9'MaxLength'#2#8#11'ParentColor'#8#8'TabOrder'#2#14#4'Text'#6
|
||||
+#8'00:00:00'#8'OnChange'#7#12'meTimeChange'#0#0#9'TMaskEdit'#8'meTimeTo'#4'L'
|
||||
+'eft'#3#164#0#6'Height'#2#23#3'Top'#2'a'#5'Width'#2'P'#7'Enabled'#8#8'EditMa'
|
||||
+'sk'#6#8'00:00:00'#9'MaxLength'#2#8#11'ParentColor'#8#8'TabOrder'#2#15#4'Tex'
|
||||
+'t'#6#8'00:00:00'#8'OnChange'#7#12'meTimeChange'#0#0#0#0#7'TButton'#8'btnClo'
|
||||
+'se'#4'Left'#3#198#1#6'Height'#2#25#3'Top'#2'G'#5'Width'#2'K'#7'Anchors'#11#5
|
||||
+'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#6'&Close'
|
||||
+#7'OnClick'#7#13'btnCloseClick'#8'TabOrder'#2#3#0#0#7'TButton'#7'btnStop'#4
|
||||
+'Left'#3#198#1#6'Height'#2#25#3'Top'#2'g'#5'Width'#2'K'#7'Anchors'#11#5'akTo'
|
||||
+'p'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6
|
||||
+'Cancel'#7'Enabled'#8#7'OnClick'#7#12'btnStopClick'#8'TabOrder'#2#1#0#0#7'TB'
|
||||
+'utton'#8'btnStart'#4'Left'#3#198#1#6'Height'#2#25#3'Top'#2''''#5'Width'#2'K'
|
||||
+#7'Anchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Cap'
|
||||
+'tion'#6#6'&Start'#7'Default'#9#7'OnClick'#7#13'btnStartClick'#8'TabOrder'#2
|
||||
+#2#0#0#0#6'TPanel'#6'Panel1'#6'Height'#3#179#0#3'Top'#3#26#1#5'Width'#3#29#2
|
||||
+#5'Align'#7#8'alClient'#10'BevelOuter'#7#6'bvNone'#11'FullRepaint'#8#8'TabOr'
|
||||
+'der'#2#1#0#6'TPanel'#6'Panel3'#6'Height'#2'6'#5'Width'#3#29#2#5'Align'#7#5
|
||||
+'alTop'#10'BevelInner'#7#8'bvRaised'#10'BevelOuter'#7#9'bvLowered'#11'FullRe'
|
||||
+'paint'#8#8'TabOrder'#2#0#0#6'TLabel'#9'lblStatus'#4'Left'#2#8#6'Height'#2#13
|
||||
+#3'Top'#2#30#5'Width'#2','#7'Caption'#6#9'lblStatus'#5'Color'#7#6'clNone'#10
|
||||
+'Font.Color'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#15'adobe-helve'
|
||||
+'tica'#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'#11#6'fsBold'#0#11'Pare'
|
||||
+'ntColor'#8#0#0#6'TLabel'#10'lblCurrent'#4'Left'#2#8#6'Height'#2#13#3'Top'#2
|
||||
+#12#5'Width'#2'1'#7'Caption'#6#10'lblCurrent'#5'Color'#7#6'clNone'#10'Font.C'
|
||||
+'olor'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#15'adobe-helvetica'
|
||||
+#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'#11#6'fsBold'#0#11'ParentColo'
|
||||
+'r'#8#0#0#0#8'TListBox'#14'lsFoundedFiles'#6'Height'#2'}'#3'Top'#2'6'#5'Widt'
|
||||
+'h'#3#29#2#5'Align'#7#8'alClient'#11'MultiSelect'#9#10'OnDblClick'#7#22'lsFo'
|
||||
+'undedFilesDblClick'#9'PopupMenu'#7#13'PopupMenuFind'#8'TabOrder'#2#1#0#0#0
|
||||
,#10'TPopupMenu'#13'PopupMenuFind'#4'left'#3#152#0#3'top'#3#152#1#0#9'TMenuIt'
|
||||
+'em'#14'miShowInViewer'#7'Caption'#6#14'Show In Viewer'#7'OnClick'#7#19'miSh'
|
||||
+'owInViewerClick'#0#0#0#0
|
||||
]);
|
||||
|
|
|
|||
144
fFindDlg.pas
144
fFindDlg.pas
|
|
@ -20,7 +20,7 @@ uses
|
|||
LResources,
|
||||
SysUtils, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ComCtrls, ExtCtrls, Buttons, uFindThread, Menus,
|
||||
fLngForm, Calendar, EditBtn, Spin;
|
||||
fLngForm, Calendar, EditBtn, Spin, MaskEdit;
|
||||
|
||||
type
|
||||
|
||||
|
|
@ -37,10 +37,15 @@ type
|
|||
cbFileSizeFrom: TCheckBox;
|
||||
cbDateTo: TCheckBox;
|
||||
cbFileSizeTo: TCheckBox;
|
||||
ComboBox1: TComboBox;
|
||||
cbTimeFrom: TCheckBox;
|
||||
cbTimeTo: TCheckBox;
|
||||
cbDelayUnit: TComboBox;
|
||||
cbUnitOfMeasure: TComboBox;
|
||||
deDateFrom: TDateEdit;
|
||||
deDateTo: TDateEdit;
|
||||
SpinEdit1: TSpinEdit;
|
||||
meTimeFrom: TMaskEdit;
|
||||
meTimeTo: TMaskEdit;
|
||||
seNotOlderThan: TSpinEdit;
|
||||
seFileSizeFrom: TSpinEdit;
|
||||
seFileSizeTo: TSpinEdit;
|
||||
Splitter1: TSplitter;
|
||||
|
|
@ -69,6 +74,9 @@ type
|
|||
procedure cbDateToChange(Sender: TObject);
|
||||
procedure cbFileSizeFromChange(Sender: TObject);
|
||||
procedure cbFileSizeToChange(Sender: TObject);
|
||||
procedure cbNotOlderThanChange(Sender: TObject);
|
||||
procedure cbTimeFromChange(Sender: TObject);
|
||||
procedure cbTimeToChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure btnStopClick(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
|
|
@ -77,6 +85,7 @@ type
|
|||
procedure frmFindDlgClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure frmFindDlgShow(Sender: TObject);
|
||||
procedure lsFoundedFilesDblClick(Sender: TObject);
|
||||
procedure meTimeChange(Sender: TObject);
|
||||
procedure miShowInViewerClick(Sender: TObject);
|
||||
procedure FormKeyPress(Sender: TObject; var Key: Char);
|
||||
private
|
||||
|
|
@ -105,6 +114,7 @@ begin
|
|||
frmFindDlg.Show;
|
||||
frmFindDlg.BringToFront;
|
||||
frmFindDlg.cmbFindFileMask.SetFocus;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.LoadLng;
|
||||
|
|
@ -135,6 +145,8 @@ begin
|
|||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnStartClick(Sender: TObject);
|
||||
var
|
||||
dtTime : TDateTime;
|
||||
begin
|
||||
if not DirectoryExists(edtFindPathStart.Text) then
|
||||
begin
|
||||
|
|
@ -155,6 +167,7 @@ begin
|
|||
FilterMask:=cmbFindFileMask.Text;
|
||||
PathStart:=edtFindPathStart.Text;
|
||||
Items:=lsFoundedFiles.Items;
|
||||
IsNoThisText := cbNoThisText.Checked;
|
||||
FindInFiles:=cbFindInFile.Checked;
|
||||
FindData:=edtFindText.Text;
|
||||
CaseSensitive:=cbCaseSens.Checked;
|
||||
|
|
@ -162,24 +175,99 @@ begin
|
|||
if cbDateFrom.Checked then
|
||||
begin
|
||||
IsDateFrom := True;
|
||||
DateFrom := deDateFrom.Date;
|
||||
DateTimeFrom := deDateFrom.Date;
|
||||
end;
|
||||
if cbDateTo.Checked then
|
||||
begin
|
||||
IsDateTo := True;
|
||||
DateTo := deDateTo.Date;
|
||||
DateTimeTo := deDateTo.Date;
|
||||
end;
|
||||
(* Time search *)
|
||||
if cbTimeFrom.Checked then
|
||||
begin
|
||||
IsTimeFrom := True;
|
||||
dtTime := 0;
|
||||
if TryStrToTime(meTimeFrom.Text, dtTime) then
|
||||
DateTimeFrom := DateTimeFrom + dtTime;
|
||||
end;
|
||||
|
||||
if cbTimeTo.Checked then
|
||||
begin
|
||||
IsTimeTo := True;
|
||||
dtTime := 0;
|
||||
if TryStrToTime(meTimeTo.Text, dtTime) then
|
||||
DateTimeTo := DateTimeTo + dtTime;
|
||||
end;
|
||||
(* Not Older Than *)
|
||||
if cbNotOlderThan.Checked then
|
||||
begin
|
||||
case cbDelayUnit.ItemIndex of
|
||||
0: //Minute(s)
|
||||
begin
|
||||
IsTimeFrom := True;
|
||||
IsDateFrom := True;
|
||||
DateTimeFrom := Now - 0.0006945 * StrToInt(seNotOlderThan.Text);
|
||||
end;
|
||||
1: //Hour(s)
|
||||
begin
|
||||
IsTimeFrom := True;
|
||||
IsDateFrom := True;
|
||||
DateTimeFrom := Now - 0.0416667 * StrToInt(seNotOlderThan.Text);
|
||||
end;
|
||||
2: //Day(s)
|
||||
begin
|
||||
IsDateFrom := True;
|
||||
DateTimeFrom := Now - 1 * StrToInt(seNotOlderThan.Text);
|
||||
end;
|
||||
3: //Week(s)
|
||||
begin
|
||||
IsDateFrom := True;
|
||||
DateTimeFrom := Now - 7 * StrToInt(seNotOlderThan.Text);
|
||||
end;
|
||||
4: //Month(s)
|
||||
begin
|
||||
IsDateFrom := True;
|
||||
DateTimeFrom := Now - 31 * StrToInt(seNotOlderThan.Text);
|
||||
end;
|
||||
5: //Year(s)
|
||||
begin
|
||||
IsDateFrom := True;
|
||||
DateTimeFrom := Now - 365 * StrToInt(seNotOlderThan.Text);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
(* File size search *)
|
||||
if cbFileSizeFrom.Checked then
|
||||
begin
|
||||
IsFileSizeFrom := True;
|
||||
FileSizeFrom := seFileSizeFrom.Value;
|
||||
case cbUnitOfMeasure.ItemIndex of
|
||||
0:
|
||||
FileSizeFrom := seFileSizeFrom.Value; //Byte
|
||||
1:
|
||||
FileSizeFrom := seFileSizeFrom.Value * 1024; //KiloByte
|
||||
2:
|
||||
FileSizeFrom := seFileSizeFrom.Value * 1048576; //MegaByte
|
||||
3:
|
||||
FileSizeFrom := seFileSizeFrom.Value * 1073741824; //GigaByte
|
||||
end;
|
||||
end;
|
||||
if cbFileSizeTo.Checked then
|
||||
begin
|
||||
IsFileSizeTo := True;
|
||||
FileSizeTo := seFileSizeTo.Value;
|
||||
case cbUnitOfMeasure.ItemIndex of
|
||||
0:
|
||||
FileSizeTo := seFileSizeTo.Value; //Byte
|
||||
1:
|
||||
FileSizeTo := seFileSizeTo.Value * 1024; //KiloByte
|
||||
2:
|
||||
FileSizeTo := seFileSizeTo.Value * 1048576; //MegaByte
|
||||
3:
|
||||
FileSizeTo := seFileSizeTo.Value * 1073741824; //GigaByte
|
||||
end;
|
||||
end;
|
||||
|
||||
Status:=lblStatus;
|
||||
Current:=lblCurrent;
|
||||
writeln('thread a');
|
||||
|
|
@ -219,6 +307,30 @@ begin
|
|||
seFileSizeTo.Enabled := cbFileSizeTo.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbNotOlderThanChange(Sender: TObject);
|
||||
begin
|
||||
seNotOlderThan.Enabled := cbNotOlderThan.Checked;
|
||||
cbDelayUnit.Enabled := cbNotOlderThan.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbTimeFromChange(Sender: TObject);
|
||||
var
|
||||
sTime : String;
|
||||
begin
|
||||
meTimeFrom.Enabled := cbTimeFrom.Checked;
|
||||
DateTimeToString(sTime, 'hh:mm:ss', Time);
|
||||
meTimeFrom.EditText := sTime;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbTimeToChange(Sender: TObject);
|
||||
var
|
||||
sTime : String;
|
||||
begin
|
||||
meTimeTo.Enabled := cbTimeTo.Checked;
|
||||
DateTimeToString(sTime, 'hh:mm:ss', Time);
|
||||
meTimeTo.EditText := sTime;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.ThreadTerminate(Sender:TObject);
|
||||
begin
|
||||
writeln('thread terminate end');
|
||||
|
|
@ -284,6 +396,24 @@ begin
|
|||
miShowInViewer.Click;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.meTimeChange(Sender: TObject);
|
||||
var
|
||||
ME : TMaskEdit;
|
||||
begin
|
||||
ME := TMaskEdit(Sender);
|
||||
|
||||
if StrToIntDef(Copy(ME.EditText, 1, 2), 24) > 23 then
|
||||
ME.EditText := '00' + Copy(ME.EditText, 3, 6);
|
||||
|
||||
if StrToIntDef(Copy(ME.EditText, 4, 2), 60) > 59 then
|
||||
ME.EditText := Copy(ME.EditText, 1, 3) + '00' + Copy(ME.EditText, 6, 3);
|
||||
|
||||
if StrToIntDef(Copy(ME.EditText, 7, 2), 60) > 59 then
|
||||
ME.EditText := Copy(ME.EditText, 1, 6) + '00';
|
||||
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrmFindDlg.miShowInViewerClick(Sender: TObject);
|
||||
var
|
||||
sl:TStringList;
|
||||
|
|
|
|||
446
fMain.lrs
446
fMain.lrs
|
|
@ -1,227 +1,237 @@
|
|||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmMain','FORMDATA',[
|
||||
'TPF0'#8'TfrmMain'#7'frmMain'#7'Caption'#6#16'Double Commander'#12'ClientHeig'
|
||||
+'ht'#3'<'#1#11'ClientWidth'#3#13#2#10'Font.Color'#7#7'clBlack'#11'Font.Heigh'
|
||||
+'t'#2#13#9'Font.Name'#6#9'Helvetica'#10'Font.Pitch'#7#10'fpVariable'#10'KeyP'
|
||||
+'review'#9#4'Menu'#7#7'mnuMain'#10'OnActivate'#7#12'FormActivate'#7'OnClose'
|
||||
+#7#12'frmMainClose'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestr'
|
||||
+'oy'#9'OnKeyDown'#7#11'FormKeyDown'#10'OnKeyPress'#7#12'FormKeyPress'#7'OnKe'
|
||||
+'yUp'#7#12'frmMainKeyUp'#8'OnResize'#7#10'FormResize'#6'OnShow'#7#11'frmMain'
|
||||
+'Show'#13'PixelsPerInch'#2'`'#8'Position'#7#15'poDesktopCenter'#8'ShowHint'#9
|
||||
+#10'TextHeight'#2#16#18'HorzScrollBar.Page'#3#12#2#18'VertScrollBar.Page'#3
|
||||
+';'#1#19'VertScrollBar.Range'#2'O'#4'Left'#3#250#0#6'Height'#3'P'#1#3'Top'#3
|
||||
+#174#0#5'Width'#3#13#2#0#6'TPanel'#9'pnlButton'#5'Align'#7#5'alTop'#12'Clien'
|
||||
+'tHeight'#2#22#11'ClientWidth'#3#13#2#11'FullRepaint'#8#8'TabOrder'#2#0#7'Vi'
|
||||
+'sible'#8#6'Height'#2#22#3'Top'#2#23#5'Width'#3#13#2#0#0#6'TPanel'#7'pnlDisk'
|
||||
+#5'Align'#7#5'alTop'#7'Caption'#6#7'pnlDisk'#12'ClientHeight'#2#24#11'Client'
|
||||
+'Width'#3#13#2#11'FullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#1#6'Height'
|
||||
+#2#24#3'Top'#2'-'#5'Width'#3#13#2#0#11'TKAStoolBar'#7'dskLeft'#17'OnToolButt'
|
||||
+'onClick'#7#22'dskLeftToolButtonClick'#15'CheckToolButton'#9#11'FlatButtons'
|
||||
+#9#11'IsDiskPanel'#9#5'Align'#7#6'alLeft'#12'ClientHeight'#2#22#11'ClientWid'
|
||||
+'th'#3'b'#1#11'ParentColor'#8#8'TabOrder'#2#0#4'Left'#2#1#6'Height'#2#22#3'T'
|
||||
+'op'#2#1#5'Width'#3'b'#1#0#0#11'TKAStoolBar'#8'dskRight'#17'OnToolButtonClic'
|
||||
+'k'#7#23'dskRightToolButtonClick'#15'CheckToolButton'#9#11'FlatButtons'#9#11
|
||||
+'IsDiskPanel'#9#5'Align'#7#8'alClient'#7'Anchors'#11#5'akTop'#6'akLeft'#8'ak'
|
||||
+'Bottom'#0#12'ClientHeight'#2#22#11'ClientWidth'#3#169#0#8'TabOrder'#2#1#4'L'
|
||||
+'eft'#3'c'#1#6'Height'#2#22#3'Top'#2#1#5'Width'#3#169#0#0#0#0#6'TPanel'#10'p'
|
||||
+'nlCommand'#5'Align'#7#8'alBottom'#7'Anchors'#11#6'akLeft'#7'akRight'#0#10'B'
|
||||
+'evelOuter'#7#9'bvLowered'#12'ClientHeight'#2'B'#11'ClientWidth'#3#13#2#11'F'
|
||||
+'ullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#2#6'Height'#2'B'#3'Top'#3#250
|
||||
+#0#5'Width'#3#13#2#0#6'TLabel'#14'lblCommandPath'#9'Alignment'#7#14'taRightJ'
|
||||
+'ustify'#7'Caption'#6#4'Path'#5'Color'#7#6'clNone'#11'ParentColor'#8#13'Show'
|
||||
+'AccelChar'#8#4'Left'#2#1#6'Height'#2#14#3'Top'#2#8#5'Width'#2#23#0#0#6'TPan'
|
||||
+'el'#7'pnlKeys'#5'Align'#7#8'alBottom'#7'Anchors'#11#6'akLeft'#7'akRight'#0
|
||||
+#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2#27#11'ClientWidth'#3#11#2
|
||||
+#11'FullRepaint'#8#8'TabOrder'#2#0#8'OnResize'#7#13'pnlKeysResize'#4'Left'#2
|
||||
+#1#6'Height'#2#27#3'Top'#2'&'#5'Width'#3#11#2#0#12'TSpeedButton'#5'btnF3'#6
|
||||
+'Action'#7#7'actView'#4'Flat'#9#9'NumGlyphs'#2#0#4'Left'#2#1#6'Height'#2#23#3
|
||||
+'Top'#2#4#5'Width'#2'K'#0#0#12'TSpeedButton'#5'btnF4'#6'Action'#7#7'actEdit'
|
||||
+#4'Flat'#9#9'NumGlyphs'#2#0#4'Left'#2'L'#6'Height'#2#23#3'Top'#2#4#5'Width'#2
|
||||
+'K'#0#0#12'TSpeedButton'#5'btnF5'#6'Action'#7#7'actCopy'#4'Flat'#9#9'NumGlyp'
|
||||
+'hs'#2#0#4'Left'#3#151#0#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#0#0#12'TSpe'
|
||||
+'edButton'#5'btnF6'#6'Action'#7#9'actRename'#4'Flat'#9#9'NumGlyphs'#2#0#4'Le'
|
||||
+'ft'#3#226#0#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#0#0#12'TSpeedButton'#5
|
||||
+'btnF7'#6'Action'#7#10'actMakeDir'#4'Flat'#9#9'NumGlyphs'#2#0#4'Left'#3'-'#1
|
||||
+#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#0#0#12'TSpeedButton'#5'btnF8'#6'Act'
|
||||
+'ion'#7#9'actDelete'#4'Flat'#9#9'NumGlyphs'#2#0#4'Left'#3'x'#1#6'Height'#2#23
|
||||
+#3'Top'#2#4#5'Width'#2'K'#0#0#12'TSpeedButton'#6'btnF10'#6'Action'#7#7'actEx'
|
||||
+'it'#4'Flat'#9#9'NumGlyphs'#2#0#4'Left'#3#27#2#6'Height'#2#23#3'Top'#2#4#5'W'
|
||||
+'idth'#2'K'#0#0#12'TSpeedButton'#5'btnF9'#6'Action'#7#11'actShowMenu'#4'Flat'
|
||||
+#9#9'NumGlyphs'#2#0#4'Left'#3#192#1#6'Height'#2#22#3'Top'#2#4#5'Width'#2'Y'#0
|
||||
+#0#0#9'TComboBox'#10'edtCommand'#16'AutoCompleteText'#11#22'cbactEndOfLineCo'
|
||||
+'mplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18#9'MaxLength'#2#0#9'O'
|
||||
+'nKeyDown'#7#17'edtCommandKeyDown'#7'OnKeyUp'#7#15'edtCommandKeyUp'#11'Paren'
|
||||
+'tCtl3D'#8#8'TabOrder'#2#1#7'TabStop'#8#7'TabStop'#8#4'Left'#2'8'#6'Height'#2
|
||||
+#21#3'Top'#2#8#5'Width'#3#176#2#0#0#0#6'TPanel'#12'pnlNotebooks'#5'Align'#7#8
|
||||
+'alClient'#12'ClientHeight'#3#181#0#11'ClientWidth'#3#13#2#11'FullRepaint'#8
|
||||
+#8'TabOrder'#2#3#7'TabStop'#9#6'Height'#3#181#0#3'Top'#2'E'#5'Width'#3#13#2#0
|
||||
+#9'TNotebook'#6'nbLeft'#5'Align'#7#6'alLeft'#17'OnCloseTabClicked'#7#23'Note'
|
||||
+'BookCloseTabClicked'#7'Options'#11#19'nboShowCloseButtons'#0#4'Left'#2#1#6
|
||||
+'Height'#3#179#0#3'Top'#2#1#5'Width'#3#135#1#0#0#9'TSplitter'#9'Splitter1'#6
|
||||
+'Height'#3#179#0#11'ResizeStyle'#7#6'rsLine'#5'Width'#2#4#6'Cursor'#7#8'crHS'
|
||||
+'plit'#4'Left'#3#136#1#6'Height'#3#179#0#3'Top'#2#1#5'Width'#2#4#0#0#9'TNote'
|
||||
+'book'#7'nbRight'#5'Align'#7#8'alClient'#17'OnCloseTabClicked'#7#23'NoteBook'
|
||||
+'CloseTabClicked'#7'Options'#11#19'nboShowCloseButtons'#0#4'Left'#3#140#1#6
|
||||
+'Height'#3#179#0#3'Top'#2#1#5'Width'#3#128#0#0#0#0#11'TKAStoolBar'#11'MainTo'
|
||||
+'olBar'#17'OnToolButtonClick'#7#26'MainToolBarToolButtonClick'#11'FlatButton'
|
||||
,'s'#9#5'Align'#7#5'alTop'#12'ClientHeight'#2#23#11'ClientWidth'#3#13#2#8'Tab'
|
||||
+'Order'#2#4#11'OnMouseDown'#7#20'MainToolBarMouseDown'#6'Height'#2#23#5'Widt'
|
||||
+'h'#3#13#2#0#0#9'TMainMenu'#7'mnuMain'#4'left'#3#27#1#3'top'#2#8#0#9'TMenuIt'
|
||||
+'em'#8'mnuFiles'#7'Caption'#6#5'Files'#0#9'TMenuItem'#12'mnuFilesLink'#6'Act'
|
||||
+'ion'#7#11'actHardLink'#7'OnClick'#7#18'actHardLinkExecute'#0#0#9'TMenuItem'
|
||||
+#15'mnuFilesSymLink'#6'Action'#7#10'actSymLink'#7'OnClick'#7#17'actSymLinkEx'
|
||||
+'ecute'#0#0#9'TMenuItem'#7'miLine1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#14'mn'
|
||||
+'uFilesAttrib'#6'Action'#7#8'actChMod'#7'OnClick'#7#15'actChModExecute'#0#0#9
|
||||
+'TMenuItem'#13'mnuFilesChown'#6'Action'#7#8'actChown'#7'OnClick'#7#15'actCho'
|
||||
+'wnExecute'#0#0#9'TMenuItem'#18'mnuFilesProperties'#6'Action'#7#17'actFilePr'
|
||||
+'operties'#7'OnClick'#7#24'actFilePropertiesExecute'#0#0#9'TMenuItem'#13'mnu'
|
||||
+'FilesSpace'#6'Action'#7#17'actCalculateSpace'#7'OnClick'#7#24'actCalculateS'
|
||||
+'paceExecute'#0#0#9'TMenuItem'#14'mnuFilesCmpCnt'#6'Action'#7#18'actCompareC'
|
||||
+'ontents'#7'OnClick'#7#25'actCompareContentsExecute'#0#0#9'TMenuItem'#13'miM'
|
||||
+'ultiRename'#6'Action'#7#14'actMultiRename'#7'OnClick'#7#21'actMultiRenameEx'
|
||||
+'ecute'#0#0#9'TMenuItem'#7'miLine2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'mn'
|
||||
+'uFilesSplit'#6'Action'#7#14'actFileSpliter'#7'OnClick'#7#21'actFileSpliterE'
|
||||
+'xecute'#0#0#9'TMenuItem'#15'mnuFilesCombine'#6'Action'#7#13'actFileLinker'#7
|
||||
+'Caption'#6#13'Combine Files'#7'OnClick'#7#20'actFileLinkerExecute'#0#0#9'TM'
|
||||
+'enuItem'#7'miLine3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#19'mnuFilesShwSysFil'
|
||||
+'es'#6'Action'#7#15'actShowSysFiles'#7'OnClick'#7#22'actShowSysFilesExecute'
|
||||
+#0#0#9'TMenuItem'#7'miLine4'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'miExit'#6
|
||||
+'Action'#7#7'actExit'#7'OnClick'#7#14'actExitExecute'#0#0#0#9'TMenuItem'#7'm'
|
||||
+'nuMark'#7'Caption'#6#5'&Mark'#0#9'TMenuItem'#13'mnuMarkSGroup'#6'Action'#7
|
||||
+#11'actMarkPlus'#7'OnClick'#7#18'actMarkPlusExecute'#0#0#9'TMenuItem'#13'mnu'
|
||||
+'MarkUGroup'#6'Action'#7#12'actMarkMinus'#7'OnClick'#7#19'actMarkMinusExecut'
|
||||
+'e'#0#0#9'TMenuItem'#11'mnuMarkSAll'#6'Action'#7#14'actMarkMarkAll'#7'OnClic'
|
||||
+'k'#7#21'actMarkMarkAllExecute'#0#0#9'TMenuItem'#11'mnuMarkUAll'#6'Action'#7
|
||||
+#16'actMarkUnmarkAll'#7'OnClick'#7#23'actMarkUnmarkAllExecute'#0#0#9'TMenuIt'
|
||||
+'em'#13'mnuMarkInvert'#6'Action'#7#13'actMarkInvert'#7'OnClick'#7#20'actMark'
|
||||
+'InvertExecute'#0#0#9'TMenuItem'#7'miLine5'#7'Caption'#6#1'-'#0#0#9'TMenuIte'
|
||||
+'m'#13'mnuMarkCmpDir'#7'Caption'#6#20'&Compare Directories'#7'Enabled'#8#8'S'
|
||||
+'hortCut'#3'10'#0#0#0#9'TMenuItem'#6'mnuCmd'#7'Caption'#6#9'&Commands'#0#9'T'
|
||||
+'MenuItem'#12'mnuCmdSearch'#6'Action'#7#9'actSearch'#7'OnClick'#7#16'actSear'
|
||||
+'chExecute'#0#0#9'TMenuItem'#16'mnuCmdDirHotlist'#6'Action'#7#13'actDirHotLi'
|
||||
+'st'#7'OnClick'#7#20'actDirHotListExecute'#0#0#9'TMenuItem'#7'miLine6'#7'Cap'
|
||||
+'tion'#6#1'-'#0#0#9'TMenuItem'#9'miRunTerm'#6'Action'#7#10'actRunTerm'#7'OnC'
|
||||
+'lick'#7#17'actRunTermExecute'#0#0#9'TMenuItem'#7'miLine9'#7'Caption'#6#1'-'
|
||||
+#0#0#9'TMenuItem'#22'mnuCmdSwapSourceTarget'#7'Caption'#6#18'Source &<-> Tar'
|
||||
+'get'#7'Enabled'#8#8'ShortCut'#3'U@'#0#0#9'TMenuItem'#20'mnuCmdTargetIsSourc'
|
||||
+'e'#7'Caption'#6#16'Target &= Source'#7'Enabled'#8#0#0#0#9'TMenuItem'#7'mnuS'
|
||||
+'how'#7'Caption'#6#5'&Show'#0#9'TMenuItem'#11'mnuShowName'#6'Action'#7#13'ac'
|
||||
+'tSortByName'#7'OnClick'#7#20'actSortByNameExecute'#0#0#9'TMenuItem'#16'mnuS'
|
||||
+'howExtension'#6'Action'#7#12'actSortByExt'#7'OnClick'#7#19'actSortByExtExec'
|
||||
+'ute'#0#0#9'TMenuItem'#11'mnuShowSize'#6'Action'#7#13'actSortBySize'#7'OnCli'
|
||||
+'ck'#7#20'actSortBySizeExecute'#0#0#9'TMenuItem'#11'mnuShowTime'#6'Action'#7
|
||||
+#13'actSortByDate'#7'OnClick'#7#20'actSortByDateExecute'#0#0#9'TMenuItem'#13
|
||||
+'mnuShowAttrib'#6'Action'#7#13'actSortByAttr'#7'OnClick'#7#20'actSortByAttrE'
|
||||
+'xecute'#0#0#9'TMenuItem'#7'miLine7'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#14'm'
|
||||
+'nuShowReverse'#6'Action'#7#15'actReverseOrder'#7'OnClick'#7#22'actReverseOr'
|
||||
+'derExecute'#0#0#9'TMenuItem'#13'mnuShowReread'#6'Action'#7#10'actRefresh'#7
|
||||
'TPF0'#241#8'TfrmMain'#7'frmMain'#4'Left'#3#217#0#6'Height'#3'P'#1#3'Top'#3
|
||||
+#158#0#5'Width'#3#13#2#18'HorzScrollBar.Page'#3#12#2#18'VertScrollBar.Page'#3
|
||||
+';'#1#19'VertScrollBar.Range'#2'O'#7'Caption'#6#16'Double Commander'#10'Font'
|
||||
+'.Color'#7#7'clBlack'#11'Font.Height'#2#13#9'Font.Name'#6#9'Helvetica'#10'Fo'
|
||||
+'nt.Pitch'#7#10'fpVariable'#10'KeyPreview'#9#4'Menu'#7#7'mnuMain'#10'OnActiv'
|
||||
+'ate'#7#12'FormActivate'#7'OnClose'#7#12'frmMainClose'#9'OnDestroy'#7#11'For'
|
||||
+'mDestroy'#9'OnKeyDown'#7#11'FormKeyDown'#10'OnKeyPress'#7#12'FormKeyPress'#7
|
||||
+'OnKeyUp'#7#12'frmMainKeyUp'#8'OnResize'#7#10'FormResize'#6'OnShow'#7#11'frm'
|
||||
+'MainShow'#8'Position'#7#15'poDesktopCenter'#8'ShowHint'#9#0#6'TPanel'#9'pnl'
|
||||
+'Button'#6'Height'#2#22#3'Top'#2#23#5'Width'#3#13#2#5'Align'#7#5'alTop'#11'F'
|
||||
+'ullRepaint'#8#8'TabOrder'#2#0#7'Visible'#8#0#0#6'TPanel'#7'pnlDisk'#6'Heigh'
|
||||
+'t'#2#24#3'Top'#2'-'#5'Width'#3#13#2#5'Align'#7#5'alTop'#7'Caption'#6#7'pnlD'
|
||||
+'isk'#11'FullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#1#0#11'TKAStoolBar'#7
|
||||
+'dskLeft'#4'Left'#2#1#6'Height'#2#22#3'Top'#2#1#5'Width'#3'b'#1#5'Align'#7#6
|
||||
+'alLeft'#11'ParentColor'#8#8'TabOrder'#2#0#17'OnToolButtonClick'#7#22'dskLef'
|
||||
+'tToolButtonClick'#15'CheckToolButton'#9#11'FlatButtons'#9#11'IsDiskPanel'#9
|
||||
+#0#0#11'TKAStoolBar'#8'dskRight'#4'Left'#3'c'#1#6'Height'#2#22#3'Top'#2#1#5
|
||||
+'Width'#3#169#0#5'Align'#7#8'alClient'#7'Anchors'#11#5'akTop'#6'akLeft'#8'ak'
|
||||
+'Bottom'#0#8'TabOrder'#2#1#17'OnToolButtonClick'#7#23'dskRightToolButtonClic'
|
||||
+'k'#15'CheckToolButton'#9#11'FlatButtons'#9#11'IsDiskPanel'#9#0#0#0#6'TPanel'
|
||||
+#10'pnlCommand'#6'Height'#2'B'#3'Top'#3#250#0#5'Width'#3#13#2#5'Align'#7#8'a'
|
||||
+'lBottom'#7'Anchors'#11#6'akLeft'#7'akRight'#0#10'BevelOuter'#7#9'bvLowered'
|
||||
+#11'FullRepaint'#8#11'ParentColor'#8#8'TabOrder'#2#2#0#6'TLabel'#14'lblComma'
|
||||
+'ndPath'#4'Left'#2#1#6'Height'#2#14#3'Top'#2#8#5'Width'#2#23#9'Alignment'#7
|
||||
+#14'taRightJustify'#7'Caption'#6#4'Path'#5'Color'#7#6'clNone'#11'ParentColor'
|
||||
+#8#13'ShowAccelChar'#8#0#0#6'TPanel'#7'pnlKeys'#4'Left'#2#1#6'Height'#2#27#3
|
||||
+'Top'#2'&'#5'Width'#3#11#2#5'Align'#7#8'alBottom'#7'Anchors'#11#6'akLeft'#7
|
||||
+'akRight'#0#10'BevelOuter'#7#9'bvLowered'#11'FullRepaint'#8#8'TabOrder'#2#0#8
|
||||
+'OnResize'#7#13'pnlKeysResize'#0#12'TSpeedButton'#5'btnF3'#4'Left'#2#1#6'Hei'
|
||||
+'ght'#2#23#3'Top'#2#4#5'Width'#2'K'#6'Action'#7#7'actView'#5'Color'#7#9'clBt'
|
||||
+'nFace'#4'Flat'#9#9'NumGlyphs'#2#0#0#0#12'TSpeedButton'#5'btnF4'#4'Left'#2'L'
|
||||
+#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#6'Action'#7#7'actEdit'#5'Color'#7#9
|
||||
+'clBtnFace'#4'Flat'#9#9'NumGlyphs'#2#0#0#0#12'TSpeedButton'#5'btnF5'#4'Left'
|
||||
+#3#151#0#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#6'Action'#7#7'actCopy'#5'Co'
|
||||
+'lor'#7#9'clBtnFace'#4'Flat'#9#9'NumGlyphs'#2#0#0#0#12'TSpeedButton'#5'btnF6'
|
||||
+#4'Left'#3#226#0#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#6'Action'#7#9'actRe'
|
||||
+'name'#5'Color'#7#9'clBtnFace'#4'Flat'#9#9'NumGlyphs'#2#0#0#0#12'TSpeedButto'
|
||||
+'n'#5'btnF7'#4'Left'#3'-'#1#6'Height'#2#23#3'Top'#2#4#5'Width'#2'K'#6'Action'
|
||||
+#7#10'actMakeDir'#5'Color'#7#9'clBtnFace'#4'Flat'#9#9'NumGlyphs'#2#0#0#0#12
|
||||
+'TSpeedButton'#5'btnF8'#4'Left'#3'x'#1#6'Height'#2#23#3'Top'#2#4#5'Width'#2
|
||||
+'K'#6'Action'#7#9'actDelete'#5'Color'#7#9'clBtnFace'#4'Flat'#9#9'NumGlyphs'#2
|
||||
+#0#0#0#12'TSpeedButton'#6'btnF10'#4'Left'#3#27#2#6'Height'#2#23#3'Top'#2#4#5
|
||||
+'Width'#2'K'#6'Action'#7#7'actExit'#5'Color'#7#9'clBtnFace'#4'Flat'#9#9'NumG'
|
||||
+'lyphs'#2#0#0#0#12'TSpeedButton'#5'btnF9'#4'Left'#3#192#1#6'Height'#2#22#3'T'
|
||||
+'op'#2#4#5'Width'#2'Y'#6'Action'#7#11'actShowMenu'#5'Color'#7#9'clBtnFace'#4
|
||||
+'Flat'#9#9'NumGlyphs'#2#0#0#0#0#9'TComboBox'#10'edtCommand'#4'Left'#2'8'#6'H'
|
||||
+'eight'#2#21#3'Top'#2#8#5'Width'#3#176#2#7'TabStop'#8#16'AutoCompleteText'#11
|
||||
+#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18#9
|
||||
+'MaxLength'#2#0#9'OnKeyDown'#7#17'edtCommandKeyDown'#7'OnKeyUp'#7#15'edtComm'
|
||||
+'andKeyUp'#11'ParentCtl3D'#8#8'TabOrder'#2#1#0#0#0#6'TPanel'#12'pnlNotebooks'
|
||||
+#6'Height'#3#181#0#3'Top'#2'E'#5'Width'#3#13#2#5'Align'#7#8'alClient'#11'Ful'
|
||||
+'lRepaint'#8#8'TabOrder'#2#3#7'TabStop'#9#0#9'TNotebook'#6'nbLeft'#4'Left'#2
|
||||
+#1#6'Height'#3#179#0#3'Top'#2#1#5'Width'#3#135#1#5'Align'#7#6'alLeft'#17'OnC'
|
||||
+'loseTabClicked'#7#23'NoteBookCloseTabClicked'#7'Options'#11#19'nboShowClose'
|
||||
+'Buttons'#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3#136#1#6'Height'#3#179#0#3
|
||||
+'Top'#2#1#5'Width'#2#4#11'ResizeStyle'#7#6'rsLine'#0#0#9'TNotebook'#7'nbRigh'
|
||||
+'t'#4'Left'#3#140#1#6'Height'#3#179#0#3'Top'#2#1#5'Width'#3#128#0#5'Align'#7
|
||||
+#8'alClient'#17'OnCloseTabClicked'#7#23'NoteBookCloseTabClicked'#7'Options'
|
||||
+#11#19'nboShowCloseButtons'#0#0#0#0#11'TKAStoolBar'#11'MainToolBar'#6'Height'
|
||||
+#2#23#5'Width'#3#13#2#5'Align'#7#5'alTop'#8'TabOrder'#2#4#11'OnMouseDown'#7
|
||||
+#20'MainToolBarMouseDown'#17'OnToolButtonClick'#7#26'MainToolBarToolButtonCl'
|
||||
+'ick'#11'FlatButtons'#9#0#0#9'TMainMenu'#7'mnuMain'#4'left'#3#27#1#3'top'#2#8
|
||||
+#0#9'TMenuItem'#8'mnuFiles'#7'Caption'#6#5'Files'#0#9'TMenuItem'#12'mnuFiles'
|
||||
+'Link'#6'Action'#7#11'actHardLink'#7'OnClick'#7#18'actHardLinkExecute'#0#0#9
|
||||
,'TMenuItem'#15'mnuFilesSymLink'#6'Action'#7#10'actSymLink'#7'OnClick'#7#17'a'
|
||||
+'ctSymLinkExecute'#0#0#9'TMenuItem'#7'miLine1'#7'Caption'#6#1'-'#0#0#9'TMenu'
|
||||
+'Item'#14'mnuFilesAttrib'#6'Action'#7#8'actChMod'#7'OnClick'#7#15'actChModEx'
|
||||
+'ecute'#0#0#9'TMenuItem'#13'mnuFilesChown'#6'Action'#7#8'actChown'#7'OnClick'
|
||||
+#7#15'actChownExecute'#0#0#9'TMenuItem'#18'mnuFilesProperties'#6'Action'#7#17
|
||||
+'actFileProperties'#7'OnClick'#7#24'actFilePropertiesExecute'#0#0#9'TMenuIte'
|
||||
+'m'#13'mnuFilesSpace'#6'Action'#7#17'actCalculateSpace'#7'OnClick'#7#24'actC'
|
||||
+'alculateSpaceExecute'#0#0#9'TMenuItem'#14'mnuFilesCmpCnt'#6'Action'#7#18'ac'
|
||||
+'tCompareContents'#7'OnClick'#7#25'actCompareContentsExecute'#0#0#9'TMenuIte'
|
||||
+'m'#13'miMultiRename'#6'Action'#7#14'actMultiRename'#7'OnClick'#7#21'actMult'
|
||||
+'iRenameExecute'#0#0#9'TMenuItem'#7'miLine2'#7'Caption'#6#1'-'#0#0#9'TMenuIt'
|
||||
+'em'#13'mnuFilesSplit'#6'Action'#7#14'actFileSpliter'#7'OnClick'#7#21'actFil'
|
||||
+'eSpliterExecute'#0#0#9'TMenuItem'#15'mnuFilesCombine'#6'Action'#7#13'actFil'
|
||||
+'eLinker'#7'Caption'#6#13'Combine Files'#7'OnClick'#7#20'actFileLinkerExecut'
|
||||
+'e'#0#0#9'TMenuItem'#7'miLine3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#19'mnuFil'
|
||||
+'esShwSysFiles'#6'Action'#7#15'actShowSysFiles'#7'OnClick'#7#22'actShowSysFi'
|
||||
+'lesExecute'#0#0#9'TMenuItem'#7'miLine4'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6
|
||||
+'miExit'#6'Action'#7#7'actExit'#7'OnClick'#7#14'actExitExecute'#0#0#0#9'TMen'
|
||||
+'uItem'#7'mnuMark'#7'Caption'#6#5'&Mark'#0#9'TMenuItem'#13'mnuMarkSGroup'#6
|
||||
+'Action'#7#11'actMarkPlus'#7'OnClick'#7#18'actMarkPlusExecute'#0#0#9'TMenuIt'
|
||||
+'em'#13'mnuMarkUGroup'#6'Action'#7#12'actMarkMinus'#7'OnClick'#7#19'actMarkM'
|
||||
+'inusExecute'#0#0#9'TMenuItem'#11'mnuMarkSAll'#6'Action'#7#14'actMarkMarkAll'
|
||||
+#7'OnClick'#7#21'actMarkMarkAllExecute'#0#0#9'TMenuItem'#11'mnuMarkUAll'#6'A'
|
||||
+'ction'#7#16'actMarkUnmarkAll'#7'OnClick'#7#23'actMarkUnmarkAllExecute'#0#0#9
|
||||
+'TMenuItem'#13'mnuMarkInvert'#6'Action'#7#13'actMarkInvert'#7'OnClick'#7#20
|
||||
+'actMarkInvertExecute'#0#0#9'TMenuItem'#7'miLine5'#7'Caption'#6#1'-'#0#0#9'T'
|
||||
+'MenuItem'#13'mnuMarkCmpDir'#7'Caption'#6#20'&Compare Directories'#7'Enabled'
|
||||
+#8#8'ShortCut'#3'10'#0#0#0#9'TMenuItem'#6'mnuCmd'#7'Caption'#6#9'&Commands'#0
|
||||
+#9'TMenuItem'#12'mnuCmdSearch'#6'Action'#7#9'actSearch'#7'OnClick'#7#16'actS'
|
||||
+'earchExecute'#0#0#9'TMenuItem'#16'mnuCmdDirHotlist'#6'Action'#7#13'actDirHo'
|
||||
+'tList'#7'OnClick'#7#20'actDirHotListExecute'#0#0#9'TMenuItem'#7'miLine6'#7
|
||||
+'Caption'#6#1'-'#0#0#9'TMenuItem'#9'miRunTerm'#6'Action'#7#10'actRunTerm'#7
|
||||
+'OnClick'#7#17'actRunTermExecute'#0#0#9'TMenuItem'#7'miLine9'#7'Caption'#6#1
|
||||
+'-'#0#0#9'TMenuItem'#22'mnuCmdSwapSourceTarget'#7'Caption'#6#18'Source &<-> '
|
||||
+'Target'#7'Enabled'#8#8'ShortCut'#3'U@'#0#0#9'TMenuItem'#20'mnuCmdTargetIsSo'
|
||||
+'urce'#7'Caption'#6#16'Target &= Source'#7'Enabled'#8#0#0#0#9'TMenuItem'#7'm'
|
||||
+'nuShow'#7'Caption'#6#5'&Show'#0#9'TMenuItem'#11'mnuShowName'#6'Action'#7#13
|
||||
+'actSortByName'#7'OnClick'#7#20'actSortByNameExecute'#0#0#9'TMenuItem'#16'mn'
|
||||
+'uShowExtension'#6'Action'#7#12'actSortByExt'#7'OnClick'#7#19'actSortByExtEx'
|
||||
+'ecute'#0#0#9'TMenuItem'#11'mnuShowSize'#6'Action'#7#13'actSortBySize'#7'OnC'
|
||||
+'lick'#7#20'actSortBySizeExecute'#0#0#9'TMenuItem'#11'mnuShowTime'#6'Action'
|
||||
+#7#13'actSortByDate'#7'OnClick'#7#20'actSortByDateExecute'#0#0#9'TMenuItem'
|
||||
+#13'mnuShowAttrib'#6'Action'#7#13'actSortByAttr'#7'OnClick'#7#20'actSortByAt'
|
||||
+'trExecute'#0#0#9'TMenuItem'#7'miLine7'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#14
|
||||
+'mnuShowReverse'#6'Action'#7#15'actReverseOrder'#7'OnClick'#7#22'actReverseO'
|
||||
+'rderExecute'#0#0#9'TMenuItem'#13'mnuShowReread'#6'Action'#7#10'actRefresh'#7
|
||||
+'OnClick'#7#17'actRefreshExecute'#0#0#0#9'TMenuItem'#9'mnuConfig'#7'Caption'
|
||||
+#6#14'C&onfiguration'#0#9'TMenuItem'#16'mnuConfigOptions'#6'Action'#7#10'act'
|
||||
+'Options'#7'OnClick'#7#17'actOptionsExecute'#0#0#0#9'TMenuItem'#7'mnuHelp'#7
|
||||
+'Caption'#6#5'&Help'#0#9'TMenuItem'#12'mnuHelpAbout'#6'Action'#7#8'actAbout'
|
||||
+#8'ShortCut'#2'p'#7'OnClick'#7#15'actAboutExecute'#0#0#0#0#11'TActionList'#9
|
||||
+'actionLst'#4'left'#3'h'#1#3'top'#2'@'#0#7'TAction'#7'actExit'#7'Caption'#6#4
|
||||
+'Exit'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#14'actExitExecute'#8'Catego'
|
||||
+'ry'#6#4'File'#0#0#7'TAction'#7'actView'#7'Caption'#6#7'View F3'#8'HelpType'
|
||||
+#7#9'htKeyword'#9'OnExecute'#7#14'actViewExecute'#8'ShortCut'#3'2'#16#8'Cate'
|
||||
+'gory'#6#7'Classic'#0#0#7'TAction'#7'actEdit'#7'Caption'#6#7'Edit F4'#8'Help'
|
||||
+'Type'#7#9'htKeyword'#9'OnExecute'#7#14'actEditExecute'#8'ShortCut'#3'3'#16#8
|
||||
+'Category'#6#7'Classic'#0#0#7'TAction'#7'actCopy'#7'Caption'#6#7'Copy F5'#8
|
||||
+'HelpType'#7#9'htKeyword'#9'OnExecute'#7#14'actCopyExecute'#8'ShortCut'#3'4'
|
||||
,#16#8'Category'#6#7'Classic'#0#0#7'TAction'#9'actRename'#7'Caption'#6#9'Rena'
|
||||
+'me F6'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#16'actRenameExecute'#8'Sho'
|
||||
+'rtCut'#3'5'#16#8'Category'#6#7'Classic'#0#0#7'TAction'#10'actMakeDir'#7'Cap'
|
||||
+'tion'#6#10'MakeDir F7'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actMake'
|
||||
+'DirExecute'#8'ShortCut'#3'6'#16#8'Category'#6#7'Classic'#0#0#7'TAction'#9'a'
|
||||
+'ctDelete'#7'Caption'#6#9'Delete F8'#8'HelpType'#7#9'htKeyword'#9'OnExecute'
|
||||
+#7#16'actDeleteExecute'#8'ShortCut'#3'7'#16#8'Category'#6#7'Classic'#0#0#7'T'
|
||||
+'Action'#8'actAbout'#7'Caption'#6#5'About'#8'HelpType'#7#9'htKeyword'#9'OnEx'
|
||||
+'ecute'#7#15'actAboutExecute'#8'ShortCut'#3'0'#16#8'Category'#6#4'Help'#0#0#7
|
||||
+'TAction'#15'actShowSysFiles'#7'Caption'#6#17'Show System Files'#7'Checked'#9
|
||||
+#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#22'actShowSysFilesExecute'#8'Cate'
|
||||
+'gory'#6#4'File'#0#0#7'TAction'#10'actOptions'#7'Caption'#6#10'Options...'#8
|
||||
+'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actOptionsExecute'#8'Category'#6
|
||||
+#6'Config'#0#0#7'TAction'#18'actCompareContents'#7'Caption'#6#20'Compare by '
|
||||
+'&Contents'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#25'actCompareContentsE'
|
||||
+'xecute'#8'Category'#6#4'File'#0#0#7'TAction'#11'actShowMenu'#7'Caption'#6#7
|
||||
+'Menu F9'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#18'actShowMenuExecute'#8
|
||||
+'ShortCut'#3'8'#16#8'Category'#6#7'Classic'#0#0#7'TAction'#10'actRefresh'#7
|
||||
+'Caption'#6#8'&Refresh'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actRefr'
|
||||
+'eshExecute'#8'ShortCut'#3'R@'#8'Category'#6#4'Show'#0#0#7'TAction'#9'actSea'
|
||||
+'rch'#7'Caption'#6#7'&Search'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#16'a'
|
||||
+'ctSearchExecute'#8'ShortCut'#3'6P'#8'Category'#6#8'Commands'#0#0#7'TAction'
|
||||
+#13'actDirHotList'#7'Caption'#6#18'Directory &hotlist'#8'HelpType'#7#9'htKey'
|
||||
+'word'#9'OnExecute'#7#20'actDirHotListExecute'#8'ShortCut'#3'D@'#8'Category'
|
||||
+#6#8'Commands'#0#0#7'TAction'#14'actMarkMarkAll'#7'Caption'#6#11'&Select All'
|
||||
+#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#21'actMarkMarkAllExecute'#8'Categ'
|
||||
+'ory'#6#4'Mark'#0#0#7'TAction'#13'actMarkInvert'#7'Caption'#6#17'Invert Sele'
|
||||
+'ctions'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actMarkInvertExecute'#8
|
||||
+'ShortCut'#2'*'#8'Category'#6#4'Mark'#0#0#7'TAction'#16'actMarkUnmarkAll'#7
|
||||
+'Caption'#6#12'Unselect All'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#23'ac'
|
||||
+'tMarkUnmarkAllExecute'#8'Category'#6#4'Mark'#0#0#7'TAction'#10'actDelete2'#7
|
||||
+'Caption'#6#10'actDelete2'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actD'
|
||||
+'elete2Execute'#8'ShortCut'#3#7#16#8'Category'#6#7'Classic'#0#0#7'TAction'#16
|
||||
+'actPathToCmdLine'#7'Caption'#6#16'actPathToCmdLine'#8'HelpType'#7#9'htKeywo'
|
||||
+'rd'#9'OnExecute'#7#23'actPathToCmdLineExecute'#8'ShortCut'#3'P@'#0#0#7'TAct'
|
||||
+'ion'#11'actMarkPlus'#7'Caption'#6#14'Select a group'#8'HelpType'#7#9'htKeyw'
|
||||
+'ord'#9'OnExecute'#7#18'actMarkPlusExecute'#8'Category'#6#4'Mark'#0#0#7'TAct'
|
||||
+'ion'#12'actMarkMinus'#7'Caption'#6#16'Unselect a group'#8'HelpType'#7#9'htK'
|
||||
+'eyword'#9'OnExecute'#7#19'actMarkMinusExecute'#8'Category'#6#4'Mark'#0#0#7
|
||||
+'TAction'#8'actChMod'#7'Caption'#6#17'Change Attributes'#8'HelpType'#7#9'htK'
|
||||
+'eyword'#9'OnExecute'#7#15'actChModExecute'#8'Category'#6#4'File'#0#0#7'TAct'
|
||||
+'ion'#10'actSymLink'#7'Caption'#6#17'Create symlink...'#8'HelpType'#7#9'htKe'
|
||||
+'yword'#9'OnExecute'#7#17'actSymLinkExecute'#8'Category'#6#4'File'#0#0#7'TAc'
|
||||
+'tion'#11'actHardLink'#7'Caption'#6#14'Create link...'#8'HelpType'#7#9'htKey'
|
||||
+'word'#9'OnExecute'#7#18'actHardLinkExecute'#8'Category'#6#4'File'#0#0#7'TAc'
|
||||
+'tion'#15'actReverseOrder'#7'Caption'#6#13'Reverse order'#8'HelpType'#7#9'ht'
|
||||
+'Keyword'#9'OnExecute'#7#22'actReverseOrderExecute'#8'Category'#6#4'Show'#0#0
|
||||
+#7'TAction'#13'actSortByName'#7'Caption'#6#4'Name'#8'HelpType'#7#9'htKeyword'
|
||||
+#9'OnExecute'#7#20'actSortByNameExecute'#8'Category'#6#4'Show'#0#0#7'TAction'
|
||||
+#12'actSortByExt'#7'Caption'#6#9'Extension'#8'HelpType'#7#9'htKeyword'#9'OnE'
|
||||
+'xecute'#7#19'actSortByExtExecute'#8'Category'#6#4'Show'#0#0#7'TAction'#13'a'
|
||||
+'ctSortBySize'#7'Caption'#6#4'Size'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7
|
||||
+#20'actSortBySizeExecute'#8'Category'#6#4'Show'#0#0#7'TAction'#13'actSortByD'
|
||||
+'ate'#7'Caption'#6#4'Date'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actS'
|
||||
+'ortByDateExecute'#8'Category'#6#4'Show'#0#0#7'TAction'#13'actSortByAttr'#7
|
||||
+'Caption'#6#6'Attrib'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actSortBy'
|
||||
+'AttrExecute'#8'Category'#6#4'Show'#0#0#7'TAction'#14'actMultiRename'#7'Capt'
|
||||
+'ion'#6#17'Multi Rename Tool'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#21'a'
|
||||
+'ctMultiRenameExecute'#8'Category'#6#4'File'#0#0#7'TAction'#10'actShiftF5'#7
|
||||
+'Caption'#6#10'actShiftF5'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actS'
|
||||
+'hiftF5Execute'#8'ShortCut'#3'40'#8'Category'#6#8'Commands'#0#0#7'TAction'#10
|
||||
+'actShiftF6'#7'Caption'#6#10'actShiftF6'#8'HelpType'#7#9'htKeyword'#9'OnExec'
|
||||
+'ute'#7#17'actShiftF6Execute'#8'ShortCut'#3'50'#8'Category'#6#8'Commands'#0#0
|
||||
+#7'TAction'#10'actShiftF4'#7'Caption'#6#10'actShiftF4'#8'HelpType'#7#9'htKey'
|
||||
,'word'#9'OnExecute'#7#17'actShiftF4Execute'#8'Category'#6#8'Commands'#0#0#7
|
||||
+'TAction'#13'actDirHistory'#7'Caption'#6#13'actDirHistory'#8'HelpType'#7#9'h'
|
||||
+'tKeyword'#9'OnExecute'#7#20'actDirHistoryExecute'#8'ShortCut'#3'H@'#8'Categ'
|
||||
+'ory'#6#8'Commands'#0#0#7'TAction'#9'actCtrlF8'#7'Caption'#6#9'actCtrlF8'#8
|
||||
+'HelpType'#7#9'htKeyword'#9'OnExecute'#7#16'actCtrlF8Execute'#8'ShortCut'#3
|
||||
+'7P'#8'Category'#6#8'Commands'#0#0#7'TAction'#10'actRunTerm'#7'Caption'#6#8
|
||||
+'Run Term'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actRunTermExecute'#8
|
||||
+'ShortCut'#3'T@'#8'Category'#6#8'Commands'#0#0#7'TAction'#17'actCalculateSpa'
|
||||
+'ce'#7'Caption'#6#28'Calculate &Occupied Space...'#8'HelpType'#7#9'htKeyword'
|
||||
+#9'OnExecute'#7#24'actCalculateSpaceExecute'#8'Category'#6#4'File'#0#0#7'TAc'
|
||||
+'tion'#17'actFileProperties'#7'Caption'#6#20'Show File Properties'#8'HelpTyp'
|
||||
+'e'#7#9'htKeyword'#9'OnExecute'#7#24'actFilePropertiesExecute'#8'Category'#6
|
||||
+#4'File'#0#0#7'TAction'#8'actChown'#7'Caption'#6#5'Chown'#8'HelpType'#7#9'ht'
|
||||
+'Keyword'#9'OnExecute'#7#15'actChownExecute'#8'Category'#6#4'File'#0#0#7'TAc'
|
||||
+'tion'#13'actFileLinker'#7'Caption'#6#10'Link Files'#8'HelpType'#7#9'htKeywo'
|
||||
+'rd'#9'OnExecute'#7#20'actFileLinkerExecute'#8'Category'#6#4'File'#0#0#7'TAc'
|
||||
+'tion'#14'actFileSpliter'#7'Caption'#6#10'Split File'#8'HelpType'#7#9'htKeyw'
|
||||
+'ord'#9'OnExecute'#7#21'actFileSpliterExecute'#8'Category'#6#4'File'#0#0#7'T'
|
||||
+'Action'#9'actNewTab'#7'Caption'#6#9'actNewTab'#8'HelpType'#7#9'htKeyword'#9
|
||||
+'OnExecute'#7#16'actNewTabExecute'#8'Category'#6#4'Tabs'#0#0#7'TAction'#12'a'
|
||||
+'ctRemoveTab'#7'Caption'#6#12'actRemoveTab'#8'HelpType'#7#9'htKeyword'#9'OnE'
|
||||
+'xecute'#7#19'actRemoveTabExecute'#8'Category'#6#4'Tabs'#0#0#0#10'TPopupMenu'
|
||||
+#9'pmHotList'#4'left'#3#152#0#3'top'#3#136#0#0#9'TMenuItem'#9'MenuItem3'#7'C'
|
||||
+'aption'#6#9'New Item1'#0#0#0#10'TPopupMenu'#10'pmFileList'#7'OnPopup'#7#15
|
||||
+'pmFileListPopup'#4'left'#3#216#0#3'top'#3#136#0#0#9'TMenuItem'#5'file1'#7'C'
|
||||
+'aption'#6#4'file'#0#0#0#10'TPopupMenu'#12'pmDirHistory'#9'AutoPopup'#8#4'le'
|
||||
+'ft'#3#184#0#3'top'#3#136#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6#9'New I'
|
||||
+'tem1'#0#0#0#10'TPopupMenu'#9'pmToolBar'#3'Tag'#2#255#4'left'#2'x'#3'top'#3
|
||||
+#136#0#0#9'TMenuItem'#6'tbEdit'#7'Caption'#6#4'Edit'#7'OnClick'#7#11'tbEditC'
|
||||
+'lick'#0#0#9'TMenuItem'#8'tbDelete'#7'Caption'#6#6'Delete'#7'OnClick'#7#11'D'
|
||||
+'eleteClick'#0#0#0#0
|
||||
+'actionLst'#4'left'#3'h'#1#3'top'#2'@'#0#7'TAction'#7'actExit'#8'Category'#6
|
||||
+#4'File'#7'Caption'#6#4'Exit'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKey'
|
||||
+'word'#9'OnExecute'#7#14'actExitExecute'#0#0#7'TAction'#7'actView'#8'Categor'
|
||||
+'y'#6#7'Classic'#7'Caption'#6#7'View F3'#18'DisableIfNoHandler'#9#8'HelpType'
|
||||
+#7#9'htKeyword'#9'OnExecute'#7#14'actViewExecute'#8'ShortCut'#3'2'#16#0#0#7
|
||||
+'TAction'#7'actEdit'#8'Category'#6#7'Classic'#7'Caption'#6#7'Edit F4'#18'Dis'
|
||||
+'ableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#14'actEditExec'
|
||||
+'ute'#8'ShortCut'#3'3'#16#0#0#7'TAction'#7'actCopy'#8'Category'#6#7'Classic'
|
||||
+#7'Caption'#6#7'Copy F5'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'
|
||||
+#9'OnExecute'#7#14'actCopyExecute'#8'ShortCut'#3'4'#16#0#0#7'TAction'#9'actR'
|
||||
+'ename'#8'Category'#6#7'Classic'#7'Caption'#6#9'Rename F6'#18'DisableIfNoHan'
|
||||
+'dler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#16'actRenameExecute'#8'Sh'
|
||||
+'ortCut'#3'5'#16#0#0#7'TAction'#10'actMakeDir'#8'Category'#6#7'Classic'#7'Ca'
|
||||
,'ption'#6#10'MakeDir F7'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'
|
||||
+#9'OnExecute'#7#17'actMakeDirExecute'#8'ShortCut'#3'6'#16#0#0#7'TAction'#9'a'
|
||||
+'ctDelete'#8'Category'#6#7'Classic'#7'Caption'#6#9'Delete F8'#18'DisableIfNo'
|
||||
+'Handler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#16'actDeleteExecute'#8
|
||||
+'ShortCut'#3'7'#16#0#0#7'TAction'#8'actAbout'#8'Category'#6#4'Help'#7'Captio'
|
||||
+'n'#6#5'About'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecu'
|
||||
+'te'#7#15'actAboutExecute'#8'ShortCut'#3'0'#16#0#0#7'TAction'#15'actShowSysF'
|
||||
+'iles'#8'Category'#6#4'File'#7'Caption'#6#17'Show System Files'#7'Checked'#9
|
||||
+#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#22'actSh'
|
||||
+'owSysFilesExecute'#0#0#7'TAction'#10'actOptions'#8'Category'#6#6'Config'#7
|
||||
+'Caption'#6#10'Options...'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeywor'
|
||||
+'d'#9'OnExecute'#7#17'actOptionsExecute'#0#0#7'TAction'#18'actCompareContent'
|
||||
+'s'#8'Category'#6#4'File'#7'Caption'#6#20'Compare by &Contents'#18'DisableIf'
|
||||
+'NoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#25'actCompareContent'
|
||||
+'sExecute'#0#0#7'TAction'#11'actShowMenu'#8'Category'#6#7'Classic'#7'Caption'
|
||||
+#6#7'Menu F9'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecut'
|
||||
+'e'#7#18'actShowMenuExecute'#8'ShortCut'#3'8'#16#0#0#7'TAction'#10'actRefres'
|
||||
+'h'#8'Category'#6#4'Show'#7'Caption'#6#8'&Refresh'#18'DisableIfNoHandler'#9#8
|
||||
+'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actRefreshExecute'#8'ShortCut'#3
|
||||
+'R@'#0#0#7'TAction'#9'actSearch'#8'Category'#6#8'Commands'#7'Caption'#6#7'&S'
|
||||
+'earch'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#16
|
||||
+'actSearchExecute'#8'ShortCut'#3'6P'#0#0#7'TAction'#13'actDirHotList'#8'Cate'
|
||||
+'gory'#6#8'Commands'#7'Caption'#6#18'Directory &hotlist'#18'DisableIfNoHandl'
|
||||
+'er'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actDirHotListExecute'#8
|
||||
+'ShortCut'#3'D@'#0#0#7'TAction'#14'actMarkMarkAll'#8'Category'#6#4'Mark'#7'C'
|
||||
+'aption'#6#11'&Select All'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeywor'
|
||||
+'d'#9'OnExecute'#7#21'actMarkMarkAllExecute'#0#0#7'TAction'#13'actMarkInvert'
|
||||
+#8'Category'#6#4'Mark'#7'Caption'#6#17'Invert Selections'#18'DisableIfNoHand'
|
||||
+'ler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actMarkInvertExecute'#8
|
||||
+'ShortCut'#2'*'#0#0#7'TAction'#16'actMarkUnmarkAll'#8'Category'#6#4'Mark'#7
|
||||
+'Caption'#6#12'Unselect All'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyw'
|
||||
+'ord'#9'OnExecute'#7#23'actMarkUnmarkAllExecute'#0#0#7'TAction'#10'actDelete'
|
||||
+'2'#8'Category'#6#7'Classic'#7'Caption'#6#10'actDelete2'#18'DisableIfNoHandl'
|
||||
+'er'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actDelete2Execute'#8'Sho'
|
||||
+'rtCut'#3#7#16#0#0#7'TAction'#16'actPathToCmdLine'#7'Caption'#6#16'actPathTo'
|
||||
+'CmdLine'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7
|
||||
+#23'actPathToCmdLineExecute'#8'ShortCut'#3'P@'#0#0#7'TAction'#11'actMarkPlus'
|
||||
+#8'Category'#6#4'Mark'#7'Caption'#6#14'Select a group'#18'DisableIfNoHandler'
|
||||
+#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#18'actMarkPlusExecute'#0#0#7'TA'
|
||||
+'ction'#12'actMarkMinus'#8'Category'#6#4'Mark'#7'Caption'#6#16'Unselect a gr'
|
||||
+'oup'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#19
|
||||
+'actMarkMinusExecute'#0#0#7'TAction'#8'actChMod'#8'Category'#6#4'File'#7'Cap'
|
||||
+'tion'#6#17'Change Attributes'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKe'
|
||||
+'yword'#9'OnExecute'#7#15'actChModExecute'#0#0#7'TAction'#10'actSymLink'#8'C'
|
||||
+'ategory'#6#4'File'#7'Caption'#6#17'Create symlink...'#18'DisableIfNoHandler'
|
||||
+#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actSymLinkExecute'#0#0#7'TAc'
|
||||
+'tion'#11'actHardLink'#8'Category'#6#4'File'#7'Caption'#6#14'Create link...'
|
||||
+#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#18'actHa'
|
||||
+'rdLinkExecute'#0#0#7'TAction'#15'actReverseOrder'#8'Category'#6#4'Show'#7'C'
|
||||
+'aption'#6#13'Reverse order'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyw'
|
||||
+'ord'#9'OnExecute'#7#22'actReverseOrderExecute'#0#0#7'TAction'#13'actSortByN'
|
||||
+'ame'#8'Category'#6#4'Show'#7'Caption'#6#4'Name'#18'DisableIfNoHandler'#9#8
|
||||
+'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actSortByNameExecute'#0#0#7'TAct'
|
||||
+'ion'#12'actSortByExt'#8'Category'#6#4'Show'#7'Caption'#6#9'Extension'#18'Di'
|
||||
+'sableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#19'actSortByE'
|
||||
+'xtExecute'#0#0#7'TAction'#13'actSortBySize'#8'Category'#6#4'Show'#7'Caption'
|
||||
+#6#4'Size'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7
|
||||
+#20'actSortBySizeExecute'#0#0#7'TAction'#13'actSortByDate'#8'Category'#6#4'S'
|
||||
+'how'#7'Caption'#6#4'Date'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeywor'
|
||||
+'d'#9'OnExecute'#7#20'actSortByDateExecute'#0#0#7'TAction'#13'actSortByAttr'
|
||||
+#8'Category'#6#4'Show'#7'Caption'#6#6'Attrib'#18'DisableIfNoHandler'#9#8'Hel'
|
||||
+'pType'#7#9'htKeyword'#9'OnExecute'#7#20'actSortByAttrExecute'#0#0#7'TAction'
|
||||
+#14'actMultiRename'#8'Category'#6#4'File'#7'Caption'#6#17'Multi Rename Tool'
|
||||
+#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#21'actMu'
|
||||
,'ltiRenameExecute'#0#0#7'TAction'#10'actShiftF5'#8'Category'#6#8'Commands'#7
|
||||
+'Caption'#6#10'actShiftF5'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeywor'
|
||||
+'d'#9'OnExecute'#7#17'actShiftF5Execute'#8'ShortCut'#3'40'#0#0#7'TAction'#10
|
||||
+'actShiftF6'#8'Category'#6#8'Commands'#7'Caption'#6#10'actShiftF6'#18'Disabl'
|
||||
+'eIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actShiftF6Exec'
|
||||
+'ute'#8'ShortCut'#3'50'#0#0#7'TAction'#10'actShiftF4'#8'Category'#6#8'Comman'
|
||||
+'ds'#7'Caption'#6#10'actShiftF4'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'ht'
|
||||
+'Keyword'#9'OnExecute'#7#17'actShiftF4Execute'#0#0#7'TAction'#13'actDirHisto'
|
||||
+'ry'#8'Category'#6#8'Commands'#7'Caption'#6#13'actDirHistory'#18'DisableIfNo'
|
||||
+'Handler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#20'actDirHistoryExecut'
|
||||
+'e'#8'ShortCut'#3'H@'#0#0#7'TAction'#9'actCtrlF8'#8'Category'#6#8'Commands'#7
|
||||
+'Caption'#6#9'actCtrlF8'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'
|
||||
+#9'OnExecute'#7#16'actCtrlF8Execute'#8'ShortCut'#3'7P'#0#0#7'TAction'#10'act'
|
||||
+'RunTerm'#8'Category'#6#8'Commands'#7'Caption'#6#8'Run Term'#18'DisableIfNoH'
|
||||
+'andler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#17'actRunTermExecute'#8
|
||||
+'ShortCut'#3'T@'#0#0#7'TAction'#17'actCalculateSpace'#8'Category'#6#4'File'#7
|
||||
+'Caption'#6#28'Calculate &Occupied Space...'#18'DisableIfNoHandler'#9#8'Help'
|
||||
+'Type'#7#9'htKeyword'#9'OnExecute'#7#24'actCalculateSpaceExecute'#0#0#7'TAct'
|
||||
+'ion'#17'actFileProperties'#8'Category'#6#4'File'#7'Caption'#6#20'Show File '
|
||||
+'Properties'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'
|
||||
+#7#24'actFilePropertiesExecute'#0#0#7'TAction'#8'actChown'#8'Category'#6#4'F'
|
||||
+'ile'#7'Caption'#6#5'Chown'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeywo'
|
||||
+'rd'#9'OnExecute'#7#15'actChownExecute'#0#0#7'TAction'#13'actFileLinker'#8'C'
|
||||
+'ategory'#6#4'File'#7'Caption'#6#10'Link Files'#18'DisableIfNoHandler'#9#8'H'
|
||||
+'elpType'#7#9'htKeyword'#9'OnExecute'#7#20'actFileLinkerExecute'#0#0#7'TActi'
|
||||
+'on'#14'actFileSpliter'#8'Category'#6#4'File'#7'Caption'#6#10'Split File'#18
|
||||
+'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#21'actFileS'
|
||||
+'pliterExecute'#0#0#7'TAction'#9'actNewTab'#8'Category'#6#4'Tabs'#7'Caption'
|
||||
+#6#9'actNewTab'#18'DisableIfNoHandler'#9#8'HelpType'#7#9'htKeyword'#9'OnExec'
|
||||
+'ute'#7#16'actNewTabExecute'#0#0#7'TAction'#12'actRemoveTab'#8'Category'#6#4
|
||||
+'Tabs'#7'Caption'#6#12'actRemoveTab'#18'DisableIfNoHandler'#9#8'HelpType'#7#9
|
||||
+'htKeyword'#9'OnExecute'#7#19'actRemoveTabExecute'#0#0#0#10'TPopupMenu'#9'pm'
|
||||
+'HotList'#4'left'#3#152#0#3'top'#3#136#0#0#9'TMenuItem'#9'MenuItem3'#7'Capti'
|
||||
+'on'#6#9'New Item1'#0#0#0#10'TPopupMenu'#10'pmFileList'#7'OnPopup'#7#15'pmFi'
|
||||
+'leListPopup'#4'left'#3#216#0#3'top'#3#136#0#0#9'TMenuItem'#5'file1'#7'Capti'
|
||||
+'on'#6#4'file'#0#0#0#10'TPopupMenu'#12'pmDirHistory'#9'AutoPopup'#8#4'left'#3
|
||||
+#184#0#3'top'#3#136#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6#9'New Item1'#0
|
||||
+#0#0#10'TPopupMenu'#9'pmToolBar'#3'Tag'#2#255#4'left'#2'x'#3'top'#3#136#0#0#9
|
||||
+'TMenuItem'#6'tbEdit'#7'Caption'#6#4'Edit'#7'OnClick'#7#11'tbEditClick'#0#0#9
|
||||
+'TMenuItem'#8'tbDelete'#7'Caption'#6#6'Delete'#7'OnClick'#7#11'DeleteClick'#0
|
||||
+#0#0#0
|
||||
]);
|
||||
|
|
|
|||
96
fViewer.lrs
96
fViewer.lrs
|
|
@ -2,52 +2,56 @@
|
|||
|
||||
LazarusResources.Add('TfrmViewer','FORMDATA',[
|
||||
'TPF0'#10'TfrmViewer'#9'frmViewer'#13'ActiveControl'#7#13'ScrollBarVert'#7'Ca'
|
||||
+'ption'#6#9'frmViewer'#10'KeyPreview'#9#4'Menu'#7#8'MainMenu'#7'OnClose'#7#14
|
||||
+'frmViewerClose'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'
|
||||
+#9'OnKeyDown'#7#16'frmViewerKeyDown'#10'OnKeyPress'#7#12'FormKeyPress'#7'OnK'
|
||||
+'eyUp'#7#14'frmViewerKeyUp'#13'PixelsPerInch'#2'`'#8'Position'#7#14'poScreen'
|
||||
+'Center'#10'TextHeight'#2#16#18'HorzScrollBar.Page'#4#255#255#0#0#18'VertScr'
|
||||
+'ollBar.Page'#4#255#255#0#0#19'VertScrollBar.Range'#2#19#6'Height'#3#6#2#3'T'
|
||||
+'op'#3#27#2#5'Width'#3#24#3#0#10'TStatusBar'#6'Status'#6'Panels'#14#1#5'Widt'
|
||||
+'h'#3#200#0#0#1#5'Width'#2'F'#0#1#5'Width'#3#150#0#0#1#5'Width'#2'2'#0#0#11
|
||||
+'SimplePanel'#8#6'Height'#2#23#3'Top'#2#233#0#0#9'TNotebook'#7'nbPages'#5'Al'
|
||||
+'ign'#7#8'alClient'#9'PageIndex'#2#0#8'ShowTabs'#8#3'Top'#2#245#0#5'TPage'#6
|
||||
+'pgText'#7'Caption'#6#6'pgText'#0#10'TScrollBar'#13'ScrollBarVert'#5'Align'#7
|
||||
+#7'alRight'#7'Anchors'#11#5'akTop'#7'akRight'#0#4'Kind'#7#10'sbVertical'#3'M'
|
||||
+'ax'#3#232#3#8'PageSize'#2#1#11'ParentCtl3D'#8#8'Position'#2'2'#8'TabOrder'#2
|
||||
+#0#8'OnScroll'#7#19'ScrollBarVertScroll'#4'Left'#2#241#5'Width'#2#15#0#0#14
|
||||
+'TViewerControl'#13'ViewerControl'#11'Font.Height'#2#242#9'Font.Name'#6#5'fi'
|
||||
+'xed'#10'Font.Pitch'#7#7'fpFixed'#5'Align'#7#8'alClient'#16'OnMouseWheelDown'
|
||||
+#7#27'ViewerControlMouseWheelDown'#14'OnMouseWheelUp'#7#25'ViewerControlMous'
|
||||
+'eWheelUp'#6'Cursor'#7#7'crIBeam'#4'Left'#2#249#0#0#0#5'TPage'#7'pgImage'#7
|
||||
+'Caption'#6#7'pgImage'#0#10'TScrollBox'#9'ScrollBox'#5'Align'#7#8'alClient'
|
||||
+#11'ParentCtl3D'#8#8'TabOrder'#2#0#7'TabStop'#9#18'HorzScrollBar.Page'#3#19#3
|
||||
+#18'VertScrollBar.Page'#3#211#1#6'Height'#3#212#1#5'Width'#3#20#3#0#6'TImage'
|
||||
+#5'Image'#5'Align'#7#8'alClient'#11'Transparent'#9#6'Height'#3#212#1#5'Width'
|
||||
+#3#20#3#0#0#0#0#0#9'TMainMenu'#8'MainMenu'#4'left'#2'X'#3'top'#2#8#0#9'TMenu'
|
||||
+'Item'#6'miFile'#7'Caption'#6#5'&File'#0#9'TMenuItem'#6'miPrev'#7'Caption'#6
|
||||
+#9'&Previous'#8'ShortCut'#2'P'#7'OnClick'#7#11'miPrevClick'#0#0#9'TMenuItem'
|
||||
+#6'miNext'#7'Caption'#6#5'&Next'#8'ShortCut'#2'N'#7'OnClick'#7#11'miNextClic'
|
||||
+'k'#0#0#9'TMenuItem'#11'miSeparator'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'mi'
|
||||
+'SavePos'#7'Caption'#6#14'&Save Position'#7'OnClick'#7#14'miSavePosClick'#0#0
|
||||
+#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'miExit'#7'Caption'#6
|
||||
+#5'E&xit'#7'OnClick'#7#11'miExitClick'#0#0#0#9'TMenuItem'#6'miEdit'#7'Captio'
|
||||
+'n'#6#5'&Edit'#0#9'TMenuItem'#17'miCopyToClipboard'#7'Caption'#6#17'Copy To '
|
||||
+'Clipboard'#7'OnClick'#7#22'miCopyToClipboardClick'#0#0#9'TMenuItem'#11'miSe'
|
||||
+'lectAll'#7'Caption'#6#10'Select All'#7'OnClick'#7#16'miSelectAllClick'#0#0#0
|
||||
+#9'TMenuItem'#6'miView'#7'Caption'#6#5'&View'#0#9'TMenuItem'#6'miText'#7'Cap'
|
||||
+'tion'#6#4'Text'#7'OnClick'#7#11'miTextClick'#0#0#9'TMenuItem'#5'miBin'#7'Ca'
|
||||
+'ption'#6#3'Bin'#7'OnClick'#7#10'miBinClick'#0#0#9'TMenuItem'#5'miHex'#7'Cap'
|
||||
+'tion'#6#3'Hex'#7'OnClick'#7#10'miHexClick'#0#0#9'TMenuItem'#10'miWrapText'#7
|
||||
+'Caption'#6#9'Wrap Text'#7'OnClick'#7#15'miWrapTextClick'#0#0#9'TMenuItem'#6
|
||||
+'miDiv2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'miGraphics'#7'Caption'#6#8'Gr'
|
||||
+'aphics'#8'ShortCut'#2'6'#7'OnClick'#7#15'miGraphicsClick'#0#0#9'TMenuItem'#6
|
||||
+'miDiv1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#8'miSearch'#7'Caption'#6#6'Searc'
|
||||
+'h'#8'ShortCut'#2'r'#7'OnClick'#7#13'miSearchClick'#0#0#0#9'TMenuItem'#7'miI'
|
||||
+'mage'#7'Caption'#6#6'&Image'#0#9'TMenuItem'#9'miStretch'#7'Caption'#6#7'Str'
|
||||
+'etch'#7'OnClick'#7#14'miStretchClick'#0#0#0#9'TMenuItem'#7'miAbout'#7'Capti'
|
||||
+'on'#6#5'About'#0#9'TMenuItem'#8'miAbout2'#7'Caption'#6#6'About '#7'OnClick'
|
||||
+#7#13'miAbout2Click'#0#0#0#0#0
|
||||
+'ption'#6#9'frmViewer'#12'ClientHeight'#3#242#1#11'ClientWidth'#3#24#3#10'Ke'
|
||||
+'yPreview'#9#4'Menu'#7#8'MainMenu'#7'OnClose'#7#14'frmViewerClose'#8'OnCreat'
|
||||
+'e'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#9'OnKeyDown'#7#16'frmVie'
|
||||
+'werKeyDown'#10'OnKeyPress'#7#12'FormKeyPress'#7'OnKeyUp'#7#14'frmViewerKeyU'
|
||||
+'p'#13'PixelsPerInch'#2'`'#8'Position'#7#14'poScreenCenter'#10'TextHeight'#2
|
||||
+#16#18'HorzScrollBar.Page'#3#23#3#18'VertScrollBar.Page'#3#241#1#19'VertScro'
|
||||
+'llBar.Range'#2#19#4'Left'#2'm'#6'Height'#3#6#2#3'Top'#3#207#0#5'Width'#3#24
|
||||
+#3#0#10'TStatusBar'#6'Status'#6'Panels'#14#1#5'Width'#3#200#0#0#1#5'Width'#2
|
||||
+'F'#0#1#5'Width'#3#150#0#0#1#5'Width'#2'2'#0#0#11'SimplePanel'#8#6'Height'#2
|
||||
+#23#3'Top'#3#219#1#5'Width'#3#24#3#0#0#9'TNotebook'#7'nbPages'#5'Align'#7#8
|
||||
+'alClient'#9'PageIndex'#2#0#8'ShowTabs'#8#6'Height'#3#219#1#5'Width'#3#24#3#0
|
||||
+#5'TPage'#6'pgText'#7'Caption'#6#6'pgText'#11'ClientWidth'#3#16#3#12'ClientH'
|
||||
+'eight'#3#211#1#6'Height'#3#211#1#5'Width'#3#16#3#0#10'TScrollBar'#13'Scroll'
|
||||
+'BarVert'#5'Align'#7#7'alRight'#7'Anchors'#11#5'akTop'#7'akRight'#0#4'Kind'#7
|
||||
+#10'sbVertical'#3'Max'#3#232#3#8'PageSize'#2#1#11'ParentCtl3D'#8#8'Position'
|
||||
+#2'2'#8'TabOrder'#2#0#8'OnScroll'#7#19'ScrollBarVertScroll'#4'Left'#3#1#3#6
|
||||
+'Height'#3#211#1#5'Width'#2#15#0#0#14'TViewerControl'#13'ViewerControl'#11'F'
|
||||
+'ont.Height'#2#242#9'Font.Name'#6#5'fixed'#10'Font.Pitch'#7#7'fpFixed'#5'Ali'
|
||||
+'gn'#7#8'alClient'#16'OnMouseWheelDown'#7#27'ViewerControlMouseWheelDown'#14
|
||||
+'OnMouseWheelUp'#7#25'ViewerControlMouseWheelUp'#6'Cursor'#7#7'crIBeam'#6'He'
|
||||
+'ight'#3#211#1#5'Width'#3#1#3#0#0#0#5'TPage'#7'pgImage'#7'Caption'#6#7'pgIma'
|
||||
+'ge'#11'ClientWidth'#3#16#3#12'ClientHeight'#3#211#1#6'Height'#3#211#1#5'Wid'
|
||||
+'th'#3#16#3#0#10'TScrollBox'#9'ScrollBox'#5'Align'#7#8'alClient'#11'ParentCt'
|
||||
+'l3D'#8#8'TabOrder'#2#0#7'TabStop'#9#18'HorzScrollBar.Page'#3#19#3#18'VertSc'
|
||||
+'rollBar.Page'#3#211#1#6'Height'#3#212#1#5'Width'#3#20#3#0#6'TImage'#5'Image'
|
||||
+#5'Align'#7#8'alClient'#11'Transparent'#9#6'Height'#3#212#1#5'Width'#3#20#3#0
|
||||
+#0#0#0#0#9'TMainMenu'#8'MainMenu'#4'left'#2'X'#3'top'#2#8#0#9'TMenuItem'#6'm'
|
||||
+'iFile'#7'Caption'#6#5'&File'#0#9'TMenuItem'#6'miPrev'#7'Caption'#6#9'&Previ'
|
||||
+'ous'#8'ShortCut'#2'P'#7'OnClick'#7#11'miPrevClick'#0#0#9'TMenuItem'#6'miNex'
|
||||
+'t'#7'Caption'#6#5'&Next'#8'ShortCut'#2'N'#7'OnClick'#7#11'miNextClick'#0#0#9
|
||||
+'TMenuItem'#11'miSeparator'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'miSavePos'#7
|
||||
+'Caption'#6#14'&Save Position'#7'OnClick'#7#14'miSavePosClick'#0#0#9'TMenuIt'
|
||||
+'em'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'miExit'#7'Caption'#6#5'E&xit'
|
||||
+#7'OnClick'#7#11'miExitClick'#0#0#0#9'TMenuItem'#6'miEdit'#7'Caption'#6#5'&E'
|
||||
+'dit'#0#9'TMenuItem'#17'miCopyToClipboard'#7'Caption'#6#17'Copy To Clipboard'
|
||||
+#7'OnClick'#7#22'miCopyToClipboardClick'#0#0#9'TMenuItem'#11'miSelectAll'#7
|
||||
+'Caption'#6#10'Select All'#7'OnClick'#7#16'miSelectAllClick'#0#0#0#9'TMenuIt'
|
||||
+'em'#6'miView'#7'Caption'#6#5'&View'#0#9'TMenuItem'#6'miText'#7'Caption'#6#4
|
||||
+'Text'#7'OnClick'#7#11'miTextClick'#0#0#9'TMenuItem'#5'miBin'#7'Caption'#6#3
|
||||
+'Bin'#7'OnClick'#7#10'miBinClick'#0#0#9'TMenuItem'#5'miHex'#7'Caption'#6#3'H'
|
||||
+'ex'#7'OnClick'#7#10'miHexClick'#0#0#9'TMenuItem'#10'miWrapText'#7'Caption'#6
|
||||
+#9'Wrap Text'#7'OnClick'#7#15'miWrapTextClick'#0#0#9'TMenuItem'#6'miDiv2'#7
|
||||
+'Caption'#6#1'-'#0#0#9'TMenuItem'#10'miGraphics'#7'Caption'#6#8'Graphics'#8
|
||||
+'ShortCut'#2'6'#7'OnClick'#7#15'miGraphicsClick'#0#0#9'TMenuItem'#6'miDiv1'#7
|
||||
+'Caption'#6#1'-'#0#0#9'TMenuItem'#8'miSearch'#7'Caption'#6#6'Search'#8'Short'
|
||||
+'Cut'#2'r'#7'OnClick'#7#13'miSearchClick'#0#0#0#9'TMenuItem'#7'miImage'#7'Ca'
|
||||
+'ption'#6#6'&Image'#0#9'TMenuItem'#9'miStretch'#7'Caption'#6#7'Stretch'#7'On'
|
||||
+'Click'#7#14'miStretchClick'#0#0#0#9'TMenuItem'#7'miAbout'#7'Caption'#6#5'Ab'
|
||||
+'out'#0#9'TMenuItem'#8'miAbout2'#7'Caption'#6#6'About '#7'OnClick'#7#13'miAb'
|
||||
+'out2Click'#0#0#0#0#0
|
||||
]);
|
||||
|
||||
LazarusResources.Add('TfrmFindView','FORMDATA',[
|
||||
|
|
|
|||
348
fmain.lfm
348
fmain.lfm
|
|
@ -1,7 +1,12 @@
|
|||
object frmMain: TfrmMain
|
||||
inherited frmMain: TfrmMain
|
||||
Left = 217
|
||||
Height = 336
|
||||
Top = 158
|
||||
Width = 525
|
||||
HorzScrollBar.Page = 524
|
||||
VertScrollBar.Page = 315
|
||||
VertScrollBar.Range = 79
|
||||
Caption = 'Double Commander'
|
||||
ClientHeight = 316
|
||||
ClientWidth = 525
|
||||
Font.Color = clBlack
|
||||
Font.Height = 13
|
||||
Font.Name = 'Helvetica'
|
||||
|
|
@ -10,187 +15,178 @@ object frmMain: TfrmMain
|
|||
Menu = mnuMain
|
||||
OnActivate = FormActivate
|
||||
OnClose = frmMainClose
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
OnKeyDown = FormKeyDown
|
||||
OnKeyPress = FormKeyPress
|
||||
OnKeyUp = frmMainKeyUp
|
||||
OnResize = FormResize
|
||||
OnShow = frmMainShow
|
||||
PixelsPerInch = 96
|
||||
Position = poDesktopCenter
|
||||
ShowHint = True
|
||||
TextHeight = 16
|
||||
HorzScrollBar.Page = 524
|
||||
VertScrollBar.Page = 315
|
||||
VertScrollBar.Range = 79
|
||||
Left = 250
|
||||
Height = 336
|
||||
Top = 174
|
||||
Width = 525
|
||||
object pnlButton: TPanel
|
||||
Align = alTop
|
||||
ClientHeight = 22
|
||||
ClientWidth = 525
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
Height = 22
|
||||
Top = 23
|
||||
Width = 525
|
||||
Align = alTop
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
end
|
||||
object pnlDisk: TPanel
|
||||
Align = alTop
|
||||
Caption = 'pnlDisk'
|
||||
ClientHeight = 24
|
||||
ClientWidth = 525
|
||||
FullRepaint = False
|
||||
ParentColor = False
|
||||
TabOrder = 1
|
||||
Height = 24
|
||||
Top = 45
|
||||
Width = 525
|
||||
Align = alTop
|
||||
Caption = 'pnlDisk'
|
||||
FullRepaint = False
|
||||
ParentColor = False
|
||||
TabOrder = 1
|
||||
object dskLeft: TKAStoolBar
|
||||
OnToolButtonClick = dskLeftToolButtonClick
|
||||
CheckToolButton = True
|
||||
FlatButtons = True
|
||||
IsDiskPanel = True
|
||||
Align = alLeft
|
||||
ClientHeight = 22
|
||||
ClientWidth = 354
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
Left = 1
|
||||
Height = 22
|
||||
Top = 1
|
||||
Width = 354
|
||||
end
|
||||
object dskRight: TKAStoolBar
|
||||
OnToolButtonClick = dskRightToolButtonClick
|
||||
Align = alLeft
|
||||
ParentColor = False
|
||||
TabOrder = 0
|
||||
OnToolButtonClick = dskLeftToolButtonClick
|
||||
CheckToolButton = True
|
||||
FlatButtons = True
|
||||
IsDiskPanel = True
|
||||
Align = alClient
|
||||
Anchors = [akTop, akLeft, akBottom]
|
||||
ClientHeight = 22
|
||||
ClientWidth = 169
|
||||
TabOrder = 1
|
||||
end
|
||||
object dskRight: TKAStoolBar
|
||||
Left = 355
|
||||
Height = 22
|
||||
Top = 1
|
||||
Width = 169
|
||||
Align = alClient
|
||||
Anchors = [akTop, akLeft, akBottom]
|
||||
TabOrder = 1
|
||||
OnToolButtonClick = dskRightToolButtonClick
|
||||
CheckToolButton = True
|
||||
FlatButtons = True
|
||||
IsDiskPanel = True
|
||||
end
|
||||
end
|
||||
object pnlCommand: TPanel
|
||||
Align = alBottom
|
||||
Anchors = [akLeft, akRight]
|
||||
BevelOuter = bvLowered
|
||||
ClientHeight = 66
|
||||
ClientWidth = 525
|
||||
FullRepaint = False
|
||||
ParentColor = False
|
||||
TabOrder = 2
|
||||
Height = 66
|
||||
Top = 250
|
||||
Width = 525
|
||||
Align = alBottom
|
||||
Anchors = [akLeft, akRight]
|
||||
BevelOuter = bvLowered
|
||||
FullRepaint = False
|
||||
ParentColor = False
|
||||
TabOrder = 2
|
||||
object lblCommandPath: TLabel
|
||||
Left = 1
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 23
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Path'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
ShowAccelChar = False
|
||||
Left = 1
|
||||
Height = 14
|
||||
Top = 8
|
||||
Width = 23
|
||||
end
|
||||
object pnlKeys: TPanel
|
||||
Align = alBottom
|
||||
Anchors = [akLeft, akRight]
|
||||
BevelOuter = bvLowered
|
||||
ClientHeight = 27
|
||||
ClientWidth = 523
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
OnResize = pnlKeysResize
|
||||
Left = 1
|
||||
Height = 27
|
||||
Top = 38
|
||||
Width = 523
|
||||
Align = alBottom
|
||||
Anchors = [akLeft, akRight]
|
||||
BevelOuter = bvLowered
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
OnResize = pnlKeysResize
|
||||
object btnF3: TSpeedButton
|
||||
Action = actView
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
Left = 1
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF4: TSpeedButton
|
||||
Action = actEdit
|
||||
Action = actView
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF4: TSpeedButton
|
||||
Left = 76
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF5: TSpeedButton
|
||||
Action = actCopy
|
||||
Action = actEdit
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF5: TSpeedButton
|
||||
Left = 151
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF6: TSpeedButton
|
||||
Action = actRename
|
||||
Action = actCopy
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF6: TSpeedButton
|
||||
Left = 226
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF7: TSpeedButton
|
||||
Action = actMakeDir
|
||||
Action = actRename
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF7: TSpeedButton
|
||||
Left = 301
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF8: TSpeedButton
|
||||
Action = actDelete
|
||||
Action = actMakeDir
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF8: TSpeedButton
|
||||
Left = 376
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF10: TSpeedButton
|
||||
Action = actExit
|
||||
Action = actDelete
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF10: TSpeedButton
|
||||
Left = 539
|
||||
Height = 23
|
||||
Top = 4
|
||||
Width = 75
|
||||
end
|
||||
object btnF9: TSpeedButton
|
||||
Action = actShowMenu
|
||||
Action = actExit
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnF9: TSpeedButton
|
||||
Left = 448
|
||||
Height = 22
|
||||
Top = 4
|
||||
Width = 89
|
||||
Action = actShowMenu
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
end
|
||||
object edtCommand: TComboBox
|
||||
Left = 56
|
||||
Height = 21
|
||||
Top = 8
|
||||
Width = 688
|
||||
TabStop = False
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
ItemHeight = 18
|
||||
MaxLength = 0
|
||||
|
|
@ -198,63 +194,50 @@ object frmMain: TfrmMain
|
|||
OnKeyUp = edtCommandKeyUp
|
||||
ParentCtl3D = False
|
||||
TabOrder = 1
|
||||
TabStop = False
|
||||
TabStop = False
|
||||
Left = 56
|
||||
Height = 21
|
||||
Top = 8
|
||||
Width = 688
|
||||
end
|
||||
end
|
||||
object pnlNotebooks: TPanel
|
||||
Align = alClient
|
||||
ClientHeight = 181
|
||||
ClientWidth = 525
|
||||
FullRepaint = False
|
||||
TabOrder = 3
|
||||
TabStop = True
|
||||
Height = 181
|
||||
Top = 69
|
||||
Width = 525
|
||||
Align = alClient
|
||||
FullRepaint = False
|
||||
TabOrder = 3
|
||||
TabStop = True
|
||||
object nbLeft: TNotebook
|
||||
Align = alLeft
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
Left = 1
|
||||
Height = 179
|
||||
Top = 1
|
||||
Width = 391
|
||||
Align = alLeft
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
end
|
||||
object Splitter1: TSplitter
|
||||
Height = 179
|
||||
ResizeStyle = rsLine
|
||||
Width = 4
|
||||
Cursor = crHSplit
|
||||
Left = 392
|
||||
Height = 179
|
||||
Top = 1
|
||||
Width = 4
|
||||
ResizeStyle = rsLine
|
||||
end
|
||||
object nbRight: TNotebook
|
||||
Align = alClient
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
Left = 396
|
||||
Height = 179
|
||||
Top = 1
|
||||
Width = 128
|
||||
Align = alClient
|
||||
OnCloseTabClicked = NoteBookCloseTabClicked
|
||||
Options = [nboShowCloseButtons]
|
||||
end
|
||||
end
|
||||
object MainToolBar: TKAStoolBar
|
||||
OnToolButtonClick = MainToolBarToolButtonClick
|
||||
FlatButtons = True
|
||||
Align = alTop
|
||||
ClientHeight = 23
|
||||
ClientWidth = 525
|
||||
TabOrder = 4
|
||||
OnMouseDown = MainToolBarMouseDown
|
||||
Height = 23
|
||||
Width = 525
|
||||
Align = alTop
|
||||
TabOrder = 4
|
||||
OnMouseDown = MainToolBarMouseDown
|
||||
OnToolButtonClick = MainToolBarToolButtonClick
|
||||
FlatButtons = True
|
||||
end
|
||||
object mnuMain: TMainMenu
|
||||
left = 283
|
||||
|
|
@ -438,293 +421,338 @@ object frmMain: TfrmMain
|
|||
left = 360
|
||||
top = 64
|
||||
object actExit: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Exit'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actExitExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actView: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'View F3'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actViewExecute
|
||||
ShortCut = 4146
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actEdit: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'Edit F4'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actEditExecute
|
||||
ShortCut = 4147
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actCopy: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'Copy F5'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actCopyExecute
|
||||
ShortCut = 4148
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actRename: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'Rename F6'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actRenameExecute
|
||||
ShortCut = 4149
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actMakeDir: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'MakeDir F7'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMakeDirExecute
|
||||
ShortCut = 4150
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actDelete: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'Delete F8'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actDeleteExecute
|
||||
ShortCut = 4151
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actAbout: TAction
|
||||
Category = 'Help'
|
||||
Caption = 'About'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actAboutExecute
|
||||
ShortCut = 4144
|
||||
Category = 'Help'
|
||||
end
|
||||
object actShowSysFiles: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Show System Files'
|
||||
Checked = True
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actShowSysFilesExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actOptions: TAction
|
||||
Category = 'Config'
|
||||
Caption = 'Options...'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actOptionsExecute
|
||||
Category = 'Config'
|
||||
end
|
||||
object actCompareContents: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Compare by &Contents'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actCompareContentsExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actShowMenu: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'Menu F9'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actShowMenuExecute
|
||||
ShortCut = 4152
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actRefresh: TAction
|
||||
Category = 'Show'
|
||||
Caption = '&Refresh'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actRefreshExecute
|
||||
ShortCut = 16466
|
||||
Category = 'Show'
|
||||
end
|
||||
object actSearch: TAction
|
||||
Category = 'Commands'
|
||||
Caption = '&Search'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSearchExecute
|
||||
ShortCut = 20534
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actDirHotList: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'Directory &hotlist'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actDirHotListExecute
|
||||
ShortCut = 16452
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actMarkMarkAll: TAction
|
||||
Category = 'Mark'
|
||||
Caption = '&Select All'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMarkMarkAllExecute
|
||||
Category = 'Mark'
|
||||
end
|
||||
object actMarkInvert: TAction
|
||||
Category = 'Mark'
|
||||
Caption = 'Invert Selections'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMarkInvertExecute
|
||||
ShortCut = 42
|
||||
Category = 'Mark'
|
||||
end
|
||||
object actMarkUnmarkAll: TAction
|
||||
Category = 'Mark'
|
||||
Caption = 'Unselect All'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMarkUnmarkAllExecute
|
||||
Category = 'Mark'
|
||||
end
|
||||
object actDelete2: TAction
|
||||
Category = 'Classic'
|
||||
Caption = 'actDelete2'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actDelete2Execute
|
||||
ShortCut = 4103
|
||||
Category = 'Classic'
|
||||
end
|
||||
object actPathToCmdLine: TAction
|
||||
Caption = 'actPathToCmdLine'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actPathToCmdLineExecute
|
||||
ShortCut = 16464
|
||||
end
|
||||
object actMarkPlus: TAction
|
||||
Category = 'Mark'
|
||||
Caption = 'Select a group'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMarkPlusExecute
|
||||
Category = 'Mark'
|
||||
end
|
||||
object actMarkMinus: TAction
|
||||
Category = 'Mark'
|
||||
Caption = 'Unselect a group'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMarkMinusExecute
|
||||
Category = 'Mark'
|
||||
end
|
||||
object actChMod: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Change Attributes'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actChModExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actSymLink: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Create symlink...'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSymLinkExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actHardLink: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Create link...'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actHardLinkExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actReverseOrder: TAction
|
||||
Category = 'Show'
|
||||
Caption = 'Reverse order'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actReverseOrderExecute
|
||||
Category = 'Show'
|
||||
end
|
||||
object actSortByName: TAction
|
||||
Category = 'Show'
|
||||
Caption = 'Name'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSortByNameExecute
|
||||
Category = 'Show'
|
||||
end
|
||||
object actSortByExt: TAction
|
||||
Category = 'Show'
|
||||
Caption = 'Extension'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSortByExtExecute
|
||||
Category = 'Show'
|
||||
end
|
||||
object actSortBySize: TAction
|
||||
Category = 'Show'
|
||||
Caption = 'Size'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSortBySizeExecute
|
||||
Category = 'Show'
|
||||
end
|
||||
object actSortByDate: TAction
|
||||
Category = 'Show'
|
||||
Caption = 'Date'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSortByDateExecute
|
||||
Category = 'Show'
|
||||
end
|
||||
object actSortByAttr: TAction
|
||||
Category = 'Show'
|
||||
Caption = 'Attrib'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actSortByAttrExecute
|
||||
Category = 'Show'
|
||||
end
|
||||
object actMultiRename: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Multi Rename Tool'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actMultiRenameExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actShiftF5: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'actShiftF5'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actShiftF5Execute
|
||||
ShortCut = 12340
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actShiftF6: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'actShiftF6'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actShiftF6Execute
|
||||
ShortCut = 12341
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actShiftF4: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'actShiftF4'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actShiftF4Execute
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actDirHistory: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'actDirHistory'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actDirHistoryExecute
|
||||
ShortCut = 16456
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actCtrlF8: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'actCtrlF8'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actCtrlF8Execute
|
||||
ShortCut = 20535
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actRunTerm: TAction
|
||||
Category = 'Commands'
|
||||
Caption = 'Run Term'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actRunTermExecute
|
||||
ShortCut = 16468
|
||||
Category = 'Commands'
|
||||
end
|
||||
object actCalculateSpace: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Calculate &Occupied Space...'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actCalculateSpaceExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actFileProperties: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Show File Properties'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actFilePropertiesExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actChown: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Chown'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actChownExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actFileLinker: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Link Files'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actFileLinkerExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actFileSpliter: TAction
|
||||
Category = 'File'
|
||||
Caption = 'Split File'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actFileSpliterExecute
|
||||
Category = 'File'
|
||||
end
|
||||
object actNewTab: TAction
|
||||
Category = 'Tabs'
|
||||
Caption = 'actNewTab'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actNewTabExecute
|
||||
Category = 'Tabs'
|
||||
end
|
||||
object actRemoveTab: TAction
|
||||
Category = 'Tabs'
|
||||
Caption = 'actRemoveTab'
|
||||
DisableIfNoHandler = True
|
||||
HelpType = htKeyword
|
||||
OnExecute = actRemoveTabExecute
|
||||
Category = 'Tabs'
|
||||
end
|
||||
end
|
||||
object pmHotList: TPopupMenu
|
||||
|
|
|
|||
62
fmain.pas
62
fmain.pas
|
|
@ -255,6 +255,7 @@ type
|
|||
{ Private declarations }
|
||||
PanelSelected:TFilePanelSelect;
|
||||
bAltPress:Boolean;
|
||||
IsPanelsCreated : Boolean;
|
||||
|
||||
function ExecuteCommandFromEdit(sCmd:String):Boolean;
|
||||
public
|
||||
|
|
@ -317,6 +318,7 @@ begin
|
|||
if FileExists(gpIniDir+cHistoryFile) then
|
||||
edtCommand.Items.LoadFromFile(gpIniDir+cHistoryFile);
|
||||
// writeln('frmMain.FormCreate Done');
|
||||
IsPanelsCreated := False;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.Button1Click(Sender: TObject);
|
||||
|
|
@ -330,7 +332,7 @@ end;
|
|||
|
||||
procedure TfrmMain.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
writeln('frmMain.Destroy');
|
||||
DebugLn('frmMain.Destroy');
|
||||
edtCommand.Items.SaveToFile(gpIniDir+cHistoryFile);
|
||||
{*Tool Bar*}
|
||||
MainToolBar.SaveToFile(gpIniDir + 'default.bar');
|
||||
|
|
@ -436,7 +438,7 @@ end;
|
|||
procedure TfrmMain.MainToolBarToolButtonClick(NumberOfButton : Integer);
|
||||
begin
|
||||
ExecCmdFork(MainToolBar.Commands[NumberOfButton]);
|
||||
writeln(MainToolBar.Commands[NumberOfButton]);
|
||||
DebugLn(MainToolBar.Commands[NumberOfButton]);
|
||||
end;
|
||||
|
||||
|
||||
|
|
@ -492,6 +494,21 @@ procedure TfrmMain.frmMainShow(Sender: TObject);
|
|||
var
|
||||
LastDir : String;
|
||||
begin
|
||||
DebugLn('frmMainShow');
|
||||
(* If panels already created then refresh their and exit *)
|
||||
if IsPanelsCreated then
|
||||
begin
|
||||
FrameLeft.RefreshPanel;
|
||||
FrameRight.RefreshPanel;
|
||||
Exit;
|
||||
end;
|
||||
|
||||
|
||||
Left := gIni.ReadInteger('Configuration', 'Main.Left', Left);
|
||||
Top := gIni.ReadInteger('Configuration', 'Main.Top', Top);
|
||||
Width := gIni.ReadInteger('Configuration', 'Main.Width', Width);
|
||||
Height := gIni.ReadInteger('Configuration', 'Main.Height', Height);
|
||||
|
||||
CreatePanel(AddPage(nbLeft), fpLeft );
|
||||
CreatePanel(AddPage(nbRight), fpRight);
|
||||
|
||||
|
|
@ -520,10 +537,7 @@ begin
|
|||
PanelSelected:=fpLeft;
|
||||
|
||||
SetActiveFrame(fpLeft);
|
||||
Left := gIni.ReadInteger('Configuration', 'Main.Left', Left);
|
||||
Top := gIni.ReadInteger('Configuration', 'Main.Top', Top);
|
||||
Width := gIni.ReadInteger('Configuration', 'Main.Width', Width);
|
||||
Height := gIni.ReadInteger('Configuration', 'Main.Height', Height);
|
||||
|
||||
pnlNotebooks.Width:=Width div 2;
|
||||
|
||||
(*Create Disk Panels*)
|
||||
|
|
@ -534,6 +548,8 @@ begin
|
|||
(*Tool Bar*)
|
||||
MainToolBar.LoadFromFile(gpIniDir + 'default.bar');
|
||||
(*Tool Bar*)
|
||||
|
||||
IsPanelsCreated := True;
|
||||
end;
|
||||
|
||||
procedure TfrmMain.NoteBookCloseTabClicked(Sender: TObject);
|
||||
|
|
@ -592,7 +608,7 @@ begin
|
|||
if fr^.bSelected and not (FPS_ISDIR(fr^.iMode)) then
|
||||
begin
|
||||
sl.Add(ActiveDir+fr^.sName);
|
||||
writeln('View.Add:',ActiveDir+fr^.sName);
|
||||
DebugLn('View.Add:',ActiveDir+fr^.sName);
|
||||
end;
|
||||
end;
|
||||
if sl.Count>0 then
|
||||
|
|
@ -1098,7 +1114,7 @@ end;
|
|||
|
||||
procedure TfrmMain.FormKeyPress(Sender: TObject; var Key: Char);
|
||||
begin
|
||||
// writeln('KeyPress:',Key);
|
||||
// DebugLn('KeyPress:',Key);
|
||||
if Key=#27 then
|
||||
ActiveFrame.ClearCmdLine;
|
||||
if (ord(key)>31) and (ord(key)<255) then
|
||||
|
|
@ -1140,13 +1156,13 @@ end;
|
|||
|
||||
function TfrmMain.FrameLeft: TFrameFilePanel;
|
||||
begin
|
||||
// writeln(nbLeft.Page[nbLeft.PageIndex].Components[0].ClassName);
|
||||
// DebugLn(nbLeft.Page[nbLeft.PageIndex].Components[0].ClassName);
|
||||
Result:=TFrameFilePanel(nbLeft.Page[nbLeft.PageIndex].Components[0]);
|
||||
end;
|
||||
|
||||
function TfrmMain.FrameRight: TFrameFilePanel;
|
||||
begin
|
||||
// writeln(nbRight.Page[nbRight.PageIndex].Components[0].ClassName);
|
||||
// DebugLn(nbRight.Page[nbRight.PageIndex].Components[0].ClassName);
|
||||
Result:=TFrameFilePanel(nbRight.Page[nbRight.PageIndex].Components[0]);
|
||||
|
||||
// Result:=TFrameFilePanel(nbRight.Page[0].Components[0]);
|
||||
|
|
@ -1191,8 +1207,8 @@ end;
|
|||
|
||||
procedure TfrmMain.AppException(Sender: TObject; E: Exception);
|
||||
begin
|
||||
writeln(stdErr,'Exception:',E.Message);
|
||||
writeln(stdErr,'Func:',BackTraceStrFunc(get_caller_frame(get_frame)));
|
||||
WriteLn(stdErr,'Exception:',E.Message);
|
||||
WriteLn(stdErr,'Func:',BackTraceStrFunc(get_caller_frame(get_frame)));
|
||||
Dump_Stack(StdErr, get_caller_frame(get_frame));
|
||||
end;
|
||||
|
||||
|
|
@ -1254,7 +1270,7 @@ end;
|
|||
procedure TfrmMain.actSearchExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
WriteLN('ShowFindDlg');
|
||||
DebugLn('ShowFindDlg');
|
||||
ShowFindDlg(ActiveFrame.ActiveDir);
|
||||
end;
|
||||
|
||||
|
|
@ -1881,7 +1897,7 @@ procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;
|
|||
begin
|
||||
inherited;
|
||||
|
||||
// writeln('Key down:',Key);
|
||||
// DebugLn('Key down:',Key);
|
||||
if Key=18 then // is the ALT?
|
||||
begin
|
||||
ActiveFrame.ShowAltPanel;
|
||||
|
|
@ -1952,13 +1968,13 @@ begin
|
|||
Exit;
|
||||
end;
|
||||
end;}
|
||||
// writeln(Key);
|
||||
// DebugLn(Key);
|
||||
if HandleActionHotKeys(Key, Shift) Then
|
||||
begin
|
||||
Key:=0;;
|
||||
Exit;
|
||||
end;
|
||||
// writeln(Key);
|
||||
// DebugLn(Key);
|
||||
|
||||
{ if bAltPress and (shift=[ssAlt]) and (key=VK_Alt) and not IsAltPanel then
|
||||
begin
|
||||
|
|
@ -2010,13 +2026,13 @@ procedure TfrmMain.FormActivate(Sender: TObject);
|
|||
begin
|
||||
KeyPreview:=True;
|
||||
// ActiveFrame.SetFocus;
|
||||
// writeln('Activate');
|
||||
// DebugLn('Activate');
|
||||
end;
|
||||
|
||||
procedure TfrmMain.FrameRightedtRenameExit(Sender: TObject);
|
||||
begin
|
||||
// handler for both edits
|
||||
// writeln('On exit');
|
||||
// DebugLn('On exit');
|
||||
KeyPreview:=True;
|
||||
ActiveFrame.edtRename.Visible:=False;
|
||||
end;
|
||||
|
|
@ -2110,7 +2126,7 @@ end;
|
|||
|
||||
procedure TfrmMain.FramelblLPathClick(Sender: TObject);
|
||||
begin
|
||||
// writeln(TControl(Sender).Parent.Parent.ClassName);
|
||||
// DebugLn(TControl(Sender).Parent.Parent.ClassName);
|
||||
SetActiveFrame(TFrameFilePanel(TControl(Sender).Parent.Parent).PanelSelect);
|
||||
actDirHistory.Execute;
|
||||
end;
|
||||
|
|
@ -2228,8 +2244,8 @@ begin
|
|||
ANoteBook.Pages.Add(PageName);
|
||||
ANoteBook.ActivePage:= PageName;
|
||||
Result:=ANoteBook.Page[x];
|
||||
{ writeln(Result.ClassName);
|
||||
writeln(Result.Name);}
|
||||
{ DebugLn(Result.ClassName);
|
||||
DebugLn(Result.Name);}
|
||||
ANoteBook.ShowTabs:= (ANoteBook.PageCount > 1);
|
||||
end;
|
||||
|
||||
|
|
@ -2352,7 +2368,7 @@ begin
|
|||
begin
|
||||
sDir:=Trim(Copy(sCmd, iIndex+3, length(sCmd)));
|
||||
sDir:=IncludeTrailingBackslash(sDir);
|
||||
writeln('Chdir to:',sDir);
|
||||
DebugLn('Chdir to:',sDir);
|
||||
if not SetCurrentDir(sDir) then
|
||||
begin
|
||||
msgError(Format('ChDir to [%s] failed!',[sDir]));
|
||||
|
|
@ -2363,7 +2379,7 @@ begin
|
|||
begin
|
||||
GetDir(0,sDir);
|
||||
ActiveDir:=sDir;
|
||||
writeln(sDir);
|
||||
DebugLn(sDir);
|
||||
end;
|
||||
end;
|
||||
end
|
||||
|
|
|
|||
116
framepanel.lfm
116
framepanel.lfm
|
|
@ -1,91 +1,97 @@
|
|||
object FrameFilePanel: TFrameFilePanel
|
||||
Left = 456
|
||||
Left = 132
|
||||
Height = 415
|
||||
Top = 231
|
||||
Top = 83
|
||||
Width = 349
|
||||
HorzScrollBar.Page = 348
|
||||
VertScrollBar.Page = 414
|
||||
ActiveControl = dgPanel
|
||||
Caption = 'FrameFilePanel'
|
||||
object pnPanel: TPanel
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 415
|
||||
ClientWidth = 349
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Height = 415
|
||||
Width = 349
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
object lblLInfo: TLabel
|
||||
Height = 14
|
||||
Width = 36
|
||||
Caption = 'lblLInfo'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
Height = 17
|
||||
Width = 65
|
||||
end
|
||||
object pnlHeader: TPanel
|
||||
Align = alTop
|
||||
BevelInner = bvLowered
|
||||
ClientHeight = 41
|
||||
ClientWidth = 349
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
Height = 41
|
||||
Width = 349
|
||||
Align = alTop
|
||||
BevelInner = bvLowered
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
object btnRoot: TSpeedButton
|
||||
Anchors = [akTop]
|
||||
Caption = '/'
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
Left = 166
|
||||
Height = 20
|
||||
Top = 20
|
||||
Width = 17
|
||||
end
|
||||
object btnHome: TSpeedButton
|
||||
Anchors = [akTop]
|
||||
Caption = '~'
|
||||
Caption = '/'
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnHome: TSpeedButton
|
||||
Left = 166
|
||||
Height = 20
|
||||
Top = 19
|
||||
Width = 17
|
||||
end
|
||||
object btnUp: TSpeedButton
|
||||
Caption = '..'
|
||||
Anchors = [akTop]
|
||||
Caption = '~'
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object btnUp: TSpeedButton
|
||||
Left = 320
|
||||
Height = 20
|
||||
Top = 20
|
||||
Width = 17
|
||||
Caption = '..'
|
||||
Color = clBtnFace
|
||||
Flat = True
|
||||
NumGlyphs = 0
|
||||
end
|
||||
object lblLPath: TLabel
|
||||
Left = 2
|
||||
Height = 14
|
||||
Top = 2
|
||||
Width = 345
|
||||
Align = alTop
|
||||
Caption = 'lblLPath'
|
||||
Color = clBackground
|
||||
ParentColor = False
|
||||
Transparent = False
|
||||
Left = 2
|
||||
Height = 17
|
||||
Top = 2
|
||||
Width = 345
|
||||
end
|
||||
object lblFree: TLabel
|
||||
Left = 2
|
||||
Height = 23
|
||||
Top = 16
|
||||
Width = 33
|
||||
Align = alLeft
|
||||
Caption = 'lblFree'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
Left = 2
|
||||
Height = 20
|
||||
Top = 19
|
||||
Width = 65
|
||||
end
|
||||
end
|
||||
object edtRename: TEdit
|
||||
TabOrder = 2
|
||||
Visible = False
|
||||
Height = 1
|
||||
Width = 1
|
||||
TabOrder = 2
|
||||
Visible = False
|
||||
end
|
||||
object dgPanel: TDrawGrid
|
||||
Height = 344
|
||||
Top = 41
|
||||
Width = 349
|
||||
Align = alClient
|
||||
AutoAdvance = aaDown
|
||||
Color = clWhite
|
||||
|
|
@ -101,47 +107,37 @@ object FrameFilePanel: TFrameFilePanel
|
|||
ScrollBars = ssAutoBoth
|
||||
TabOrder = 1
|
||||
TabStop = True
|
||||
VisibleColCount = 1
|
||||
VisibleRowCount = 1
|
||||
Left = 224
|
||||
Height = 344
|
||||
Top = 208
|
||||
Width = 349
|
||||
end
|
||||
object pnAltSearch: TPanel
|
||||
Alignment = taLeftJustify
|
||||
Caption = ' Find:'
|
||||
ClientHeight = 29
|
||||
ClientWidth = 185
|
||||
FullRepaint = False
|
||||
TabOrder = 3
|
||||
Visible = False
|
||||
Left = 8
|
||||
Height = 29
|
||||
Top = 336
|
||||
Width = 185
|
||||
Alignment = taLeftJustify
|
||||
Caption = ' Find:'
|
||||
FullRepaint = False
|
||||
TabOrder = 3
|
||||
Visible = False
|
||||
object edSearch: TEdit
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
OnKeyPress = edSearchKeyPress
|
||||
TabOrder = 0
|
||||
Left = 64
|
||||
Height = 24
|
||||
Top = 2
|
||||
Width = 118
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
OnKeyPress = edSearchKeyPress
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object pnlFooter: TPanel
|
||||
Align = alBottom
|
||||
Anchors = [akLeft, akRight]
|
||||
Caption = 'pnlFooter'
|
||||
ClientHeight = 30
|
||||
ClientWidth = 349
|
||||
FullRepaint = False
|
||||
TabOrder = 4
|
||||
TabStop = True
|
||||
Height = 30
|
||||
Top = 385
|
||||
Width = 349
|
||||
Align = alBottom
|
||||
Anchors = [akLeft, akRight]
|
||||
Caption = 'pnlFooter'
|
||||
FullRepaint = False
|
||||
TabOrder = 4
|
||||
TabStop = True
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,41 +1,40 @@
|
|||
{ Ýòî - ôàéë ðåñóðñîâ, àâòîìàòè÷åñêè ñîçäàííûé lazarus }
|
||||
|
||||
LazarusResources.Add('TFrameFilePanel','FORMDATA',[
|
||||
'TPF0'#15'TFrameFilePanel'#14'FrameFilePanel'#4'Left'#3#200#1#6'Height'#3#159
|
||||
+#1#3'Top'#3#231#0#5'Width'#3']'#1#0#6'TPanel'#7'pnPanel'#5'Align'#7#8'alClie'
|
||||
+'nt'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3#159#1#11'ClientWidth'#3']'
|
||||
+#1#11'FullRepaint'#8#8'TabOrder'#2#0#6'Height'#3#159#1#5'Width'#3']'#1#0#6'T'
|
||||
+'Label'#8'lblLInfo'#7'Caption'#6#8'lblLInfo'#5'Color'#7#6'clNone'#11'ParentC'
|
||||
+'olor'#8#6'Height'#2#17#5'Width'#2'A'#0#0#6'TPanel'#9'pnlHeader'#5'Align'#7#5
|
||||
+'alTop'#10'BevelInner'#7#9'bvLowered'#12'ClientHeight'#2')'#11'ClientWidth'#3
|
||||
+']'#1#11'FullRepaint'#8#8'TabOrder'#2#0#6'Height'#2')'#5'Width'#3']'#1#0#12
|
||||
+'TSpeedButton'#7'btnRoot'#7'Anchors'#11#5'akTop'#0#7'Caption'#6#1'/'#4'Flat'
|
||||
+#9#9'NumGlyphs'#2#0#4'Left'#3#166#0#6'Height'#2#20#3'Top'#2#20#5'Width'#2#17
|
||||
+#0#0#12'TSpeedButton'#7'btnHome'#7'Anchors'#11#5'akTop'#0#7'Caption'#6#1'~'#4
|
||||
+'Flat'#9#9'NumGlyphs'#2#0#4'Left'#3#166#0#6'Height'#2#20#3'Top'#2#19#5'Width'
|
||||
+#2#17#0#0#12'TSpeedButton'#5'btnUp'#7'Caption'#6#2'..'#4'Flat'#9#9'NumGlyphs'
|
||||
+#2#0#4'Left'#3'@'#1#6'Height'#2#20#3'Top'#2#20#5'Width'#2#17#0#0#6'TLabel'#8
|
||||
+'lblLPath'#5'Align'#7#5'alTop'#7'Caption'#6#8'lblLPath'#5'Color'#7#12'clBack'
|
||||
+'ground'#11'ParentColor'#8#11'Transparent'#8#4'Left'#2#2#6'Height'#2#17#3'To'
|
||||
+'p'#2#2#5'Width'#3'Y'#1#0#0#6'TLabel'#7'lblFree'#5'Align'#7#6'alLeft'#7'Capt'
|
||||
+'ion'#6#7'lblFree'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#2#6'Heig'
|
||||
+'ht'#2#20#3'Top'#2#19#5'Width'#2'A'#0#0#0#5'TEdit'#9'edtRename'#8'TabOrder'#2
|
||||
+#2#7'Visible'#8#6'Height'#2#1#5'Width'#2#1#0#0#9'TDrawGrid'#7'dgPanel'#5'Ali'
|
||||
+'gn'#7#8'alClient'#11'AutoAdvance'#7#6'aaDown'#5'Color'#7#7'clWhite'#8'ColCo'
|
||||
+'unt'#2#5#14'DefaultDrawing'#8#16'DefaultRowHeight'#2#16#10'FixedColor'#7#9
|
||||
+'clBtnFace'#9'FixedCols'#2#0#9'FixedRows'#2#0#13'GridLineWidth'#2#0#7'Option'
|
||||
+'s'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'
|
||||
+#11'goColSizing'#11'goRowSelect'#0#8'RowCount'#2#5#10'ScrollBars'#7#10'ssAut'
|
||||
+'oBoth'#8'TabOrder'#2#1#7'TabStop'#9#15'VisibleColCount'#2#1#15'VisibleRowCo'
|
||||
+'unt'#2#1#4'Left'#3#224#0#6'Height'#3'X'#1#3'Top'#3#208#0#5'Width'#3']'#1#0#0
|
||||
+#6'TPanel'#11'pnAltSearch'#9'Alignment'#7#13'taLeftJustify'#7'Caption'#6#6' '
|
||||
+'Find:'#12'ClientHeight'#2#29#11'ClientWidth'#3#185#0#11'FullRepaint'#8#8'Ta'
|
||||
+'bOrder'#2#3#7'Visible'#8#4'Left'#2#8#6'Height'#2#29#3'Top'#3'P'#1#5'Width'#3
|
||||
+#185#0#0#5'TEdit'#8'edSearch'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
|
||||
+'akBottom'#0#10'OnKeyPress'#7#16'edSearchKeyPress'#8'TabOrder'#2#0#4'Left'#2
|
||||
+'@'#6'Height'#2#24#3'Top'#2#2#5'Width'#2'v'#0#0#0#6'TPanel'#9'pnlFooter'#5'A'
|
||||
+'lign'#7#8'alBottom'#7'Anchors'#11#6'akLeft'#7'akRight'#0#7'Caption'#6#9'pnl'
|
||||
+'Footer'#12'ClientHeight'#2#30#11'ClientWidth'#3']'#1#11'FullRepaint'#8#8'Ta'
|
||||
+'bOrder'#2#4#7'TabStop'#9#6'Height'#2#30#3'Top'#3#129#1#5'Width'#3']'#1#0#0#0
|
||||
+#0
|
||||
'TPF0'#15'TFrameFilePanel'#14'FrameFilePanel'#4'Left'#3#132#0#6'Height'#3#159
|
||||
+#1#3'Top'#2'S'#5'Width'#3']'#1#18'HorzScrollBar.Page'#3'\'#1#18'VertScrollBa'
|
||||
+'r.Page'#3#158#1#13'ActiveControl'#7#7'dgPanel'#7'Caption'#6#14'FrameFilePan'
|
||||
+'el'#0#6'TPanel'#7'pnPanel'#6'Height'#3#159#1#5'Width'#3']'#1#5'Align'#7#8'a'
|
||||
+'lClient'#10'BevelOuter'#7#6'bvNone'#11'FullRepaint'#8#8'TabOrder'#2#0#0#6'T'
|
||||
+'Label'#8'lblLInfo'#6'Height'#2#14#5'Width'#2'$'#7'Caption'#6#8'lblLInfo'#5
|
||||
+'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TPanel'#9'pnlHeader'#6'Height'#2
|
||||
+')'#5'Width'#3']'#1#5'Align'#7#5'alTop'#10'BevelInner'#7#9'bvLowered'#11'Ful'
|
||||
+'lRepaint'#8#8'TabOrder'#2#0#0#12'TSpeedButton'#7'btnRoot'#4'Left'#3#166#0#6
|
||||
+'Height'#2#20#3'Top'#2#20#5'Width'#2#17#7'Anchors'#11#5'akTop'#0#7'Caption'#6
|
||||
+#1'/'#5'Color'#7#9'clBtnFace'#4'Flat'#9#9'NumGlyphs'#2#0#0#0#12'TSpeedButton'
|
||||
+#7'btnHome'#4'Left'#3#166#0#6'Height'#2#20#3'Top'#2#19#5'Width'#2#17#7'Ancho'
|
||||
+'rs'#11#5'akTop'#0#7'Caption'#6#1'~'#5'Color'#7#9'clBtnFace'#4'Flat'#9#9'Num'
|
||||
+'Glyphs'#2#0#0#0#12'TSpeedButton'#5'btnUp'#4'Left'#3'@'#1#6'Height'#2#20#3'T'
|
||||
+'op'#2#20#5'Width'#2#17#7'Caption'#6#2'..'#5'Color'#7#9'clBtnFace'#4'Flat'#9
|
||||
+#9'NumGlyphs'#2#0#0#0#6'TLabel'#8'lblLPath'#4'Left'#2#2#6'Height'#2#14#3'Top'
|
||||
+#2#2#5'Width'#3'Y'#1#5'Align'#7#5'alTop'#7'Caption'#6#8'lblLPath'#5'Color'#7
|
||||
+#12'clBackground'#11'ParentColor'#8#11'Transparent'#8#0#0#6'TLabel'#7'lblFre'
|
||||
+'e'#4'Left'#2#2#6'Height'#2#23#3'Top'#2#16#5'Width'#2'!'#5'Align'#7#6'alLeft'
|
||||
+#7'Caption'#6#7'lblFree'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#0#5'TEdi'
|
||||
+'t'#9'edtRename'#6'Height'#2#1#5'Width'#2#1#8'TabOrder'#2#2#7'Visible'#8#0#0
|
||||
+#9'TDrawGrid'#7'dgPanel'#6'Height'#3'X'#1#3'Top'#2')'#5'Width'#3']'#1#5'Alig'
|
||||
+'n'#7#8'alClient'#11'AutoAdvance'#7#6'aaDown'#5'Color'#7#7'clWhite'#8'ColCou'
|
||||
+'nt'#2#5#14'DefaultDrawing'#8#16'DefaultRowHeight'#2#16#10'FixedColor'#7#9'c'
|
||||
+'lBtnFace'#9'FixedCols'#2#0#9'FixedRows'#2#0#13'GridLineWidth'#2#0#7'Options'
|
||||
+#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#11
|
||||
+'goColSizing'#11'goRowSelect'#0#8'RowCount'#2#5#10'ScrollBars'#7#10'ssAutoBo'
|
||||
+'th'#8'TabOrder'#2#1#7'TabStop'#9#0#0#6'TPanel'#11'pnAltSearch'#4'Left'#2#8#6
|
||||
+'Height'#2#29#3'Top'#3'P'#1#5'Width'#3#185#0#9'Alignment'#7#13'taLeftJustify'
|
||||
+#7'Caption'#6#6' Find:'#11'FullRepaint'#8#8'TabOrder'#2#3#7'Visible'#8#0#5'T'
|
||||
+'Edit'#8'edSearch'#4'Left'#2'@'#6'Height'#2#24#3'Top'#2#2#5'Width'#2'v'#7'An'
|
||||
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#10'OnKeyPress'#7#16'e'
|
||||
+'dSearchKeyPress'#8'TabOrder'#2#0#0#0#0#6'TPanel'#9'pnlFooter'#6'Height'#2#30
|
||||
+#3'Top'#3#129#1#5'Width'#3']'#1#5'Align'#7#8'alBottom'#7'Anchors'#11#6'akLef'
|
||||
+'t'#7'akRight'#0#7'Caption'#6#9'pnlFooter'#11'FullRepaint'#8#8'TabOrder'#2#4
|
||||
+#7'TabStop'#9#0#0#0#0
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -40,11 +40,7 @@ type
|
|||
dgPanel: TDrawGrid;
|
||||
pnAltSearch: TPanel;
|
||||
edtSearch: TEdit;
|
||||
{ Alexx2000 This is old method
|
||||
btnRoot: TSpeedButton;
|
||||
btnHome: TSpeedButton;
|
||||
btnUp: TSpeedButton;
|
||||
}
|
||||
|
||||
procedure edSearchChange(Sender: TObject);
|
||||
procedure edtRenameKeyPress(Sender: TObject; var Key: Char);
|
||||
procedure dgPanelDrawCell(Sender: TObject; ACol, ARow: Integer;
|
||||
|
|
@ -776,6 +772,8 @@ begin
|
|||
|
||||
edtRename.OnKeyPress:=@edtRenameKeyPress;
|
||||
|
||||
pnlHeader.OnResize := @pnlHeaderResize;
|
||||
|
||||
lblLPath.OnMouseEnter:=@lblLPathMouseEnter;
|
||||
lblLPath.OnMouseLeave:=@lblLPathMouseLeave;
|
||||
|
||||
|
|
|
|||
29
fviewer.lfm
29
fviewer.lfm
|
|
@ -1,6 +1,8 @@
|
|||
object frmViewer: TfrmViewer
|
||||
ActiveControl = ScrollBarVert
|
||||
Caption = 'frmViewer'
|
||||
ClientHeight = 498
|
||||
ClientWidth = 792
|
||||
KeyPreview = True
|
||||
Menu = MainMenu
|
||||
OnClose = frmViewerClose
|
||||
|
|
@ -12,11 +14,12 @@ object frmViewer: TfrmViewer
|
|||
PixelsPerInch = 96
|
||||
Position = poScreenCenter
|
||||
TextHeight = 16
|
||||
HorzScrollBar.Page = 65535
|
||||
VertScrollBar.Page = 65535
|
||||
HorzScrollBar.Page = 791
|
||||
VertScrollBar.Page = 497
|
||||
VertScrollBar.Range = 19
|
||||
Left = 109
|
||||
Height = 518
|
||||
Top = 539
|
||||
Top = 207
|
||||
Width = 792
|
||||
object Status: TStatusBar
|
||||
Panels = <
|
||||
|
|
@ -34,15 +37,21 @@ object frmViewer: TfrmViewer
|
|||
end>
|
||||
SimplePanel = False
|
||||
Height = 23
|
||||
Top = -23
|
||||
Top = 475
|
||||
Width = 792
|
||||
end
|
||||
object nbPages: TNotebook
|
||||
Align = alClient
|
||||
PageIndex = 0
|
||||
ShowTabs = False
|
||||
Top = -11
|
||||
Height = 475
|
||||
Width = 792
|
||||
object pgText: TPage
|
||||
Caption = 'pgText'
|
||||
ClientWidth = 784
|
||||
ClientHeight = 467
|
||||
Height = 467
|
||||
Width = 784
|
||||
object ScrollBarVert: TScrollBar
|
||||
Align = alRight
|
||||
Anchors = [akTop, akRight]
|
||||
|
|
@ -53,7 +62,8 @@ object frmViewer: TfrmViewer
|
|||
Position = 50
|
||||
TabOrder = 0
|
||||
OnScroll = ScrollBarVertScroll
|
||||
Left = -15
|
||||
Left = 769
|
||||
Height = 467
|
||||
Width = 15
|
||||
end
|
||||
object ViewerControl: TViewerControl
|
||||
|
|
@ -64,11 +74,16 @@ object frmViewer: TfrmViewer
|
|||
OnMouseWheelDown = ViewerControlMouseWheelDown
|
||||
OnMouseWheelUp = ViewerControlMouseWheelUp
|
||||
Cursor = crIBeam
|
||||
Left = -7
|
||||
Height = 467
|
||||
Width = 769
|
||||
end
|
||||
end
|
||||
object pgImage: TPage
|
||||
Caption = 'pgImage'
|
||||
ClientWidth = 784
|
||||
ClientHeight = 467
|
||||
Height = 467
|
||||
Width = 784
|
||||
object ScrollBox: TScrollBox
|
||||
Align = alClient
|
||||
ParentCtl3D = False
|
||||
|
|
|
|||
178
udcutils.pas
178
udcutils.pas
|
|
@ -25,7 +25,8 @@ uses
|
|||
Function cnvFormatFileSize(iSize:Int64):String;
|
||||
Function MinimizeFilePath(const PathToMince: String; Canvas: TCanvas;
|
||||
MaxLen: Integer): String;
|
||||
function FileMaskEquate(F, M: string): boolean;
|
||||
function G_ValidateWildText(const S, Mask: string; bCaseSens : Boolean = False; MaskChar: Char = '?';
|
||||
WildCard: Char = '*'): Boolean;
|
||||
procedure DivFileName(const sFileName:String; var n,e:String);
|
||||
|
||||
implementation
|
||||
|
|
@ -155,67 +156,132 @@ begin
|
|||
end;
|
||||
|
||||
|
||||
{ **** UBPFD *********** by delphibase.endimus.com ****
|
||||
>> Ïðîâåðêà íà ñîîòâåòñòâèå èìåíè ôàéëà çàäàííîé ìàñêå
|
||||
|
||||
Çàâèñèìîñòè: sysutils
|
||||
Àâòîð: Dmitry Raduzhan
|
||||
Copyright: Dmitry Raduzhan
|
||||
Äàòà: 24 ìàðòà 2004 ã.
|
||||
***************************************************** }
|
||||
|
||||
function FileMaskEquate(F, M: string): boolean;
|
||||
function CharPos(C: Char; const S: string; StartPos: Integer = 1): Integer; overload;
|
||||
var
|
||||
Fl, Ml: byte; // length of file name and mask
|
||||
Fp, Mp: byte; // pointers
|
||||
sNewStr : String;
|
||||
begin
|
||||
F := UpperCase(F);
|
||||
M := UpperCase(M);
|
||||
result := true;
|
||||
Fl := length(F);
|
||||
Ml := length(M);
|
||||
Fp := 1;
|
||||
Mp := 1;
|
||||
while Mp <= Ml do
|
||||
begin // wildcard
|
||||
case M[Mp] of //
|
||||
'?':
|
||||
begin // if one any char
|
||||
inc(Mp); // next char of mask
|
||||
inc(Fp); // next char of file name
|
||||
end; //
|
||||
'*':
|
||||
begin // if any chars
|
||||
if Mp = Ml then
|
||||
exit; // if last char in mask then exit
|
||||
if M[Mp + 1] = F[Fp] then
|
||||
begin // if next char in mask equate char in
|
||||
Inc(Mp); // file name then next char in mask and
|
||||
end
|
||||
else
|
||||
begin // else
|
||||
if Fp = Fl then
|
||||
begin // if last char in file name then
|
||||
result := false; // function return false
|
||||
exit; //
|
||||
end; // else, if not previous, then
|
||||
inc(Fp); // next char in file name
|
||||
end; //
|
||||
end; //
|
||||
else
|
||||
begin // other char in mask
|
||||
if M[Mp] <> F[Fp] then
|
||||
begin // if char in mask not equate char in
|
||||
result := false; // file name then function return
|
||||
exit; // false
|
||||
end; // else
|
||||
inc(Fp); // next char of mask
|
||||
inc(Mp); // next char of file name
|
||||
end //
|
||||
if StartPos <> 1 then
|
||||
begin
|
||||
sNewStr := Copy(S, StartPos, Length(S) - StartPos + 1);
|
||||
Result := Pos(C, sNewStr);
|
||||
if Result <> 0 then
|
||||
Result := Result + StartPos - 1;
|
||||
end
|
||||
else
|
||||
Result := Pos(C, S);
|
||||
end;
|
||||
|
||||
{
|
||||
This function based on G_ValidateWildText from AcedUtils
|
||||
http://acedutils.narod.ru/AcedUtils.zip
|
||||
}
|
||||
|
||||
function G_ValidateWildText(const S, Mask: string; bCaseSens : Boolean = False; MaskChar: Char = '?';
|
||||
WildCard: Char = '*'): Boolean;
|
||||
label
|
||||
99;
|
||||
var
|
||||
L, X, X0, Q: Integer;
|
||||
P, P1, B: PChar;
|
||||
C: Char;
|
||||
sUpperS,
|
||||
sUpperMask : String;
|
||||
begin
|
||||
if not bCaseSens then
|
||||
begin
|
||||
sUpperS := UpperCase(S);
|
||||
sUpperMask := UpperCase(Mask);
|
||||
end
|
||||
else
|
||||
begin
|
||||
sUpperS := S;
|
||||
sUpperMask := Mask;
|
||||
end;
|
||||
|
||||
X := Pos(WildCard, sUpperMask);
|
||||
Result := False;
|
||||
if X = 0 then
|
||||
begin
|
||||
L := Length(sUpperMask);
|
||||
if (L > 0) and (L = Length(sUpperS)) then
|
||||
begin
|
||||
P := Pointer(sUpperS);
|
||||
B := Pointer(sUpperMask);
|
||||
repeat
|
||||
C := B^;
|
||||
if (C <> MaskChar) and (C <> P^) then
|
||||
Exit;
|
||||
Dec(L);
|
||||
Inc(B);
|
||||
Inc(P);
|
||||
until L = 0;
|
||||
Result := True;
|
||||
end;
|
||||
Exit;
|
||||
end;
|
||||
L := Length(sUpperS);
|
||||
P := Pointer(sUpperS);
|
||||
B := Pointer(sUpperMask);
|
||||
Q := X - 1;
|
||||
if L < Q then
|
||||
Exit;
|
||||
while Q > 0 do
|
||||
begin
|
||||
C := B^;
|
||||
if (C <> MaskChar) and (C <> P^) then
|
||||
Exit;
|
||||
Dec(Q);
|
||||
Inc(B);
|
||||
Inc(P);
|
||||
end;
|
||||
Dec(L, X - 1);
|
||||
repeat
|
||||
X0 := X;
|
||||
P1 := P;
|
||||
while sUpperMask[X0] = WildCard do
|
||||
Inc(X0);
|
||||
X := CharPos(WildCard, sUpperMask, X0);
|
||||
if X = 0 then
|
||||
Break;
|
||||
99:
|
||||
P := P1;
|
||||
B := @sUpperMask[X0];
|
||||
Q := X - X0;
|
||||
if L < Q then
|
||||
Exit;
|
||||
while Q > 0 do
|
||||
begin
|
||||
C := B^;
|
||||
if (C <> MaskChar) and (C <> P^) then
|
||||
begin
|
||||
Inc(P1);
|
||||
Dec(L);
|
||||
goto 99;
|
||||
end;
|
||||
Dec(Q);
|
||||
Inc(B);
|
||||
Inc(P);
|
||||
end;
|
||||
Dec(L, X - X0);
|
||||
until False;
|
||||
X := Length(sUpperMask);
|
||||
if L >= X - X0 + 1 then
|
||||
begin
|
||||
P := Pointer(sUpperS);
|
||||
Inc(P, Length(sUpperS) - 1);
|
||||
while X >= X0 do
|
||||
begin
|
||||
C := sUpperMask[X];
|
||||
if (C <> MaskChar) and (C <> P^) then
|
||||
Exit;
|
||||
Dec(X);
|
||||
Dec(P);
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -513,7 +513,7 @@ begin
|
|||
begin
|
||||
frp:=fFileList.GetItem(i);
|
||||
if (frp^.sName='..') then Continue;
|
||||
if FileMaskEquate(frp^.sName, sMask) then
|
||||
if G_ValidateWildText(frp^.sName, sMask) then
|
||||
frp^.bSelected := bSelect;
|
||||
end;
|
||||
end;
|
||||
|
|
|
|||
629
ufindthread.pas
629
ufindthread.pas
|
|
@ -1,297 +1,332 @@
|
|||
{
|
||||
Seksi Commander
|
||||
----------------------------
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
Thread for search in files (called from frmSearchDlg)
|
||||
|
||||
contributors:
|
||||
|
||||
Alexander Koblov (Alexx2000@mail.ru)
|
||||
|
||||
}
|
||||
|
||||
|
||||
unit uFindThread;
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, StdCtrls, uDCUtils, SysUtils;
|
||||
|
||||
type
|
||||
|
||||
{ TFindThread }
|
||||
|
||||
TFindThread = class(TThread)
|
||||
private
|
||||
{ Private declarations }
|
||||
FPathStart:String;
|
||||
FItems: TStrings;
|
||||
FFindInFiles:Boolean;
|
||||
FStatus: TLabel;
|
||||
FCurrent: TLabel;
|
||||
FCurrentFile:String;
|
||||
FFilesScaned:Integer;
|
||||
FFoundFile:String;
|
||||
|
||||
FFileMask : String;
|
||||
FAttributes: Cardinal;
|
||||
FCaseSens:Boolean;
|
||||
{Date search}
|
||||
FIsDateFrom,
|
||||
FIsDateTo : Boolean;
|
||||
FDateFrom,
|
||||
FDateTo : TDateTime;
|
||||
(* File size search *)
|
||||
FIsFileSizeFrom,
|
||||
FIsFileSizeTo : Boolean;
|
||||
FFileSizeFrom,
|
||||
FFileSizeTo : Integer;
|
||||
|
||||
FFindData:String;
|
||||
|
||||
function CheckFileDate(Date : LongInt) : Boolean;
|
||||
function CheckFileSize(FileSize : LongInt) : Boolean;
|
||||
function CheckFile(const Folder : String; const sr : TSearchRec) : Boolean;
|
||||
protected
|
||||
procedure Execute; override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure AddFile;
|
||||
procedure WalkAdr(const sNewDir:String);
|
||||
procedure UpDateProgress;
|
||||
property FilterMask:String read FFileMask write FFileMask;
|
||||
property PathStart:String read FPathStart write FPathStart;
|
||||
property Items:TStrings write FItems;
|
||||
property FindInFiles:Boolean write FFindInFiles;
|
||||
property Status:TLabel read FStatus write FStatus;
|
||||
property Current:TLabel read FCurrent write FCurrent; // label current file
|
||||
property CaseSensitive:boolean read FCaseSens write FCaseSens;
|
||||
property FindData:String read FFindData write FFindData;
|
||||
(* Date search *)
|
||||
property IsDateFrom:Boolean read FIsDateFrom write FIsDateFrom;
|
||||
property IsDateTo:Boolean read FIsDateTo write FIsDateTo;
|
||||
property DateFrom:TDateTime read FDateFrom write FDateFrom;
|
||||
property DateTo:TDateTime read FDateTo write FDateTo;
|
||||
(* File size search *)
|
||||
property IsFileSizeFrom : Boolean read FIsFileSizeFrom write FIsFileSizeFrom;
|
||||
property IsFileSizeTo : Boolean read FIsFileSizeTo write FIsFileSizeTo;
|
||||
property FileSizeFrom : LongInt read FFileSizeFrom write FFileSizeFrom;
|
||||
property FileSizeTo : LongInt read FFileSizeTo write FFileSizeTo;
|
||||
|
||||
property Attributes: Cardinal read FAttributes write FAttributes default
|
||||
(faArchive or faReadonly or faHidden or faSysFile or faDirectory);
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, uLng{$IFNDEF WIN32}, uFindMmap, BaseUnix{$ENDIF};
|
||||
{ TFindThread }
|
||||
|
||||
|
||||
constructor TFindThread.Create;
|
||||
begin
|
||||
writeln('thread b');
|
||||
inherited Create(True);
|
||||
//FFilter:=TFilter.Create;
|
||||
FCaseSens:=True;
|
||||
FFilesScaned:=0;
|
||||
FilterMask:='*';
|
||||
{$IFDEF WIN32}
|
||||
FPathStart:='C:\';
|
||||
{$ELSE}
|
||||
FPathStart:='/';
|
||||
{$ENDIF}
|
||||
FItems:=Nil;
|
||||
end;
|
||||
|
||||
destructor TFindThread.Destroy;
|
||||
begin
|
||||
//if assigned(FFilter) then
|
||||
//FreeAndNil(FFilter)
|
||||
end;
|
||||
|
||||
procedure TFindThread.Execute;
|
||||
var
|
||||
sCurrDir:String;
|
||||
begin
|
||||
try
|
||||
writeln('thread b2');
|
||||
assert(Assigned(FItems),'assert:FItems is empty');
|
||||
Synchronize(@UpDateProgress);
|
||||
if FPathStart[length(FPathStart)]='/' then
|
||||
Delete(FPathStart,length(FPathStart),1);
|
||||
sCurrDir:=GetCurrentDir;
|
||||
try
|
||||
writeln('thread b',FPathStart);
|
||||
WalkAdr(FPathStart);
|
||||
finally
|
||||
ChDir(sCurrDir);
|
||||
end;
|
||||
// MessageBeep(1000);
|
||||
writeln('thread end');
|
||||
|
||||
except
|
||||
on E:Exception do
|
||||
ShowMessage(E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFindThread.AddFile;
|
||||
begin
|
||||
FItems.Add(FFoundFile);
|
||||
end;
|
||||
|
||||
procedure TFindThread.UpDateProgress;
|
||||
begin
|
||||
FStatus.Caption:=Format(lngGetString(clngFindScaned),[FFilesScaned]);
|
||||
FCurrent.Caption:=FCurrentFile;
|
||||
end;
|
||||
|
||||
|
||||
function FindInFile(const sFileName:String; sData: String; bCase:Boolean): Boolean;
|
||||
{$IFDEF WIN32}
|
||||
const
|
||||
BufferSize = 4096;
|
||||
var
|
||||
fs: TFileStream;
|
||||
lastPos, sDataLength,
|
||||
OffsetPos: Cardinal;
|
||||
Buffer: array[0..BufferSize-1] of Char;
|
||||
|
||||
Compare: function(Str1, Str2: PChar; MaxLen: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result := False;
|
||||
if sData = '' then Exit;
|
||||
|
||||
if bCase then
|
||||
Compare := @StrLIComp
|
||||
else
|
||||
Compare := @StrLComp;
|
||||
|
||||
sDataLength := Length(sData);
|
||||
|
||||
try
|
||||
fs := TFileStream.Create(sFileName, fmOpenRead or fmShareDenyNone);
|
||||
try
|
||||
repeat
|
||||
OffsetPos := fs.Read(Buffer, BufferSize) - sDataLength;
|
||||
lastPos := 0;
|
||||
while (not Result) and (lastPos <= OffsetPos) do
|
||||
begin
|
||||
Result := (Compare(PChar(sData), @Buffer[lastPos], sDataLength) = 0);
|
||||
inc(lastPos);
|
||||
end;
|
||||
|
||||
until fs.Position >= fs.Size;
|
||||
except
|
||||
end;
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$ELSE} // *nix
|
||||
begin
|
||||
Result := FindMmap(sFileName, sData, bCase);
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
function TFindThread.CheckFileDate(Date : LongInt) : Boolean;
|
||||
var
|
||||
DateTime: TDateTime;
|
||||
begin
|
||||
Result := True;
|
||||
DateTime := FileDateToDateTime(Date);
|
||||
|
||||
if FIsDateFrom then
|
||||
Result := (DateTime >= FDateFrom);
|
||||
|
||||
if (FIsDateTo and Result) then
|
||||
Result := (DateTime <= FDateTo);
|
||||
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFileSize(FileSize: LongInt): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
if FIsFileSizeFrom then
|
||||
Result := (FileSize >= FFileSizeFrom);
|
||||
|
||||
if (FIsFileSizeTo and Result) then
|
||||
Result := (FileSize <= FFileSizeTo);
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFile(const Folder : String; const sr : TSearchRec) : Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
{$IFDEF WIN32}
|
||||
(* This is hack *)
|
||||
if not FileMaskEquate(sr.Name, FFileMask) then
|
||||
begin
|
||||
Result := False;
|
||||
Exit;
|
||||
end;
|
||||
{$ENDIF}
|
||||
if (FIsDateFrom or FIsDateTo) then
|
||||
Result := CheckFileDate(sr.Time);
|
||||
|
||||
if (FIsFileSizeFrom or FIsFileSizeTo) and Result then
|
||||
Result := CheckFileSize(sr.Size);
|
||||
|
||||
if (FFindInFiles and Result) then
|
||||
Result := FindInFile(Folder + PathDelim + sr.Name, FFindData, FCaseSens);
|
||||
|
||||
end;
|
||||
|
||||
procedure TFindThread.WalkAdr(const sNewDir:String);
|
||||
var
|
||||
sr: TSearchRec;
|
||||
Path : String;
|
||||
begin
|
||||
writeln(sNewDir);
|
||||
if not SetCurrentDir(sNewDir) then Exit;
|
||||
|
||||
Path := sNewDir + PathDelim + FFileMask;
|
||||
//WriteLN('Path = ', Path);
|
||||
|
||||
if FindFirst(Path, faAnyFile, sr)<>0 then Exit;
|
||||
repeat
|
||||
if (sr.Name='.') or (sr.Name='..') then Continue;
|
||||
inc(FFilesScaned);
|
||||
//writeln(sr.Name);
|
||||
|
||||
if CheckFile(sNewDir, sr) then
|
||||
begin
|
||||
fFoundFile:=sNewDir + PathDelim + sr.Name;
|
||||
Synchronize(@AddFile);
|
||||
end;
|
||||
|
||||
FCurrentFile:=sNewDir + PathDelim + sr.Name;
|
||||
Synchronize(@UpDateProgress);
|
||||
until (FindNext(sr)<>0)or terminated;
|
||||
FindClose(sr);
|
||||
|
||||
{Search in sub folders}
|
||||
if not Terminated then
|
||||
begin
|
||||
Path := sNewDir + PathDelim + '*';
|
||||
WriteLN('Search in sub folders = ', Path);
|
||||
if not Terminated and (FindFirst(Path, faDirectory, sr) = 0) then
|
||||
repeat
|
||||
if (sr.Name[1] <> '.') then
|
||||
WalkAdr(sNewDir + PathDelim + sr.Name);
|
||||
until Terminated or (FindNext(sr) <> 0);
|
||||
FindClose(sr);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
{
|
||||
Seksi Commander
|
||||
----------------------------
|
||||
Licence : GNU GPL v 2.0
|
||||
Author : radek.cervinka@centrum.cz
|
||||
|
||||
Thread for search in files (called from frmSearchDlg)
|
||||
|
||||
contributors:
|
||||
|
||||
Alexander Koblov (Alexx2000@mail.ru)
|
||||
|
||||
}
|
||||
|
||||
|
||||
unit uFindThread;
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, StdCtrls, uDCUtils, SysUtils;
|
||||
|
||||
type
|
||||
|
||||
{ TFindThread }
|
||||
|
||||
TFindThread = class(TThread)
|
||||
private
|
||||
{ Private declarations }
|
||||
FPathStart:String;
|
||||
FItems: TStrings;
|
||||
FIsNoThisText,
|
||||
FFindInFiles:Boolean;
|
||||
FStatus: TLabel;
|
||||
FCurrent: TLabel;
|
||||
FCurrentFile:String;
|
||||
FFilesScaned:Integer;
|
||||
FFoundFile:String;
|
||||
|
||||
FFileMask : String;
|
||||
FAttributes: Cardinal;
|
||||
FCaseSens:Boolean;
|
||||
{Date search}
|
||||
FIsDateFrom,
|
||||
FIsDateTo : Boolean;
|
||||
FDateTimeFrom,
|
||||
FDateTimeTo : TDateTime;
|
||||
{Time search}
|
||||
FIsTimeFrom,
|
||||
FIsTimeTo : Boolean;
|
||||
(* File size search *)
|
||||
FIsFileSizeFrom,
|
||||
FIsFileSizeTo : Boolean;
|
||||
FFileSizeFrom,
|
||||
FFileSizeTo : Int64;
|
||||
|
||||
FFindData:String;
|
||||
|
||||
function CheckFileDate(DT : LongInt) : Boolean;
|
||||
function CheckFileSize(FileSize : Int64) : Boolean;
|
||||
function CheckFile(const Folder : String; const sr : TSearchRec) : Boolean;
|
||||
protected
|
||||
procedure Execute; override;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure AddFile;
|
||||
procedure WalkAdr(const sNewDir:String);
|
||||
procedure UpDateProgress;
|
||||
property FilterMask:String read FFileMask write FFileMask;
|
||||
property PathStart:String read FPathStart write FPathStart;
|
||||
property Items:TStrings write FItems;
|
||||
property FindInFiles:Boolean write FFindInFiles;
|
||||
property IsNoThisText:Boolean write FIsNoThisText default False;
|
||||
property Status:TLabel read FStatus write FStatus;
|
||||
property Current:TLabel read FCurrent write FCurrent; // label current file
|
||||
property CaseSensitive:boolean read FCaseSens write FCaseSens;
|
||||
property FindData:String read FFindData write FFindData;
|
||||
(* Date search *)
|
||||
property IsDateFrom:Boolean read FIsDateFrom write FIsDateFrom;
|
||||
property IsDateTo:Boolean read FIsDateTo write FIsDateTo;
|
||||
property DateTimeFrom:TDateTime read FDateTimeFrom write FDateTimeFrom;
|
||||
property DateTimeTo:TDateTime read FDateTimeTo write FDateTimeTo;
|
||||
(* Time search *)
|
||||
property IsTimeFrom:Boolean read FIsTimeFrom write FIsTimeFrom;
|
||||
property IsTimeTo:Boolean read FIsTimeTo write FIsTimeTo;
|
||||
|
||||
(* File size search *)
|
||||
property IsFileSizeFrom : Boolean read FIsFileSizeFrom write FIsFileSizeFrom;
|
||||
property IsFileSizeTo : Boolean read FIsFileSizeTo write FIsFileSizeTo;
|
||||
property FileSizeFrom : Int64 read FFileSizeFrom write FFileSizeFrom;
|
||||
property FileSizeTo : Int64 read FFileSizeTo write FFileSizeTo;
|
||||
|
||||
property Attributes: Cardinal read FAttributes write FAttributes default
|
||||
(faArchive or faReadonly or faHidden or faSysFile or faDirectory);
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, uLng{$IFNDEF WIN32}, uFindMmap, BaseUnix{$ENDIF};
|
||||
{ TFindThread }
|
||||
|
||||
|
||||
constructor TFindThread.Create;
|
||||
begin
|
||||
writeln('thread b');
|
||||
inherited Create(True);
|
||||
//FFilter:=TFilter.Create;
|
||||
FCaseSens:=True;
|
||||
FFilesScaned:=0;
|
||||
FilterMask:='*';
|
||||
{$IFDEF WIN32}
|
||||
FPathStart:='C:\';
|
||||
{$ELSE}
|
||||
FPathStart:='/';
|
||||
{$ENDIF}
|
||||
FItems:=Nil;
|
||||
FIsDateFrom := False;
|
||||
FIsDateTo := False;
|
||||
FIsFileSizeFrom := False;
|
||||
FIsFileSizeTo := False;
|
||||
end;
|
||||
|
||||
destructor TFindThread.Destroy;
|
||||
begin
|
||||
//if assigned(FFilter) then
|
||||
//FreeAndNil(FFilter)
|
||||
end;
|
||||
|
||||
procedure TFindThread.Execute;
|
||||
var
|
||||
sCurrDir:String;
|
||||
begin
|
||||
try
|
||||
writeln('thread b2');
|
||||
assert(Assigned(FItems),'assert:FItems is empty');
|
||||
Synchronize(@UpDateProgress);
|
||||
if FPathStart[length(FPathStart)]='/' then
|
||||
Delete(FPathStart,length(FPathStart),1);
|
||||
sCurrDir:=GetCurrentDir;
|
||||
try
|
||||
writeln('thread b',FPathStart);
|
||||
WalkAdr(FPathStart);
|
||||
finally
|
||||
ChDir(sCurrDir);
|
||||
end;
|
||||
// MessageBeep(1000);
|
||||
writeln('thread end');
|
||||
|
||||
except
|
||||
on E:Exception do
|
||||
ShowMessage(E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFindThread.AddFile;
|
||||
begin
|
||||
FItems.Add(FFoundFile);
|
||||
end;
|
||||
|
||||
procedure TFindThread.UpDateProgress;
|
||||
begin
|
||||
FStatus.Caption:=Format(lngGetString(clngFindScaned),[FFilesScaned]);
|
||||
FCurrent.Caption:=FCurrentFile;
|
||||
end;
|
||||
|
||||
|
||||
function FindInFile(const sFileName:String; sData: String; bCase:Boolean): Boolean;
|
||||
{$IFDEF WIN32}
|
||||
const
|
||||
BufferSize = 4096;
|
||||
var
|
||||
fs: TFileStream;
|
||||
lastPos, sDataLength,
|
||||
OffsetPos: Cardinal;
|
||||
Buffer: array[0..BufferSize-1] of Char;
|
||||
|
||||
Compare: function(Str1, Str2: PChar; MaxLen: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result := False;
|
||||
if sData = '' then Exit;
|
||||
|
||||
if bCase then
|
||||
Compare := @StrLIComp
|
||||
else
|
||||
Compare := @StrLComp;
|
||||
|
||||
sDataLength := Length(sData);
|
||||
|
||||
try
|
||||
fs := TFileStream.Create(sFileName, fmOpenRead or fmShareDenyNone);
|
||||
try
|
||||
repeat
|
||||
OffsetPos := fs.Read(Buffer, BufferSize) - sDataLength;
|
||||
lastPos := 0;
|
||||
while (not Result) and (lastPos <= OffsetPos) do
|
||||
begin
|
||||
Result := (Compare(PChar(sData), @Buffer[lastPos], sDataLength) = 0);
|
||||
inc(lastPos);
|
||||
end;
|
||||
|
||||
until fs.Position >= fs.Size;
|
||||
except
|
||||
end;
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$ELSE} // *nix
|
||||
begin
|
||||
Result := FindMmap(sFileName, sData, bCase);
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
function TFindThread.CheckFileDate(DT : LongInt) : Boolean;
|
||||
var
|
||||
DateTime: TDateTime;
|
||||
begin
|
||||
Result := True;
|
||||
DateTime := FileDateToDateTime(DT);
|
||||
|
||||
(* Check date from *)
|
||||
if FIsDateFrom then
|
||||
Result := (Int(DateTime) >= Int(FDateTimeFrom));
|
||||
|
||||
(* Check time to *)
|
||||
if (FIsDateTo and Result) then
|
||||
Result := (Int(DateTime) <= Int(FDateTimeTo));
|
||||
|
||||
(* Check time from *) //TODO Ñäåëàòü ñåêóíäû
|
||||
if (FIsTimeFrom and Result) then
|
||||
Result := ((Trunc(Frac(DateTime) * 10000000) / 10000000) >= (Trunc(Frac(FDateTimeFrom) * 1000) / 1000));
|
||||
|
||||
WriteLN('Time From = ', FloatToStr(FDateTimeFrom), ' File time = ', FloatToStr(DateTime), ' Result = ', BoolToStr(Result));
|
||||
|
||||
(* Check time to *)
|
||||
if (FIsTimeTo and Result) then
|
||||
Result := ((Trunc(Frac(DateTime) * 10000000) / 10000000) <= (Trunc(Frac(FDateTimeTo) * 1000) / 1000));
|
||||
|
||||
//WriteLN('Time To = ', FloatToStr(FDateTimeTo), ' File time = ', FloatToStr(DateTime), ' Result = ', BoolToStr(Result));
|
||||
|
||||
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFileSize(FileSize: Int64): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
if FIsFileSizeFrom then
|
||||
Result := (FileSize >= FFileSizeFrom);
|
||||
|
||||
//WriteLN('After From', FileSize, '-', FFileSizeFrom, BoolToStr(Result));
|
||||
|
||||
if (FIsFileSizeTo and Result) then
|
||||
Result := (FileSize <= FFileSizeTo);
|
||||
//WriteLN('After To', FileSize, '-', FFileSizeTo, BoolToStr(Result));
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFile(const Folder : String; const sr : TSearchRec) : Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
{$IFDEF WIN32}
|
||||
(* This is hack *)
|
||||
//WriteLN('File = ', sr.Name);
|
||||
if not G_ValidateWildText(sr.Name, FFileMask) then
|
||||
begin
|
||||
Result := False;
|
||||
Exit;
|
||||
end;
|
||||
{$ENDIF}
|
||||
if (FIsDateFrom or FIsDateTo or FIsTimeFrom or FIsTimeTo) then
|
||||
Result := CheckFileDate(sr.Time);
|
||||
|
||||
if (FIsFileSizeFrom or FIsFileSizeTo) and Result then
|
||||
Result := CheckFileSize(sr.Size);
|
||||
|
||||
if (FFindInFiles and Result) then
|
||||
begin
|
||||
Result := FindInFile(Folder + PathDelim + sr.Name, FFindData, FCaseSens);
|
||||
if FIsNoThisText then
|
||||
Result := not Result;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFindThread.WalkAdr(const sNewDir:String);
|
||||
var
|
||||
sr: TSearchRec;
|
||||
Path : String;
|
||||
begin
|
||||
writeln(sNewDir);
|
||||
if not SetCurrentDir(sNewDir) then Exit;
|
||||
|
||||
Path := sNewDir + PathDelim + FFileMask;
|
||||
//WriteLN('Path = ', Path);
|
||||
|
||||
if FindFirst(Path, faAnyFile, sr) = 0 then
|
||||
repeat
|
||||
if (sr.Name='.') or (sr.Name='..') then Continue;
|
||||
inc(FFilesScaned);
|
||||
//writeln(sr.Name);
|
||||
|
||||
if CheckFile(sNewDir, sr) then
|
||||
begin
|
||||
fFoundFile:=sNewDir + PathDelim + sr.Name;
|
||||
Synchronize(@AddFile);
|
||||
end;
|
||||
|
||||
FCurrentFile:=sNewDir + PathDelim + sr.Name;
|
||||
Synchronize(@UpDateProgress);
|
||||
until (FindNext(sr)<>0)or terminated;
|
||||
FindClose(sr);
|
||||
|
||||
{Search in sub folders}
|
||||
if not Terminated then
|
||||
begin
|
||||
Path := sNewDir + PathDelim + '*';
|
||||
WriteLN('Search in sub folders = ', Path);
|
||||
if not Terminated and (FindFirst(Path, faDirectory, sr) = 0) then
|
||||
repeat
|
||||
if (sr.Name[1] <> '.') then
|
||||
WalkAdr(sNewDir + PathDelim + sr.Name);
|
||||
until Terminated or (FindNext(sr) <> 0);
|
||||
FindClose(sr);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue