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