Subversion Repositories indexer_suite

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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