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 |