Rev 2 | Details | Compare with Previous | 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; |
||
3 | daniel-mar | 38 | cntFound: integer; |
2 | daniel-mar | 39 | begin |
40 | memo1.Lines.Clear; |
||
41 | EnableDisableControls(false); |
||
42 | try |
||
3 | daniel-mar | 43 | cntFound := 0; |
2 | daniel-mar | 44 | q := conn.GetTable('select filename from '+TableName+' where filename like '+conn.SQLStringEscape('%'+edit1.Text+'%')+' order by filename'); |
45 | while not q.Eof do |
||
46 | begin |
||
47 | memo1.Lines.Add(q.Fields[0].AsString); |
||
3 | daniel-mar | 48 | Inc(cntFound); |
2 | daniel-mar | 49 | if StopRequest then Abort; |
50 | q.Next; |
||
51 | end; |
||
3 | daniel-mar | 52 | ShowMessageFmt('Done. Found %d files', [cntFound]); |
2 | daniel-mar | 53 | finally |
54 | EnableDisableControls(true); |
||
55 | end; |
||
56 | end; |
||
57 | |||
58 | function TfrmFinder.conn: TAdoConnection; |
||
59 | begin |
||
60 | result := frmMain.ADOConnection1; |
||
61 | end; |
||
62 | |||
63 | procedure TfrmFinder.EnableDisableControls(v: boolean); |
||
64 | begin |
||
65 | Memo1.Enabled := v; |
||
66 | Button1.Enabled := v; |
||
67 | Edit1.Enabled := v; |
||
68 | end; |
||
69 | |||
70 | procedure TfrmFinder.FormClose(Sender: TObject; var Action: TCloseAction); |
||
71 | begin |
||
72 | Action := caFree; |
||
73 | end; |
||
74 | |||
75 | procedure TfrmFinder.FormCloseQuery(Sender: TObject; var CanClose: Boolean); |
||
76 | begin |
||
77 | StopRequest := true; |
||
78 | end; |
||
79 | |||
80 | procedure TfrmFinder.FormShow(Sender: TObject); |
||
81 | var |
||
82 | ini: TMemIniFile; |
||
83 | begin |
||
84 | ini := frmMain.ini; |
||
85 | Edit1.Text := ini.ReadString('Finder', 'DefaultDir', ''); |
||
86 | end; |
||
87 | |||
88 | function TfrmFinder.TableName: string; |
||
89 | begin |
||
90 | result := frmMain.TableName; |
||
91 | end; |
||
92 | |||
93 | end. |