1 (*
2  ***************************************************************************
3  *                                                                         *
4  *   This program is free software; you can redistribute it and/or modify  *
5  *   it under the terms of the GNU General Public License as published by  *
6  *   the Free Software Foundation; either version 2 of the License.        *
7  *                                                                         *
8  ***************************************************************************
9 *)
10 
11 
12 unit fContestFilter;
13 
14 {$mode objfpc}{$H+}
15 
16 interface
17 
18 uses
19   Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
20   Buttons, MaskEdit, lcltype, ExtDlgs, EditBtn, inifiles, strutils;
21 
22 type
23 
24   { TfrmContestFilter }
25 
26   TfrmContestFilter = class(TForm)
27     btnOK: TButton;
28     btnCancel: TButton;
29     btnHelp: TButton;
30     cmbContestName: TComboBox;
31     gbContName: TGroupBox;
32     Label1: TLabel;
33     procedure btClearClick(Sender: TObject);
34     procedure btnHelpClick(Sender: TObject);
35     procedure FormCreate(Sender: TObject);
36     procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
37     procedure FormShow(Sender: TObject);
38     procedure btnCancelClick(Sender: TObject);
39     procedure btnOKClick(Sender: TObject);
40   public
41     tmp : String;
42   end;
43 var
44   frmContestFilter: TfrmContestFilter;
45 
46 implementation
47 {$R *.lfm}
48 
49 { TfrmContestFilter }
50 uses dData, dUtils;
51 
52 procedure TfrmContestFilter.btnOKClick(Sender: TObject);
53 begin
54   tmp := 'SELECT * FROM view_cqrlog_main_by_qsodate WHERE `contestname` = "' + cmbContestName.Text + '"';
55   if (tmp <> '') then
56   begin
57     dmData.qCQRLOG.Close;
58     dmData.qCQRLOG.SQL.Text := tmp;
59     if dmData.DebugLevel >=1 then
60       Writeln(tmp);
61     if dmData.trCQRLOG.Active then
62       dmData.trCQRLOG.Rollback;
63     dmData.trCQRLOG.StartTransaction;
64     dmData.qCQRLOG.Open;
65     dmData.qCQRLOG.Last
66   end;
67   ModalResult := mrOK;
68 end;
69 
70 procedure TfrmContestFilter.btnCancelClick(Sender: TObject);
71 begin
72   Close
73 end;
74 
75 procedure TfrmContestFilter.FormCreate(Sender: TObject);
76 begin
77   cmbContestName.Clear;
78   dmUtils.InsertWorkedContests(cmbContestName);
79   cmbContestName.Items.Insert(0,''); //to be sure there is empty line at start
80 end;
81 
82 procedure TfrmContestFilter.FormShow(Sender: TObject);
83 
84 begin
85   dmUtils.LoadFontSettings(self);
86 end;
87 
88 procedure TfrmContestFilter.FormKeyUp(Sender: TObject; var Key: Word;
89   Shift: TShiftState);
90 begin
91   if key = VK_RETURN then
92   begin
93     btnOK.Click;
94     Key := 0
95   end
96 end;
97 
98 procedure TfrmContestFilter.btnHelpClick(Sender: TObject);
99 begin
100   ShowHelp
101 end;
102 
103 procedure TfrmContestFilter.btClearClick(Sender: TObject);
104 begin
105       FormShow(nil);
106 end;
107 
108 end.
109 
110