mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
Add: Find and replace text in files
This commit is contained in:
parent
dac3d5a88d
commit
fe83530101
9 changed files with 357 additions and 169 deletions
|
|
@ -413,10 +413,9 @@ begin
|
|||
FMappingHandle := CreateFileMapping(FFileHandle, nil, PAGE_READONLY, 0, 0, nil);
|
||||
|
||||
if FMappingHandle <> 0 then
|
||||
begin
|
||||
FMappedFile := MapViewOfFile(FMappingHandle, FILE_MAP_READ, 0, 0, 0);
|
||||
FMappedFile := MapViewOfFile(FMappingHandle, FILE_MAP_READ, 0, 0, 0)
|
||||
else
|
||||
Exit;
|
||||
end;
|
||||
|
||||
FPosition:=0;
|
||||
Invalidate;
|
||||
|
|
|
|||
110
fFindDlg.lfm
110
fFindDlg.lfm
|
|
@ -1,12 +1,12 @@
|
|||
inherited frmFindDlg: TfrmFindDlg
|
||||
Left = 289
|
||||
Height = 461
|
||||
Top = 25
|
||||
Left = 229
|
||||
Height = 476
|
||||
Top = 39
|
||||
Width = 541
|
||||
HorzScrollBar.Page = 540
|
||||
VertScrollBar.Page = 460
|
||||
VertScrollBar.Page = 475
|
||||
VertScrollBar.Range = 316
|
||||
ActiveControl = cbDateFrom
|
||||
ActiveControl = edtFindPathStart
|
||||
Caption = 'frmFindDlg'
|
||||
KeyPreview = True
|
||||
OnClose = frmFindDlgClose
|
||||
|
|
@ -17,20 +17,20 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
object Splitter1: TSplitter
|
||||
Cursor = crVSplit
|
||||
Height = 1
|
||||
Top = 295
|
||||
Width = 541
|
||||
Align = alTop
|
||||
ResizeAnchor = akTop
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Height = 281
|
||||
Top = 1
|
||||
Height = 295
|
||||
Width = 541
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
FullRepaint = False
|
||||
TabOrder = 0
|
||||
object pgcSearch: TPageControl
|
||||
Height = 273
|
||||
Height = 296
|
||||
Width = 446
|
||||
ActivePage = tsStandard
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
|
|
@ -41,7 +41,7 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
object lblFindPathStart: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 57
|
||||
Top = 50
|
||||
Width = 30
|
||||
Caption = 'FileDir'
|
||||
Color = clNone
|
||||
|
|
@ -50,7 +50,7 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
object lblFindFileMask: TLabel
|
||||
Left = 8
|
||||
Height = 14
|
||||
Top = 1
|
||||
Top = 4
|
||||
Width = 41
|
||||
Caption = 'FileMask'
|
||||
Color = clNone
|
||||
|
|
@ -59,7 +59,7 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
object edtFindPathStart: TEdit
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 81
|
||||
Top = 67
|
||||
Width = 362
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 0
|
||||
|
|
@ -67,7 +67,7 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
object btnSelDir: TButton
|
||||
Left = 378
|
||||
Height = 25
|
||||
Top = 80
|
||||
Top = 66
|
||||
Width = 25
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.InnerBorder = 4
|
||||
|
|
@ -90,8 +90,8 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
end
|
||||
object gbFindData: TGroupBox
|
||||
Left = 8
|
||||
Height = 80
|
||||
Top = 145
|
||||
Height = 145
|
||||
Top = 119
|
||||
Width = 418
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Caption = 'Find Data'
|
||||
|
|
@ -101,35 +101,50 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
object cbCaseSens: TCheckBox
|
||||
Left = 18
|
||||
Height = 13
|
||||
Top = 40
|
||||
Top = 97
|
||||
Width = 88
|
||||
AllowGrayed = True
|
||||
Caption = 'Case sensitive'
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtFindText: TEdit
|
||||
Left = 16
|
||||
Height = 24
|
||||
Top = 8
|
||||
Width = 366
|
||||
Top = 9
|
||||
Width = 338
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 1
|
||||
end
|
||||
object cbNoThisText: TCheckBox
|
||||
Left = 154
|
||||
Height = 13
|
||||
Top = 40
|
||||
Top = 97
|
||||
Width = 177
|
||||
Caption = 'Find files NOT containing the text'
|
||||
TabOrder = 2
|
||||
end
|
||||
object cbReplaceText: TCheckBox
|
||||
Left = 16
|
||||
Height = 13
|
||||
Top = 41
|
||||
Width = 80
|
||||
Caption = 'Replace text'
|
||||
OnChange = cbReplaceTextChange
|
||||
TabOrder = 4
|
||||
end
|
||||
object edtReplaceText: TEdit
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 65
|
||||
Width = 346
|
||||
Enabled = False
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
object cbFindInFile: TCheckBox
|
||||
Left = 12
|
||||
Height = 13
|
||||
Top = 121
|
||||
Top = 98
|
||||
Width = 67
|
||||
AllowGrayed = True
|
||||
Caption = 'Find in file'
|
||||
OnClick = cbFindInFileClick
|
||||
TabOrder = 4
|
||||
|
|
@ -405,8 +420,8 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
end
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Height = 179
|
||||
Top = 282
|
||||
Height = 180
|
||||
Top = 296
|
||||
Width = 541
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
|
|
@ -450,7 +465,7 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
end
|
||||
end
|
||||
object lsFoundedFiles: TListBox
|
||||
Height = 125
|
||||
Height = 76
|
||||
Top = 54
|
||||
Width = 541
|
||||
Align = alClient
|
||||
|
|
@ -459,6 +474,53 @@ inherited frmFindDlg: TfrmFindDlg
|
|||
PopupMenu = PopupMenuFind
|
||||
TabOrder = 1
|
||||
end
|
||||
object Panel4: TPanel
|
||||
Height = 50
|
||||
Top = 130
|
||||
Width = 541
|
||||
Align = alBottom
|
||||
TabOrder = 2
|
||||
object btnView: TButton
|
||||
Left = 24
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 104
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '&View'
|
||||
OnClick = btnViewClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object btnNewSearch: TButton
|
||||
Left = 152
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 104
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '&New search'
|
||||
OnClick = btnNewSearchClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnGoToPath: TButton
|
||||
Left = 280
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 104
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = '&Go to file'
|
||||
OnClick = btnGoToPathClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object btnWorkWithFound: TButton
|
||||
Left = 408
|
||||
Height = 25
|
||||
Top = 14
|
||||
Width = 104
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'Feed to &listbox'
|
||||
OnClick = btnWorkWithFoundClick
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
end
|
||||
object PopupMenuFind: TPopupMenu
|
||||
left = 152
|
||||
|
|
|
|||
277
fFindDlg.lrs
277
fFindDlg.lrs
|
|
@ -1,135 +1,150 @@
|
|||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TfrmFindDlg','FORMDATA',[
|
||||
'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
|
||||
'TPF0'#241#11'TfrmFindDlg'#10'frmFindDlg'#4'Left'#3#229#0#6'Height'#3#220#1#3
|
||||
+'Top'#2''''#5'Width'#3#29#2#18'HorzScrollBar.Page'#3#28#2#18'VertScrollBar.P'
|
||||
+'age'#3#219#1#19'VertScrollBar.Range'#3'<'#1#13'ActiveControl'#7#16'edtFindP'
|
||||
+'athStart'#7'Caption'#6#10'frmFindDlg'#10'KeyPreview'#9#7'OnClose'#7#15'frmF'
|
||||
+'indDlgClose'#12'OnCloseQuery'#7#14'FormCloseQuery'#10'OnKeyPress'#7#12'Form'
|
||||
+'KeyPress'#6'OnShow'#7#14'frmFindDlgShow'#8'Position'#7#14'poScreenCenter'#0
|
||||
+#9'TSplitter'#9'Splitter1'#6'Cursor'#7#8'crVSplit'#6'Height'#2#1#3'Top'#3''''
|
||||
+#1#5'Width'#3#29#2#5'Align'#7#5'alTop'#12'ResizeAnchor'#7#5'akTop'#0#0#6'TPa'
|
||||
+'nel'#6'Panel2'#6'Height'#3''''#1#5'Width'#3#29#2#5'Align'#7#5'alTop'#10'Bev'
|
||||
+'elOuter'#7#6'bvNone'#11'FullRepaint'#8#8'TabOrder'#2#0#0#12'TPageControl'#9
|
||||
+'pgcSearch'#6'Height'#3'('#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'TTabSheet'#10'tsStandard'#7'Caption'#6#8'Standard'#0#6'TLabel'#16'lbl'
|
||||
+'FindPathStart'#4'Left'#2#8#6'Height'#2#14#3'Top'#2'2'#5'Width'#2#30#7'Capti'
|
||||
+'on'#6#7'FileDir'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#15'lb'
|
||||
+'lFindFileMask'#4'Left'#2#8#6'Height'#2#14#3'Top'#2#4#5'Width'#2')'#7'Captio'
|
||||
+'n'#6#8'FileMask'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#5'TEdit'#16'edt'
|
||||
+'FindPathStart'#4'Left'#2#8#6'Height'#2#24#3'Top'#2'C'#5'Width'#3'j'#1#7'Anc'
|
||||
+'hors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#0#0#7'TButton'#9'b'
|
||||
+'tnSelDir'#4'Left'#3'z'#1#6'Height'#2#25#3'Top'#2'B'#5'Width'#2#25#7'Anchors'
|
||||
+#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'.'
|
||||
+'..'#7'OnClick'#7#14'btnSelDirClick'#8'TabOrder'#2#2#0#0#9'TComboBox'#15'cmb'
|
||||
+'FindFileMask'#4'Left'#2#8#6'Height'#2#21#3'Top'#2#25#5'Width'#3'j'#1#7'Anch'
|
||||
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEnd'
|
||||
+'OfLineComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#18#9'MaxLength'
|
||||
+#2#0#11'ParentCtl3D'#8#8'TabOrder'#2#1#4'Text'#6#1'*'#0#0#9'TGroupBox'#10'gb'
|
||||
+'FindData'#4'Left'#2#8#6'Height'#3#145#0#3'Top'#2'w'#5'Width'#3#162#1#7'Anch'
|
||||
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#9'Find Data'#7'Enabled'
|
||||
+#8#11'ParentCtl3D'#8#8'TabOrder'#2#3#0#9'TCheckBox'#10'cbCaseSens'#4'Left'#2
|
||||
+#18#6'Height'#2#13#3'Top'#2'a'#5'Width'#2'X'#7'Caption'#6#14'Case sensitive'
|
||||
+#8'TabOrder'#2#0#0#0#5'TEdit'#11'edtFindText'#4'Left'#2#16#6'Height'#2#24#3
|
||||
+'Top'#2#9#5'Width'#3'R'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'Ta'
|
||||
+'bOrder'#2#1#0#0#9'TCheckBox'#12'cbNoThisText'#4'Left'#3#154#0#6'Height'#2#13
|
||||
+#3'Top'#2'a'#5'Width'#3#177#0#7'Caption'#6'"Find files NOT containing the te'
|
||||
+'xt'#8'TabOrder'#2#2#0#0#9'TCheckBox'#13'cbReplaceText'#4'Left'#2#16#6'Heigh'
|
||||
+'t'#2#13#3'Top'#2')'#5'Width'#2'P'#7'Caption'#6#12'Replace text'#8'OnChange'
|
||||
+#7#19'cbReplaceTextChange'#8'TabOrder'#2#4#0#0#5'TEdit'#14'edtReplaceText'#4
|
||||
+'Left'#2#16#6'Height'#2#23#3'Top'#2'A'#5'Width'#3'Z'#1#7'Enabled'#8#8'TabOrd'
|
||||
+'er'#2#3#0#0#0#9'TCheckBox'#12'cbFindInFile'#4'Left'#2#12#6'Height'#2#13#3'T'
|
||||
+'op'#2'b'#5'Width'#2'C'#7'Caption'#6#12'Find in file'#7'OnClick'#7#17'cbFind'
|
||||
+'InFileClick'#8'TabOrder'#2#4#0#0#0#9'TTabSheet'#10'tsAdvanced'#7'Caption'#6
|
||||
+#8'Advanced'#10'ImageIndex'#2#1#0#9'TDateEdit'#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 #008000",'#10'"o c #808000",'#10'"O c '
|
||||
+'navy",'#10'"+ c #800080",'#10'"@ c #008080",'#10'"# c #808080",'#10'"$ c #C'
|
||||
+'0C0C0",'#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'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsSh'
|
||||
+'owDayNames'#0#9'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#4'Date'#5#0
|
||||
+#0#0#0#0#0#224#152#14'@'#0#0#9'TDateEdit'#8'deDateTo'#4'Left'#3#164#0#6'Heig'
|
||||
+'ht'#2#23#3'Top'#2')'#5'Width'#2'P'#5'Color'#7#9'clBtnFace'#7'Enabled'#8#8'R'
|
||||
+'eadOnly'#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 bla'
|
||||
+'ck",'#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 #C0C0C'
|
||||
+'0",'#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'/* pix'
|
||||
+'els */'#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'Pa'
|
||||
+'rentColor'#8#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsShowDay'
|
||||
+'Names'#0#9'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#4'Date'#5#0#0#0
|
||||
+#0#0#0#224#152#14'@'#0#0#9'TCheckBox'#10'cbDateFrom'#4'Left'#2#4#6'Height'#2
|
||||
+#13#3'Top'#2#22#5'Width'#2'H'#7'Caption'#6#10'Date From:'#8'OnChange'#7#16'c'
|
||||
+'bDateFromChange'#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 t'
|
||||
+'han:'#8'OnChange'#7#20'cbNotOlderThanChange'#8'TabOrder'#2#3#0#0#9'TSpinEdi'
|
||||
+'t'#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'cbactSearchAscending'#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'MaxLength'#2#0#8'TabOrder'#2#5#4'Text'#6#6'D'
|
||||
+'ay(s)'#0#0#9'TCheckBox'#14'cbFileSizeFrom'#4'Left'#2#4#6'Height'#2#13#3'Top'
|
||||
+#3#193#0#5'Width'#2'X'#7'Caption'#6#15'File Size From:'#8'OnChange'#7#20'cbF'
|
||||
+'ileSizeFromChange'#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'O'
|
||||
+'nChange'#7#14'cbDateToChange'#8'TabOrder'#2#7#0#0#9'TCheckBox'#12'cbFileSiz'
|
||||
+'eTo'#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'TabOrder'#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'Ta'
|
||||
+'bOrder'#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'cbactEndOfLineCo'
|
||||
+'mplete'#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'csD'
|
||||
+'ropDownList'#8'TabOrder'#2#11#4'Text'#6#5'Kbyte'#0#0#9'TCheckBox'#10'cbTime'
|
||||
+'From'#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'cbTimeFromChange'#8'TabOrder'#2#12#0#0#9'TChec'
|
||||
+'kBox'#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'OnChange'#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'Left'#3#164#0#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#15#4'Text'#6#8'00:00:00'#8'OnChange'#7#12'meTimeChange'#0#0
|
||||
+#0#0#7'TButton'#8'btnClose'#4'Left'#3#198#1#6'Height'#2#25#3'Top'#2'G'#5'Wid'
|
||||
+'th'#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'akTop'#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'TButton'#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'BorderSpaci'
|
||||
+'ng.InnerBorder'#2#4#7'Caption'#6#6'&Start'#7'Default'#9#7'OnClick'#7#13'btn'
|
||||
+'StartClick'#8'TabOrder'#2#2#0#0#0#6'TPanel'#6'Panel1'#6'Height'#3#180#0#3'T'
|
||||
+'op'#3'('#1#5'Width'#3#29#2#5'Align'#7#8'alClient'#10'BevelOuter'#7#6'bvNone'
|
||||
+#11'FullRepaint'#8#8'TabOrder'#2#1#0#6'TPanel'#6'Panel3'#6'Height'#2'6'#5'Wi'
|
||||
+'dth'#3#29#2#5'Align'#7#5'alTop'#10'BevelInner'#7#8'bvRaised'#10'BevelOuter'
|
||||
+#7#9'bvLowered'#11'FullRepaint'#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'Fon'
|
||||
+'t.Name'#6#15'adobe-helvetica'#10'Font.Pitch'#7#10'fpVariable'#10'Font.Style'
|
||||
+#11#6'fsBold'#0#11'ParentColor'#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.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'fsB'
|
||||
,'old'#0#11'ParentColor'#8#0#0#0#8'TListBox'#14'lsFoundedFiles'#6'Height'#2'L'
|
||||
+#3'Top'#2'6'#5'Width'#3#29#2#5'Align'#7#8'alClient'#11'MultiSelect'#9#10'OnD'
|
||||
+'blClick'#7#22'lsFoundedFilesDblClick'#9'PopupMenu'#7#13'PopupMenuFind'#8'Ta'
|
||||
+'bOrder'#2#1#0#0#6'TPanel'#6'Panel4'#6'Height'#2'2'#3'Top'#3#130#0#5'Width'#3
|
||||
+#29#2#5'Align'#7#8'alBottom'#8'TabOrder'#2#2#0#7'TButton'#7'btnView'#4'Left'
|
||||
+#2#24#6'Height'#2#25#3'Top'#2#14#5'Width'#2'h'#25'BorderSpacing.InnerBorder'
|
||||
+#2#4#7'Caption'#6#5'&View'#7'OnClick'#7#12'btnViewClick'#8'TabOrder'#2#0#0#0
|
||||
+#7'TButton'#12'btnNewSearch'#4'Left'#3#152#0#6'Height'#2#25#3'Top'#2#14#5'Wi'
|
||||
+'dth'#2'h'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#11'&New search'#7
|
||||
+'OnClick'#7#17'btnNewSearchClick'#8'TabOrder'#2#1#0#0#7'TButton'#11'btnGoToP'
|
||||
+'ath'#4'Left'#3#24#1#6'Height'#2#25#3'Top'#2#14#5'Width'#2'h'#25'BorderSpaci'
|
||||
+'ng.InnerBorder'#2#4#7'Caption'#6#11'&Go to file'#7'OnClick'#7#16'btnGoToPat'
|
||||
+'hClick'#8'TabOrder'#2#2#0#0#7'TButton'#16'btnWorkWithFound'#4'Left'#3#152#1
|
||||
+#6'Height'#2#25#3'Top'#2#14#5'Width'#2'h'#25'BorderSpacing.InnerBorder'#2#4#7
|
||||
+'Caption'#6#16'Feed to &listbox'#7'OnClick'#7#21'btnWorkWithFoundClick'#8'Ta'
|
||||
+'bOrder'#2#3#0#0#0#0#10'TPopupMenu'#13'PopupMenuFind'#4'left'#3#152#0#3'top'
|
||||
+#3#152#1#0#9'TMenuItem'#14'miShowInViewer'#7'Caption'#6#14'Show In Viewer'#7
|
||||
+'OnClick'#7#19'miShowInViewerClick'#0#0#0#0
|
||||
]);
|
||||
|
|
|
|||
81
fFindDlg.pas
81
fFindDlg.pas
|
|
@ -30,6 +30,10 @@ type
|
|||
btnClose: TButton;
|
||||
btnStart: TButton;
|
||||
btnStop: TButton;
|
||||
btnView: TButton;
|
||||
btnNewSearch: TButton;
|
||||
btnGoToPath: TButton;
|
||||
btnWorkWithFound: TButton;
|
||||
cbFindInFile: TCheckBox;
|
||||
cbNoThisText: TCheckBox;
|
||||
cbDateFrom: TCheckBox;
|
||||
|
|
@ -37,14 +41,17 @@ type
|
|||
cbFileSizeFrom: TCheckBox;
|
||||
cbDateTo: TCheckBox;
|
||||
cbFileSizeTo: TCheckBox;
|
||||
cbReplaceText: TCheckBox;
|
||||
cbTimeFrom: TCheckBox;
|
||||
cbTimeTo: TCheckBox;
|
||||
cbDelayUnit: TComboBox;
|
||||
cbUnitOfMeasure: TComboBox;
|
||||
deDateFrom: TDateEdit;
|
||||
deDateTo: TDateEdit;
|
||||
edtReplaceText: TEdit;
|
||||
meTimeFrom: TMaskEdit;
|
||||
meTimeTo: TMaskEdit;
|
||||
Panel4: TPanel;
|
||||
seNotOlderThan: TSpinEdit;
|
||||
seFileSizeFrom: TSpinEdit;
|
||||
seFileSizeTo: TSpinEdit;
|
||||
|
|
@ -68,13 +75,18 @@ type
|
|||
lblCurrent: TLabel;
|
||||
PopupMenuFind: TPopupMenu;
|
||||
miShowInViewer: TMenuItem;
|
||||
procedure btnGoToPathClick(Sender: TObject);
|
||||
procedure btnNewSearchClick(Sender: TObject);
|
||||
procedure btnSelDirClick(Sender: TObject);
|
||||
procedure btnStartClick(Sender: TObject);
|
||||
procedure btnViewClick(Sender: TObject);
|
||||
procedure btnWorkWithFoundClick(Sender: TObject);
|
||||
procedure cbDateFromChange(Sender: TObject);
|
||||
procedure cbDateToChange(Sender: TObject);
|
||||
procedure cbFileSizeFromChange(Sender: TObject);
|
||||
procedure cbFileSizeToChange(Sender: TObject);
|
||||
procedure cbNotOlderThanChange(Sender: TObject);
|
||||
procedure cbReplaceTextChange(Sender: TObject);
|
||||
procedure cbTimeFromChange(Sender: TObject);
|
||||
procedure cbTimeToChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
|
|
@ -105,7 +117,7 @@ procedure ShowFindDlg(const sActPath:String);
|
|||
implementation
|
||||
|
||||
uses
|
||||
fViewer, uLng;
|
||||
fViewer, uLng, uShowForm, fMain, uTypes, uFileOp;
|
||||
|
||||
procedure ShowFindDlg(const sActPath:String);
|
||||
begin
|
||||
|
|
@ -144,6 +156,20 @@ begin
|
|||
edtFindPathStart.Text:=s;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnNewSearchClick(Sender: TObject);
|
||||
begin
|
||||
Panel1.Visible := False;
|
||||
Height := Panel2.Height;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnGoToPathClick(Sender: TObject);
|
||||
begin
|
||||
frmMain.ActiveFrame.pnlFile.ActiveDir := ExtractFilePath(lsFoundedFiles.Items[lsFoundedFiles.ItemIndex]);
|
||||
frmMain.ActiveFrame.pnlFile.LoadPanel;
|
||||
frmMain.ActiveFrame.edtSearch.Text := ExtractFileName(lsFoundedFiles.Items[lsFoundedFiles.ItemIndex]);
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnStartClick(Sender: TObject);
|
||||
var
|
||||
dtTime : TDateTime;
|
||||
|
|
@ -154,8 +180,8 @@ begin
|
|||
Exit;
|
||||
end;
|
||||
|
||||
//Panel1.Visible := True;
|
||||
//Height := Panel2.Height + Panel1.Height;
|
||||
Panel1.Visible := True;
|
||||
Height := (Screen.Height * 4) div 5;
|
||||
|
||||
lsFoundedFiles.Items.Clear;
|
||||
btnStop.Enabled:=True;
|
||||
|
|
@ -171,6 +197,8 @@ begin
|
|||
FindInFiles:=cbFindInFile.Checked;
|
||||
FindData:=edtFindText.Text;
|
||||
CaseSensitive:=cbCaseSens.Checked;
|
||||
ReplaceInFiles := cbReplaceText.Checked;
|
||||
ReplaceData := edtReplaceText.Text;
|
||||
(* Date search *)
|
||||
if cbDateFrom.Checked then
|
||||
begin
|
||||
|
|
@ -287,6 +315,40 @@ begin
|
|||
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnViewClick(Sender: TObject);
|
||||
begin
|
||||
ShowViewerByGlob(lsFoundedFiles.Items[lsFoundedFiles.ItemIndex]);
|
||||
end;
|
||||
|
||||
(* Not working full now *)
|
||||
|
||||
procedure TfrmFindDlg.btnWorkWithFoundClick(Sender: TObject);
|
||||
var
|
||||
I, Count : Integer;
|
||||
fr:TFileRecItem;
|
||||
sr : TSearchRec;
|
||||
begin
|
||||
Count := lsFoundedFiles.Items.Count - 1;
|
||||
frmMain.ActiveFrame.pnlFile.FileList.Clear;
|
||||
for I := 0 to Count do
|
||||
begin
|
||||
fr.sNameNoExt := lsFoundedFiles.Items[I];
|
||||
fr.sName := fr.sNameNoExt;
|
||||
FindFirst(fr.sNameNoExt, faAnyFile, sr);
|
||||
fr.sExt := ExtractFileExt(fr.sNameNoExt);
|
||||
fr.iSize := sr.Size;
|
||||
fr.sTime := DateTimeToStr(Trunc(FileDateToDateTime(sr.Time)));
|
||||
fr.iMode := sr.Attr;
|
||||
fr.sModeStr := AttrToStr(sr.Attr);
|
||||
fr.bLinkIsDir:=False;
|
||||
fr.bSelected:=False;
|
||||
frmMain.ActiveFrame.pnlFile.FileList.AddItem(@fr);
|
||||
end;
|
||||
frmMain.ActiveFrame.pnlFile.FileList.UpdateFileInformation;
|
||||
frmMain.ActiveFrame.pnlFile.Sort;
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbDateFromChange(Sender: TObject);
|
||||
begin
|
||||
deDateFrom.Enabled := cbDateFrom.Checked;
|
||||
|
|
@ -313,6 +375,13 @@ begin
|
|||
cbDelayUnit.Enabled := cbNotOlderThan.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbReplaceTextChange(Sender: TObject);
|
||||
begin
|
||||
edtReplaceText.Enabled := cbReplaceText.Checked;
|
||||
cbNoThisText.Checked := False;
|
||||
cbNoThisText.Enabled := not cbReplaceText.Checked;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.cbTimeFromChange(Sender: TObject);
|
||||
var
|
||||
sTime : String;
|
||||
|
|
@ -351,8 +420,8 @@ begin
|
|||
edtFindPathStart.Text:=GetCurrentDir;
|
||||
lblCurrent.Caption:='';
|
||||
lblStatus.Caption:='';
|
||||
//Panel1.Visible := False;
|
||||
//Height := Panel2.Height + 4;
|
||||
Panel1.Visible := False;
|
||||
Height := Panel2.Height;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnStopClick(Sender: TObject);
|
||||
|
|
@ -383,6 +452,8 @@ procedure TfrmFindDlg.frmFindDlgClose(Sender: TObject;
|
|||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
// CloseAction:=caFree;
|
||||
Panel1.Visible := False;
|
||||
Height := Panel2.Height;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.frmFindDlgShow(Sender: TObject);
|
||||
|
|
|
|||
|
|
@ -481,7 +481,10 @@ begin
|
|||
// show not-counted dir size and date
|
||||
if ACol=2 then
|
||||
begin
|
||||
s:=cnvFormatFileSize(iSize);
|
||||
if FPS_ISDIR(iMode) then
|
||||
s:= '<DIR>'
|
||||
else
|
||||
s:=cnvFormatFileSize(iSize);
|
||||
end
|
||||
else
|
||||
s:=sTime;
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ type
|
|||
property SortDirection:Boolean read fSortDirect write fSortDirect; // maybe write method
|
||||
property ActiveDir:String read GetActiveDir write SetActiveDir;
|
||||
property LastActive:String read fLastActive write fLastActive;
|
||||
property FileList: TFileList read fFileList;
|
||||
property FileList: TFileList read fFileList write fFileList;
|
||||
property SelectedCount:Integer read GetSelectedCount;
|
||||
property FilesInDir:Integer read fFilesInDir;
|
||||
property FilesSelected:Integer read fFilesSelected;
|
||||
|
|
|
|||
|
|
@ -30,14 +30,11 @@ TFindThread = class(TThread)
|
|||
{ 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;
|
||||
|
|
@ -54,8 +51,14 @@ TFindThread = class(TThread)
|
|||
FIsFileSizeTo : Boolean;
|
||||
FFileSizeFrom,
|
||||
FFileSizeTo : Int64;
|
||||
|
||||
(* Find text *)
|
||||
FIsNoThisText,
|
||||
FFindInFiles:Boolean;
|
||||
FFindData:String;
|
||||
(* Replace text *)
|
||||
FReplaceInFiles : Boolean;
|
||||
FReplaceData : String;
|
||||
|
||||
|
||||
function CheckFileDate(DT : LongInt) : Boolean;
|
||||
function CheckFileSize(FileSize : Int64) : Boolean;
|
||||
|
|
@ -71,12 +74,16 @@ TFindThread = class(TThread)
|
|||
property FilterMask:String read FFileMask write FFileMask;
|
||||
property PathStart:String read FPathStart write FPathStart;
|
||||
property Items:TStrings write FItems;
|
||||
(* Find text *)
|
||||
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;
|
||||
(* Replace text *)
|
||||
property ReplaceInFiles:Boolean write FReplaceInFiles;
|
||||
property ReplaceData:String read FReplaceData write FReplaceData;
|
||||
(* Date search *)
|
||||
property IsDateFrom:Boolean read FIsDateFrom write FIsDateFrom;
|
||||
property IsDateTo:Boolean read FIsDateTo write FIsDateTo;
|
||||
|
|
@ -217,6 +224,33 @@ Result := FindMmap(sFileName, sData, bCase);
|
|||
end;
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
procedure FileReplaceString(const FileName, SearchString, ReplaceString: string; bCase:Boolean);
|
||||
var
|
||||
fs: TFileStream;
|
||||
S: string;
|
||||
Flags : TReplaceFlags;
|
||||
begin
|
||||
Include(Flags, rfReplaceAll);
|
||||
if not bCase then
|
||||
Include(Flags, rfIgnoreCase);
|
||||
|
||||
fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
|
||||
try
|
||||
SetLength(S, fs.Size);
|
||||
fs.ReadBuffer(S[1], fs.Size);
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
S := StringReplace(S, SearchString, replaceString, Flags);
|
||||
fs := TFileStream.Create(FileName, fmCreate);
|
||||
try
|
||||
fs.WriteBuffer(S[1], Length(S));
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TFindThread.CheckFileDate(DT : LongInt) : Boolean;
|
||||
var
|
||||
DateTime: TDateTime;
|
||||
|
|
@ -281,6 +315,10 @@ if not G_ValidateWildText(sr.Name, FFileMask) then
|
|||
if (FFindInFiles and Result) then
|
||||
begin
|
||||
Result := FindInFile(Folder + PathDelim + sr.Name, FFindData, FCaseSens);
|
||||
|
||||
if (FReplaceInFiles and Result) then
|
||||
FileReplaceString(Folder + PathDelim + sr.Name, FFindData, FReplaceData, FCaseSens);
|
||||
|
||||
if FIsNoThisText then
|
||||
Result := not Result;
|
||||
end;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue