mirror of
https://github.com/ok2cqr/cqrlog.git
synced 2024-09-21 10:27:17 +00:00
Fix for DXCC status form
Completely layout fix, no code changes. Goal_1: To make wkd/cfm grid vertically autosized to see all 10 rows all the time without the use of vertical scroll bar. I think this is the main interest grid. Status by countries grid is big and needs scrolling anyway and is seldom the main interest grid (or is it?) Goal_2: To fix PHONE group box anchoring so that CWM line does not drop over bottom line with QT5 widgets. Renamed lfm components (for easier location during pos/anchoring) Redesigned positions and anchoring Added W/C_Gird constraints.minheight setting by font size in form show procedure. Tries to keep all 10 rows visible without scrolling.
This commit is contained in:
parent
31509886c5
commit
11e3b8695b
@ -1,12 +1,11 @@
|
|||||||
object frmDXCCStat: TfrmDXCCStat
|
object frmDXCCStat: TfrmDXCCStat
|
||||||
Left = 258
|
Left = 293
|
||||||
Height = 529
|
Height = 612
|
||||||
Top = 209
|
Top = 37
|
||||||
Width = 711
|
Width = 768
|
||||||
ActiveControl = grdDXCCStat
|
|
||||||
Caption = 'DXCC Statistic'
|
Caption = 'DXCC Statistic'
|
||||||
ClientHeight = 529
|
ClientHeight = 612
|
||||||
ClientWidth = 711
|
ClientWidth = 768
|
||||||
Icon.Data = {
|
Icon.Data = {
|
||||||
BE0C00000000010001002020000001001800A80C000016000000280000002000
|
BE0C00000000010001002020000001001800A80C000016000000280000002000
|
||||||
0000400000000100180000000000000C00006400000064000000000000000000
|
0000400000000100180000000000000C00006400000064000000000000000000
|
||||||
@ -115,22 +114,34 @@ object frmDXCCStat: TfrmDXCCStat
|
|||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnShow = FormShow
|
OnShow = FormShow
|
||||||
LCLVersion = '1.2.2.0'
|
LCLVersion = '2.0.12.0'
|
||||||
object Panel1: TPanel
|
object pnlStatSum: TPanel
|
||||||
|
AnchorSideLeft.Control = Owner
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = Owner
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = Owner
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 81
|
Height = 80
|
||||||
Top = 448
|
Top = 532
|
||||||
Width = 711
|
Width = 768
|
||||||
Align = alBottom
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
ClientHeight = 81
|
ClientHeight = 80
|
||||||
ClientWidth = 711
|
ClientWidth = 768
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Button1: TButton
|
object btClose: TButton
|
||||||
Left = 624
|
AnchorSideRight.Control = pnlStatSum
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = pnlStatSum
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 686
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 75
|
Width = 75
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akRight, akBottom]
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
BorderSpacing.Bottom = 6
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
Cancel = True
|
Cancel = True
|
||||||
Caption = '&Close'
|
Caption = '&Close'
|
||||||
@ -138,179 +149,215 @@ object frmDXCCStat: TfrmDXCCStat
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
object btnHTMLExport: TButton
|
object btnHTMLExport: TButton
|
||||||
Left = 488
|
AnchorSideRight.Control = btClose
|
||||||
|
AnchorSideBottom.Control = btClose
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 565
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 115
|
Width = 115
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akRight, akBottom]
|
||||||
|
BorderSpacing.Right = 6
|
||||||
BorderSpacing.InnerBorder = 4
|
BorderSpacing.InnerBorder = 4
|
||||||
Caption = 'Export to HTML'
|
Caption = 'Export to HTML'
|
||||||
OnClick = btnHTMLExportClick
|
OnClick = btnHTMLExportClick
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object GroupBox1: TGroupBox
|
object gbCW: TGroupBox
|
||||||
Left = 120
|
AnchorSideLeft.Control = gbPhone
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = gbPhone
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 117
|
||||||
Height = 61
|
Height = 61
|
||||||
Top = 8
|
Top = 12
|
||||||
Width = 104
|
Width = 104
|
||||||
|
Anchors = [akLeft, akBottom]
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = ' CW '
|
Caption = ' CW '
|
||||||
ClientHeight = 45
|
ClientHeight = 43
|
||||||
ClientWidth = 102
|
ClientWidth = 102
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
object lblCWWKD: TLabel
|
object lblCWWKD: TLabel
|
||||||
|
AnchorSideLeft.Control = gbCW
|
||||||
|
AnchorSideTop.Control = gbCW
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 25
|
Width = 31
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = 'wkd:'
|
Caption = 'wkd:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object lblCWCmf: TLabel
|
object lblCWCmf: TLabel
|
||||||
|
AnchorSideLeft.Control = lblCWWKD
|
||||||
|
AnchorSideTop.Control = lblCWWKD
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 22
|
Top = 18
|
||||||
Width = 26
|
Width = 29
|
||||||
|
BorderSpacing.Top = 3
|
||||||
Caption = 'cfm:'
|
Caption = 'cfm:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox2: TGroupBox
|
object gbPhone: TGroupBox
|
||||||
Left = 8
|
AnchorSideLeft.Control = pnlStatSum
|
||||||
|
AnchorSideBottom.Control = pnlStatSum
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 7
|
||||||
Height = 61
|
Height = 61
|
||||||
Top = 8
|
Top = 12
|
||||||
Width = 104
|
Width = 104
|
||||||
|
Anchors = [akLeft, akBottom]
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Bottom = 6
|
||||||
Caption = ' PHONE'
|
Caption = ' PHONE'
|
||||||
ClientHeight = 45
|
ClientHeight = 43
|
||||||
ClientWidth = 102
|
ClientWidth = 102
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
object lblFoneWKD: TLabel
|
object lblFoneWKD: TLabel
|
||||||
|
AnchorSideLeft.Control = gbPhone
|
||||||
|
AnchorSideTop.Control = gbPhone
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = -1
|
Top = 0
|
||||||
Width = 25
|
Width = 31
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = 'wkd:'
|
Caption = 'wkd:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object lblFoneCmf: TLabel
|
object lblFoneCmf: TLabel
|
||||||
|
AnchorSideLeft.Control = lblFoneWKD
|
||||||
|
AnchorSideTop.Control = lblFoneWKD
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 23
|
Top = 18
|
||||||
Width = 26
|
Width = 29
|
||||||
|
BorderSpacing.Top = 3
|
||||||
Caption = 'cfm:'
|
Caption = 'cfm:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox3: TGroupBox
|
object gbDigi: TGroupBox
|
||||||
Left = 232
|
AnchorSideLeft.Control = gbCW
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = gbCW
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 227
|
||||||
Height = 61
|
Height = 61
|
||||||
Top = 8
|
Top = 12
|
||||||
Width = 104
|
Width = 104
|
||||||
|
Anchors = [akLeft, akBottom]
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = ' DIGI '
|
Caption = ' DIGI '
|
||||||
ClientHeight = 45
|
ClientHeight = 43
|
||||||
ClientWidth = 102
|
ClientWidth = 102
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
object lblDIGIWKD: TLabel
|
object lblDIGIWKD: TLabel
|
||||||
|
AnchorSideLeft.Control = gbDigi
|
||||||
|
AnchorSideTop.Control = gbDigi
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 25
|
Width = 31
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = 'wkd:'
|
Caption = 'wkd:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object lblDIGICmf: TLabel
|
object lblDIGICmf: TLabel
|
||||||
|
AnchorSideLeft.Control = lblDIGIWKD
|
||||||
|
AnchorSideTop.Control = lblDIGIWKD
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 22
|
Top = 18
|
||||||
Width = 26
|
Width = 29
|
||||||
|
BorderSpacing.Top = 3
|
||||||
Caption = 'cfm:'
|
Caption = 'cfm:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox4: TGroupBox
|
object gbMix: TGroupBox
|
||||||
Left = 344
|
AnchorSideLeft.Control = gbDigi
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = gbDigi
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 337
|
||||||
Height = 61
|
Height = 61
|
||||||
Top = 8
|
Top = 12
|
||||||
Width = 104
|
Width = 104
|
||||||
|
Anchors = [akLeft, akBottom]
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = ' MIX '
|
Caption = ' MIX '
|
||||||
ClientHeight = 45
|
ClientHeight = 43
|
||||||
ClientWidth = 102
|
ClientWidth = 102
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
object lblWkdMix: TLabel
|
object lblWkdMix: TLabel
|
||||||
|
AnchorSideLeft.Control = gbMix
|
||||||
|
AnchorSideTop.Control = gbMix
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 25
|
Width = 31
|
||||||
|
BorderSpacing.Left = 6
|
||||||
Caption = 'wkd:'
|
Caption = 'wkd:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object lblCfmMix: TLabel
|
object lblCfmMix: TLabel
|
||||||
|
AnchorSideLeft.Control = lblWkdMix
|
||||||
|
AnchorSideTop.Control = lblWkdMix
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
Left = 6
|
Left = 6
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 22
|
Top = 18
|
||||||
Width = 26
|
Width = 29
|
||||||
|
BorderSpacing.Top = 3
|
||||||
Caption = 'cfm:'
|
Caption = 'cfm:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object grdStat: TStringGrid
|
object PnlDXCCStat: TPanel
|
||||||
|
AnchorSideLeft.Control = Owner
|
||||||
|
AnchorSideTop.Control = Owner
|
||||||
|
AnchorSideRight.Control = Owner
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 144
|
Height = 60
|
||||||
Top = 304
|
|
||||||
Width = 711
|
|
||||||
Align = alBottom
|
|
||||||
ColCount = 27
|
|
||||||
DefaultColWidth = 50
|
|
||||||
DefaultRowHeight = 25
|
|
||||||
FixedCols = 0
|
|
||||||
Font.Name = 'courier [biznet]'
|
|
||||||
ParentFont = False
|
|
||||||
RowCount = 10
|
|
||||||
TabOrder = 1
|
|
||||||
TitleFont.Name = 'courier [biznet]'
|
|
||||||
TitleStyle = tsNative
|
|
||||||
end
|
|
||||||
object grdDXCCStat: TStringGrid
|
|
||||||
Left = 0
|
|
||||||
Height = 254
|
|
||||||
Top = 50
|
|
||||||
Width = 711
|
|
||||||
Align = alClient
|
|
||||||
ColCount = 27
|
|
||||||
DefaultColWidth = 55
|
|
||||||
DefaultRowHeight = 25
|
|
||||||
FixedCols = 0
|
|
||||||
Font.Name = 'dejavu sans mono [dejavu]'
|
|
||||||
Font.Pitch = fpFixed
|
|
||||||
ParentFont = False
|
|
||||||
TabOrder = 2
|
|
||||||
TitleFont.Name = 'dejavu sans mono [dejavu]'
|
|
||||||
TitleFont.Pitch = fpFixed
|
|
||||||
TitleStyle = tsNative
|
|
||||||
end
|
|
||||||
object Panel2: TPanel
|
|
||||||
Left = 0
|
|
||||||
Height = 50
|
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 711
|
Width = 768
|
||||||
Align = alTop
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
ClientHeight = 50
|
ClientHeight = 60
|
||||||
ClientWidth = 711
|
ClientWidth = 768
|
||||||
TabOrder = 3
|
TabOrder = 1
|
||||||
object Label1: TLabel
|
object btnRefresh: TButton
|
||||||
Left = 19
|
AnchorSideLeft.Control = cmbCfmType
|
||||||
Height = 15
|
AnchorSideLeft.Side = asrBottom
|
||||||
Top = 18
|
AnchorSideTop.Control = cmbCfmType
|
||||||
Width = 91
|
AnchorSideTop.Side = asrCenter
|
||||||
Caption = 'Confirmed type:'
|
Left = 447
|
||||||
ParentColor = False
|
Height = 25
|
||||||
|
Top = 13
|
||||||
|
Width = 147
|
||||||
|
BorderSpacing.Left = 32
|
||||||
|
Caption = 'Refresh statistic'
|
||||||
|
OnClick = btnRefreshClick
|
||||||
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object cmbCfmType: TComboBox
|
object cmbCfmType: TComboBox
|
||||||
Left = 133
|
AnchorSideLeft.Control = lblDXCCType
|
||||||
Height = 19
|
AnchorSideLeft.Side = asrBottom
|
||||||
Top = 10
|
AnchorSideTop.Control = lblDXCCType
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
Left = 155
|
||||||
|
Height = 29
|
||||||
|
Top = 11
|
||||||
Width = 260
|
Width = 260
|
||||||
|
BorderSpacing.Left = 32
|
||||||
ItemHeight = 0
|
ItemHeight = 0
|
||||||
ItemIndex = 6
|
ItemIndex = 6
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
@ -326,19 +373,65 @@ object frmDXCCStat: TfrmDXCCStat
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
Text = 'paper QSL, LoTW and eQSL'
|
Text = 'paper QSL, LoTW and eQSL'
|
||||||
end
|
end
|
||||||
object btnRefresh: TButton
|
object lblDXCCType: TLabel
|
||||||
Left = 432
|
AnchorSideLeft.Control = PnlDXCCStat
|
||||||
Height = 25
|
AnchorSideTop.Control = PnlDXCCStat
|
||||||
Top = 14
|
Left = 18
|
||||||
Width = 147
|
Height = 15
|
||||||
Caption = 'Refresh statistic'
|
Top = 18
|
||||||
OnClick = btnRefreshClick
|
Width = 105
|
||||||
TabOrder = 1
|
BorderSpacing.Left = 18
|
||||||
|
BorderSpacing.Top = 18
|
||||||
|
Caption = 'Confirmed type:'
|
||||||
|
ParentColor = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object grdDXCCStat: TStringGrid
|
||||||
|
AnchorSideLeft.Control = Owner
|
||||||
|
AnchorSideTop.Control = PnlDXCCStat
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = Owner
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = grdStatSum
|
||||||
|
Left = 0
|
||||||
|
Height = 212
|
||||||
|
Top = 60
|
||||||
|
Width = 768
|
||||||
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
|
ColCount = 27
|
||||||
|
DefaultColWidth = 55
|
||||||
|
DefaultRowHeight = 25
|
||||||
|
FixedCols = 0
|
||||||
|
Font.Name = 'dejavu sans mono [dejavu]'
|
||||||
|
Font.Pitch = fpFixed
|
||||||
|
ParentFont = False
|
||||||
|
TabOrder = 2
|
||||||
|
TitleStyle = tsNative
|
||||||
|
end
|
||||||
|
object grdStatSum: TStringGrid
|
||||||
|
AnchorSideLeft.Control = Owner
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = Owner
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = pnlStatSum
|
||||||
|
Left = 0
|
||||||
|
Height = 260
|
||||||
|
Top = 272
|
||||||
|
Width = 768
|
||||||
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
|
ColCount = 27
|
||||||
|
DefaultColWidth = 50
|
||||||
|
DefaultRowHeight = 25
|
||||||
|
FixedCols = 0
|
||||||
|
Font.Name = 'courier [biznet]'
|
||||||
|
ParentFont = False
|
||||||
|
RowCount = 10
|
||||||
|
TabOrder = 3
|
||||||
|
TitleStyle = tsNative
|
||||||
|
end
|
||||||
object dlgSave: TSaveDialog
|
object dlgSave: TSaveDialog
|
||||||
FilterIndex = 0
|
FilterIndex = 0
|
||||||
left = 568
|
Left = 568
|
||||||
top = 232
|
Top = 232
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -24,15 +24,17 @@ type
|
|||||||
{ TfrmDXCCStat }
|
{ TfrmDXCCStat }
|
||||||
|
|
||||||
TfrmDXCCStat = class(TForm)
|
TfrmDXCCStat = class(TForm)
|
||||||
Button1: TButton;
|
btnRefresh: TButton;
|
||||||
|
btClose: TButton;
|
||||||
btnHTMLExport: TButton;
|
btnHTMLExport: TButton;
|
||||||
btnRefresh : TButton;
|
cmbCfmType: TComboBox;
|
||||||
cmbCfmType : TComboBox;
|
grdDXCCStat: TStringGrid;
|
||||||
GroupBox1: TGroupBox;
|
gbCW: TGroupBox;
|
||||||
GroupBox2: TGroupBox;
|
gbPhone: TGroupBox;
|
||||||
GroupBox3: TGroupBox;
|
gbDigi: TGroupBox;
|
||||||
GroupBox4: TGroupBox;
|
gbMix: TGroupBox;
|
||||||
Label1 : TLabel;
|
grdStatSum: TStringGrid;
|
||||||
|
lblDXCCType: TLabel;
|
||||||
lblCfmMix: TLabel;
|
lblCfmMix: TLabel;
|
||||||
lblWkdMix: TLabel;
|
lblWkdMix: TLabel;
|
||||||
lblFoneCmf: TLabel;
|
lblFoneCmf: TLabel;
|
||||||
@ -41,11 +43,9 @@ type
|
|||||||
lblFoneWKD: TLabel;
|
lblFoneWKD: TLabel;
|
||||||
lblCWWKD: TLabel;
|
lblCWWKD: TLabel;
|
||||||
lblDIGIWKD: TLabel;
|
lblDIGIWKD: TLabel;
|
||||||
Panel1: TPanel;
|
PnlDXCCStat: TPanel;
|
||||||
grdStat: TStringGrid;
|
pnlStatSum: TPanel;
|
||||||
grdDXCCStat: TStringGrid;
|
|
||||||
dlgSave: TSaveDialog;
|
dlgSave: TSaveDialog;
|
||||||
Panel2 : TPanel;
|
|
||||||
procedure btnHTMLExportClick(Sender: TObject);
|
procedure btnHTMLExportClick(Sender: TObject);
|
||||||
procedure btnRefreshClick(Sender : TObject);
|
procedure btnRefreshClick(Sender : TObject);
|
||||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
@ -101,20 +101,21 @@ end;
|
|||||||
procedure TfrmDXCCStat.FormShow(Sender: TObject);
|
procedure TfrmDXCCStat.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
dmUtils.LoadFontSettings(self);
|
dmUtils.LoadFontSettings(self);
|
||||||
|
grdStatSum.Constraints.MinHeight:=(grdStatSum.Font.Size+6)*10;
|
||||||
LoadBandsSettings;
|
LoadBandsSettings;
|
||||||
|
|
||||||
if cqrini.ReadBool('Fonts','GridGreenBar',False) = True then
|
if cqrini.ReadBool('Fonts','GridGreenBar',False) = True then
|
||||||
begin
|
begin
|
||||||
grdDXCCStat.AlternateColor:=$00E7FFEB;
|
grdDXCCStat.AlternateColor:=$00E7FFEB;
|
||||||
grdStat.AlternateColor:=$00E7FFEB;
|
grdStatSum.AlternateColor:=$00E7FFEB;
|
||||||
grdDXCCStat.Options:=[goRowSelect,goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine];
|
grdDXCCStat.Options:=[goRowSelect,goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine];
|
||||||
grdStat.Options:=[goRowSelect,goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine];
|
grdStatSum.Options:=[goRowSelect,goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine];
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
grdDXCCStat.AlternateColor:=clWindow;
|
grdDXCCStat.AlternateColor:=clWindow;
|
||||||
grdStat.AlternateColor:=clWindow;
|
grdStatSum.AlternateColor:=clWindow;
|
||||||
grdDXCCStat.Options:=[goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine,goFixedHorzLine,goHorzline];
|
grdDXCCStat.Options:=[goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine,goFixedHorzLine,goHorzline];
|
||||||
grdStat.Options:=[goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine,goFixedHorzLine,goHorzline];
|
grdStatSum.Options:=[goRangeSelect,goSmoothScroll,goVertLine,goFixedVertLine,goFixedHorzLine,goHorzline];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
grdDXCCStat.Cells[0,0] := 'DXCC';
|
grdDXCCStat.Cells[0,0] := 'DXCC';
|
||||||
@ -296,7 +297,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40 bgcolor="#333366" class="hlava">');
|
Writeln(f,'<TD WIDTH=40 bgcolor="#333366" class="hlava">');
|
||||||
tmp := grdStat.Cells[i,0];
|
tmp := grdStatSum.Cells[i,0];
|
||||||
Writeln(f,'<div align="center" class="popis">' + tmp + '</div>');
|
Writeln(f,'<div align="center" class="popis">' + tmp + '</div>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end; //^^ table header
|
end; //^^ table header
|
||||||
@ -309,7 +310,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=60>');
|
Writeln(f,'<TD WIDTH=60>');
|
||||||
tmp := grdStat.Cells[i,1];
|
tmp := grdStatSum.Cells[i,1];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -322,7 +323,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,2];
|
tmp := grdStatSum.Cells[i,2];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -335,7 +336,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,4];
|
tmp := grdStatSum.Cells[i,4];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -348,7 +349,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,5];
|
tmp := grdStatSum.Cells[i,5];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -361,7 +362,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,6];
|
tmp := grdStatSum.Cells[i,6];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -374,7 +375,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,7];
|
tmp := grdStatSum.Cells[i,7];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -387,7 +388,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,8];
|
tmp := grdStatSum.Cells[i,8];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2>' + tmp + '</FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -400,7 +401,7 @@ begin
|
|||||||
for i:=1 to grdDXCCStat.ColCount -1 do
|
for i:=1 to grdDXCCStat.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
Writeln(f,'<TD WIDTH=40>');
|
Writeln(f,'<TD WIDTH=40>');
|
||||||
tmp := grdStat.Cells[i,9];
|
tmp := grdStatSum.Cells[i,9];
|
||||||
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
Writeln(f,'<P ALIGN=CENTER><FONT SIZE=2><B>' + tmp + '</B></FONT></P>');
|
||||||
Writeln(f,'</TD>');
|
Writeln(f,'</TD>');
|
||||||
end;
|
end;
|
||||||
@ -488,20 +489,20 @@ var
|
|||||||
i : Integer = 0;
|
i : Integer = 0;
|
||||||
begin
|
begin
|
||||||
grdDXCCStat.ColCount := cMaxBandsCount;
|
grdDXCCStat.ColCount := cMaxBandsCount;
|
||||||
grdStat.ColCount := cMaxBandsCount;
|
grdStatSum.ColCount := cMaxBandsCount;
|
||||||
for i:=0 to cMaxBandsCount-1 do
|
for i:=0 to cMaxBandsCount-1 do
|
||||||
begin
|
begin
|
||||||
if dmUtils.MyBands[i][0]='' then
|
if dmUtils.MyBands[i][0]='' then
|
||||||
begin
|
begin
|
||||||
grdDXCCStat.ColCount := i+2;
|
grdDXCCStat.ColCount := i+2;
|
||||||
grdStat.ColCount := i+1;
|
grdStatSum.ColCount := i+1;
|
||||||
break
|
break
|
||||||
end;
|
end;
|
||||||
grdDXCCStat.Cells[i+2,0] := dmUtils.MyBands[i][1];
|
grdDXCCStat.Cells[i+2,0] := dmUtils.MyBands[i][1];
|
||||||
grdStat.Cells[i+1,0] := dmUtils.MyBands[i][1];
|
grdStatSum.Cells[i+1,0] := dmUtils.MyBands[i][1];
|
||||||
end;
|
end;
|
||||||
grdDXCCStat.ColWidths[grdStat.ColCount-1] := 50;
|
grdDXCCStat.ColWidths[grdStatSum.ColCount-1] := 50;
|
||||||
grdStat.ColWidths[grdStat.ColCount-1] := 50
|
grdStatSum.ColWidths[grdStatSum.ColCount-1] := 50
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmDXCCStat.CreateModeStatistic;
|
procedure TfrmDXCCStat.CreateModeStatistic;
|
||||||
@ -523,9 +524,9 @@ var
|
|||||||
end;
|
end;
|
||||||
BandPos := BandPos + 1;
|
BandPos := BandPos + 1;
|
||||||
if dmData.Q.Fields[1].AsString = '' then
|
if dmData.Q.Fields[1].AsString = '' then
|
||||||
grdStat.Cells[BandPos,Row] := '0'
|
grdStatSum.Cells[BandPos,Row] := '0'
|
||||||
else
|
else
|
||||||
grdStat.Cells[BandPos,Row] := dmData.Q.Fields[1].AsString;
|
grdStatSum.Cells[BandPos,Row] := dmData.Q.Fields[1].AsString;
|
||||||
dmData.Q.Next
|
dmData.Q.Next
|
||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
@ -582,18 +583,18 @@ const
|
|||||||
C_SEL = 'select band,count(distinct adif) from cqrlog_main where adif <> 0 and ';
|
C_SEL = 'select band,count(distinct adif) from cqrlog_main where adif <> 0 and ';
|
||||||
|
|
||||||
begin
|
begin
|
||||||
grdStat.ColWidths[0] := 110;
|
grdStatSum.ColWidths[0] := 110;
|
||||||
grdStat.Cells[0,1] := 'DXCC';
|
grdStatSum.Cells[0,1] := 'DXCC';
|
||||||
grdStat.Cells[0,2] := 'DXCC CFM';
|
grdStatSum.Cells[0,2] := 'DXCC CFM';
|
||||||
|
|
||||||
grdStat.Cells[0,4] := 'DXCC PHONE';
|
grdStatSum.Cells[0,4] := 'DXCC PHONE';
|
||||||
grdStat.Cells[0,5] := 'DXCC CFM PHONE';
|
grdStatSum.Cells[0,5] := 'DXCC CFM PHONE';
|
||||||
|
|
||||||
grdStat.Cells[0,6] := 'DXCC CW';
|
grdStatSum.Cells[0,6] := 'DXCC CW';
|
||||||
grdStat.Cells[0,7] := 'DXCC CFM CW';
|
grdStatSum.Cells[0,7] := 'DXCC CFM CW';
|
||||||
|
|
||||||
grdStat.Cells[0,8] := 'DXCC DIGI';
|
grdStatSum.Cells[0,8] := 'DXCC DIGI';
|
||||||
grdStat.Cells[0,9] := 'DXCC CFM DIGI';
|
grdStatSum.Cells[0,9] := 'DXCC CFM DIGI';
|
||||||
|
|
||||||
ShowDel := cqrini.ReadBool('Program','ShowDeleted',False);
|
ShowDel := cqrini.ReadBool('Program','ShowDeleted',False);
|
||||||
|
|
||||||
@ -1192,22 +1193,22 @@ var
|
|||||||
y : Integer;
|
y : Integer;
|
||||||
sum : Word;
|
sum : Word;
|
||||||
begin
|
begin
|
||||||
grdStat.ColCount := grdStat.ColCount+1;
|
grdStatSum.ColCount := grdStatSum.ColCount+1;
|
||||||
grdStat.Cells[grdStat.ColCount-1,0] := 'Total';
|
grdStatSum.Cells[grdStatSum.ColCount-1,0] := 'Total';
|
||||||
|
|
||||||
for y:=1 to grdStat.RowCount-1 do
|
for y:=1 to grdStatSum.RowCount-1 do
|
||||||
begin
|
begin
|
||||||
if grdStat.Cells[0,y] = '' then
|
if grdStatSum.Cells[0,y] = '' then
|
||||||
Continue;
|
Continue;
|
||||||
sum := 0;
|
sum := 0;
|
||||||
for i:=1 to grdStat.ColCount -1 do
|
for i:=1 to grdStatSum.ColCount -1 do
|
||||||
begin
|
begin
|
||||||
if grdStat.Cells[i,y] <> '' then
|
if grdStatSum.Cells[i,y] <> '' then
|
||||||
sum := sum + StrToInt(grdStat.Cells[i,y])
|
sum := sum + StrToInt(grdStatSum.Cells[i,y])
|
||||||
else
|
else
|
||||||
grdStat.Cells[i,y] := '0'
|
grdStatSum.Cells[i,y] := '0'
|
||||||
end;
|
end;
|
||||||
grdStat.Cells[grdStat.ColCount-1,y] := IntToStr(sum)
|
grdStatSum.Cells[grdStatSum.ColCount-1,y] := IntToStr(sum)
|
||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ const
|
|||||||
cRELEAS = 2;
|
cRELEAS = 2;
|
||||||
cBUILD = 1;
|
cBUILD = 1;
|
||||||
|
|
||||||
cBUILD_DATE = '2021-08-28';
|
cBUILD_DATE = '2021-08-30';
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user