Subversion Repositories indexer_suite

Rev

Rev 2 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 3
1
unit FinderForm;
1
unit FinderForm;
2
 
2
 
3
interface
3
interface
4
 
4
 
5
uses
5
uses
6
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
6
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
7
  System.Classes, Vcl.Graphics,
7
  System.Classes, Vcl.Graphics,
8
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdoDb;
8
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdoDb;
9
 
9
 
10
type
10
type
11
  TfrmFinder = class(TForm)
11
  TfrmFinder = class(TForm)
12
    Edit1: TEdit;
12
    Edit1: TEdit;
13
    Memo1: TMemo;
13
    Memo1: TMemo;
14
    Button1: TButton;
14
    Button1: TButton;
15
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
15
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
16
    procedure Button1Click(Sender: TObject);
16
    procedure Button1Click(Sender: TObject);
17
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
17
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
18
    procedure FormShow(Sender: TObject);
18
    procedure FormShow(Sender: TObject);
19
  private
19
  private
20
    procedure EnableDisableControls(v: boolean);
20
    procedure EnableDisableControls(v: boolean);
21
  protected
21
  protected
22
    StopRequest: boolean;
22
    StopRequest: boolean;
23
  public
23
  public
24
    function conn: TAdoConnection;
24
    function conn: TAdoConnection;
25
    function TableName: string;
25
    function TableName: string;
26
  end;
26
  end;
27
 
27
 
28
implementation
28
implementation
29
 
29
 
30
{$R *.dfm}
30
{$R *.dfm}
31
 
31
 
32
uses
32
uses
33
  MainForm, AdoConnHelper, IniFiles;
33
  MainForm, AdoConnHelper, IniFiles;
34
 
34
 
35
procedure TfrmFinder.Button1Click(Sender: TObject);
35
procedure TfrmFinder.Button1Click(Sender: TObject);
36
var
36
var
37
  q: TADODataSet;
37
  q: TADODataSet;
-
 
38
  cntFound: integer;
38
begin
39
begin
39
  memo1.Lines.Clear;
40
  memo1.Lines.Clear;
40
  EnableDisableControls(false);
41
  EnableDisableControls(false);
41
  try
42
  try
-
 
43
    cntFound := 0;
42
    q := conn.GetTable('select filename from '+TableName+' where filename like '+conn.SQLStringEscape('%'+edit1.Text+'%')+' order by filename');
44
    q := conn.GetTable('select filename from '+TableName+' where filename like '+conn.SQLStringEscape('%'+edit1.Text+'%')+' order by filename');
43
    while not q.Eof do
45
    while not q.Eof do
44
    begin
46
    begin
45
      memo1.Lines.Add(q.Fields[0].AsString);
47
      memo1.Lines.Add(q.Fields[0].AsString);
-
 
48
      Inc(cntFound);
46
      if StopRequest then Abort;
49
      if StopRequest then Abort;
47
      q.Next;
50
      q.Next;
48
    end;
51
    end;
-
 
52
    ShowMessageFmt('Done. Found %d files', [cntFound]);
49
  finally
53
  finally
50
    EnableDisableControls(true);
54
    EnableDisableControls(true);
51
  end;
55
  end;
52
end;
56
end;
53
 
57
 
54
function TfrmFinder.conn: TAdoConnection;
58
function TfrmFinder.conn: TAdoConnection;
55
begin
59
begin
56
  result := frmMain.ADOConnection1;
60
  result := frmMain.ADOConnection1;
57
end;
61
end;
58
 
62
 
59
procedure TfrmFinder.EnableDisableControls(v: boolean);
63
procedure TfrmFinder.EnableDisableControls(v: boolean);
60
begin
64
begin
61
  Memo1.Enabled := v;
65
  Memo1.Enabled := v;
62
  Button1.Enabled := v;
66
  Button1.Enabled := v;
63
  Edit1.Enabled := v;
67
  Edit1.Enabled := v;
64
end;
68
end;
65
 
69
 
66
procedure TfrmFinder.FormClose(Sender: TObject; var Action: TCloseAction);
70
procedure TfrmFinder.FormClose(Sender: TObject; var Action: TCloseAction);
67
begin
71
begin
68
  Action := caFree;
72
  Action := caFree;
69
end;
73
end;
70
 
74
 
71
procedure TfrmFinder.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
75
procedure TfrmFinder.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
72
begin
76
begin
73
  StopRequest := true;
77
  StopRequest := true;
74
end;
78
end;
75
 
79
 
76
procedure TfrmFinder.FormShow(Sender: TObject);
80
procedure TfrmFinder.FormShow(Sender: TObject);
77
var
81
var
78
  ini: TMemIniFile;
82
  ini: TMemIniFile;
79
begin
83
begin
80
  ini := frmMain.ini;
84
  ini := frmMain.ini;
81
  Edit1.Text := ini.ReadString('Finder', 'DefaultDir', '');
85
  Edit1.Text := ini.ReadString('Finder', 'DefaultDir', '');
82
end;
86
end;
83
 
87
 
84
function TfrmFinder.TableName: string;
88
function TfrmFinder.TableName: string;
85
begin
89
begin
86
  result := frmMain.TableName;
90
  result := frmMain.TableName;
87
end;
91
end;
88
 
92
 
89
end.
93
end.
90
 
94