mirror of
https://github.com/ok2cqr/cqrlog.git
synced 2024-09-21 10:27:17 +00:00
previous QSO listing is much faster
This commit is contained in:
parent
ecb3b923c1
commit
ed36199275
@ -7,6 +7,7 @@ Legend:
|
||||
1.9.2
|
||||
+ program should work also with MariaDB 10.1
|
||||
+ Frequency memories added
|
||||
+ list of previous QSO should be much faster on older computers
|
||||
- CW type window was not sizeable - fixed
|
||||
- password to LoTW/eQSL could not have special characters - fixed
|
||||
- program crashed after opening Preferences when path to rigctl was empty - fixed
|
||||
|
129
src/dUtils.pas
129
src/dUtils.pas
@ -24,6 +24,13 @@ uses
|
||||
type
|
||||
TExplodeArray = array of string;
|
||||
|
||||
type
|
||||
TVisibleColumn = record
|
||||
FieldName : String[20];
|
||||
Visible : Boolean;
|
||||
Exists : Boolean;
|
||||
end;
|
||||
|
||||
const
|
||||
MyWhiteSpace = [#0..#31];
|
||||
AllowedCallChars = ['A'..'Z', '0'..'9', '/'];
|
||||
@ -167,6 +174,8 @@ type
|
||||
procedure OpenInApp(what : String);
|
||||
procedure LoadRigsToComboBox(CurrentRigId : String; RigCtlBinaryPath : String; RigComboBox : TComboBox);
|
||||
procedure GetShorterCoordinates(latitude,longitude : Currency; var lat, long : String);
|
||||
procedure LoadVisibleColumnsConfiguration(var aColumns : array of TVisibleColumn);
|
||||
|
||||
|
||||
function StrToDateFormat(sDate : String) : TDateTime;
|
||||
function DateToSQLIteDate(date : TDateTime) : String;
|
||||
@ -4197,6 +4206,126 @@ begin
|
||||
long := FloatToStr(longitude)
|
||||
end;
|
||||
|
||||
procedure TdmUtils.LoadVisibleColumnsConfiguration(var aColumns : Array of TVisibleColumn);
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
|
||||
aColumns[0].FieldName := 'QSODATE';
|
||||
aColumns[0].Visible := cqrini.ReadBool('Columns','qsodate',True);
|
||||
|
||||
aColumns[1].FieldName := 'TIME_ON';
|
||||
aColumns[1].Visible := cqrini.ReadBool('Columns','time_on',True);
|
||||
|
||||
aColumns[2].FieldName := 'TIME_OFF';
|
||||
aColumns[2].Visible := cqrini.ReadBool('Columns','time_off',True);
|
||||
|
||||
aColumns[3].FieldName := 'CALLSIGN';
|
||||
aColumns[3].Visible := cqrini.ReadBool('Columns','CallSign',True);
|
||||
|
||||
aColumns[4].FieldName := 'MODE';
|
||||
aColumns[4].Visible := cqrini.ReadBool('Columns','Mode',True);
|
||||
|
||||
aColumns[4].FieldName := 'FREQ';
|
||||
aColumns[4].Visible := cqrini.ReadBool('Columns','Freq',True);
|
||||
|
||||
aColumns[5].FieldName := 'RST_S';
|
||||
aColumns[5].Visible := cqrini.ReadBool('Columns','RST_S',True);
|
||||
|
||||
aColumns[6].FieldName := 'RST_R';
|
||||
aColumns[6].Visible := cqrini.ReadBool('Columns','RST_R',True);
|
||||
|
||||
aColumns[7].FieldName := 'NAME';
|
||||
aColumns[7].Visible := cqrini.ReadBool('Columns','Name',True);
|
||||
|
||||
aColumns[8].FieldName := 'QTH';
|
||||
aColumns[8].Visible := cqrini.ReadBool('Columns','QTH',True);
|
||||
|
||||
aColumns[9].FieldName := 'QSL_S';
|
||||
aColumns[9].Visible := cqrini.ReadBool('Columns','QSL_S',True);
|
||||
|
||||
aColumns[10].FieldName := 'QSL_R';
|
||||
aColumns[10].Visible := cqrini.ReadBool('Columns','QSL_R',True);
|
||||
|
||||
aColumns[11].FieldName := 'QSL_VIA';
|
||||
aColumns[11].Visible := cqrini.ReadBool('Columns','QSL_VIA',False);
|
||||
|
||||
aColumns[12].FieldName := 'LOC';
|
||||
aColumns[12].Visible := cqrini.ReadBool('Columns','Locator',False);
|
||||
|
||||
aColumns[13].FieldName := 'MY_LOC';
|
||||
aColumns[13].Visible := cqrini.ReadBool('Columns','MyLoc',False);
|
||||
|
||||
aColumns[14].FieldName := 'IOTA';
|
||||
aColumns[14].Visible := cqrini.ReadBool('Columns','IOTA',False);
|
||||
|
||||
aColumns[15].FieldName := 'AWARD';
|
||||
aColumns[16].Visible := cqrini.ReadBool('Columns','Award',False);
|
||||
|
||||
aColumns[17].FieldName := 'COUNTY';
|
||||
aColumns[17].Visible := cqrini.ReadBool('Columns','County',False);
|
||||
|
||||
aColumns[18].FieldName := 'PWR';
|
||||
aColumns[18].Visible := cqrini.ReadBool('Columns','Power',False);
|
||||
|
||||
aColumns[19].FieldName := 'DXCC_REF';
|
||||
aColumns[19].Visible := cqrini.ReadBool('Columns','DXCC',False);
|
||||
|
||||
aColumns[21].FieldName := 'REMARKS';
|
||||
aColumns[21].Visible := cqrini.ReadBool('Columns','Remarks',False);
|
||||
|
||||
aColumns[22].FieldName := 'WAZ';
|
||||
aColumns[22].Visible := cqrini.ReadBool('Columns','WAZ',False);
|
||||
|
||||
aColumns[23].FieldName := 'ITU';
|
||||
aColumns[23].Visible := cqrini.ReadBool('Columns','ITU',False);
|
||||
|
||||
aColumns[24].FieldName := 'STATE';
|
||||
aColumns[24].Visible := cqrini.ReadBool('Columns','State',False);
|
||||
|
||||
aColumns[25].FieldName := 'LOTW_QSLSDATE';
|
||||
aColumns[25].Visible := cqrini.ReadBool('Columns','LoTWQSLSDate',False);
|
||||
|
||||
aColumns[26].FieldName := 'LOTW_QSLRDATE';
|
||||
aColumns[26].Visible := cqrini.ReadBool('Columns','LoTWQSLRDate',False);
|
||||
|
||||
aColumns[27].FieldName := 'LOTW_QSLS';
|
||||
aColumns[27].Visible := cqrini.ReadBool('Columns','LoTWQSLS',False);
|
||||
|
||||
aColumns[28].FieldName := 'LOTW_QSLR';
|
||||
aColumns[28].Visible := cqrini.ReadBool('Columns','LOTWQSLR',False);
|
||||
|
||||
aColumns[29].FieldName := 'CONT';
|
||||
aColumns[29].Visible := cqrini.ReadBool('Columns','Cont',False);
|
||||
|
||||
aColumns[30].FieldName := 'QSLS_DATE';
|
||||
aColumns[30].Visible := cqrini.ReadBool('Columns','QSLSDate',False);
|
||||
|
||||
aColumns[31].FieldName := 'QSLR_DATE';
|
||||
aColumns[31].Visible := cqrini.ReadBool('Columns','QSLRDate',False);
|
||||
|
||||
aColumns[32].FieldName := 'EQSL_QSL_SENT';
|
||||
aColumns[32].Visible := cqrini.ReadBool('Columns','eQSLQSLS',False);
|
||||
|
||||
aColumns[33].FieldName := 'EQSL_QSLSDATE';
|
||||
aColumns[33].Visible := cqrini.ReadBool('Columns','eQSLQSLSDate',False);
|
||||
|
||||
aColumns[34].FieldName := 'EQSL_QSL_RCVD';
|
||||
aColumns[34].Visible := cqrini.ReadBool('Columns','eQSLQSLR',False);
|
||||
|
||||
aColumns[35].FieldName := 'EQSL_QSLRDATE';
|
||||
aColumns[35].Visible := cqrini.ReadBool('Columns','eQSLQSLRDate',False);
|
||||
|
||||
aColumns[36].FieldName := 'QSLR';
|
||||
aColumns[36].Visible := cqrini.ReadBool('Columns','QSLRAll',False);
|
||||
|
||||
aColumns[37].FieldName := 'COUNTRY';
|
||||
aColumns[37].Visible := cqrini.ReadBool('Columns','Country',False);
|
||||
|
||||
for i:=0 to Length(aColumns)-1 do
|
||||
aColumns[i].Exists := False
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I dUtils.lrs}
|
||||
|
||||
|
248
src/fNewQSO.pas
248
src/fNewQSO.pas
@ -28,6 +28,7 @@ const
|
||||
type
|
||||
TRemoteModeType = (rmtFldigi, rmtWsjt);
|
||||
|
||||
|
||||
type
|
||||
|
||||
{ TfrmNewQSO }
|
||||
@ -4695,148 +4696,121 @@ begin
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.ShowFields;
|
||||
var
|
||||
aColumns : array of TVisibleColumn;
|
||||
i : Integer;
|
||||
y : Integer;
|
||||
|
||||
procedure ChangeVis(Column : String; IfShow : Boolean);
|
||||
var
|
||||
i : Integer;
|
||||
fQsoGr : String;
|
||||
fqSize : Integer;
|
||||
isAdded : Boolean = False;
|
||||
begin
|
||||
fQsoGr := cqrini.ReadString('Fonts','QGrids','Sans 10');
|
||||
fqSize := cqrini.ReadInteger('Fonts','qSize',10);
|
||||
|
||||
for i:=0 to dbgrdQSOBefore.Columns.Count-1 do
|
||||
begin
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'BAND' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'QSO_DXCC' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'PROFILE' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'ID_CQRLOG_MAIN' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'IDCALL' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR1' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR2' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR3' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR4' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR5' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'STATE') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'LOTW_QSLS') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'LOTW_QSLR') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'EQSL_QSL_SENT') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'EQSL_QSL_RCVD') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'QSLR') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'FREQ') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taRightJustify;
|
||||
dbgrdQSOBefore.Columns[i].DisplayFormat := '###,##0.0000;;';
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = UpperCase(Column) then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Visible := IfShow;
|
||||
if IfShow and (dbgrdQSOBefore.Columns[i].Width = 0) then
|
||||
dbgrdQSOBefore.Columns[i].Width := 60;
|
||||
isAdded := True
|
||||
end;
|
||||
|
||||
if cqrini.ReadBool('Fonts','UseDefault',True) then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Name := 'default';
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Size := 0
|
||||
end
|
||||
else begin
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Name := fQsoGr;
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Size := fqSize
|
||||
end
|
||||
end;
|
||||
if (not isAdded) and IfShow then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns.Add;
|
||||
dbgrdQSOBefore.Columns[dbgrdQSOBefore.Columns.Count-1].FieldName := LowerCase(Column);
|
||||
dbgrdQSOBefore.Columns[dbgrdQSOBefore.Columns.Count-1].DisplayName := LowerCase(Column);
|
||||
dbgrdQSOBefore.Columns[dbgrdQSOBefore.Columns.Count-1].Width := 60
|
||||
end
|
||||
end;
|
||||
|
||||
fQsoGr : String;
|
||||
fqSize : Integer;
|
||||
isAdded : Boolean = False;
|
||||
fDefault : Boolean;
|
||||
ColExists : Boolean = False;
|
||||
begin
|
||||
dbgrdQSOBefore.DataSource := dmData.dsrQSOBefore;
|
||||
dbgrdQSOBefore.ResetColWidths;
|
||||
LoadGrid;
|
||||
//dbgrdQSOBefore.Columns[0].Visible := False;
|
||||
ChangeVis('qsodate',cqrini.ReadBool('Columns','qsodate',True));
|
||||
ChangeVis('TIME_ON',cqrini.ReadBool('Columns','time_on',True));
|
||||
ChangeVis('TIME_OFF',cqrini.ReadBool('Columns','time_off',False));
|
||||
ChangeVis('CALLSIGN',cqrini.ReadBool('Columns','CallSign',True));
|
||||
ChangeVis('MODE',cqrini.ReadBool('Columns','Mode',True));
|
||||
ChangeVis('FREQ',cqrini.ReadBool('Columns','Freq',True));
|
||||
ChangeVis('RST_S',cqrini.ReadBool('Columns','RST_S',True));
|
||||
ChangeVis('RST_R',cqrini.ReadBool('Columns','RST_R',True));
|
||||
ChangeVis('NAME',cqrini.ReadBool('Columns','Name',True));
|
||||
ChangeVis('QTH',cqrini.ReadBool('Columns','QTH',True));
|
||||
ChangeVis('QSL_S',cqrini.ReadBool('Columns','QSL_S',True));
|
||||
ChangeVis('QSL_R',cqrini.ReadBool('Columns','QSL_R',True));
|
||||
ChangeVis('QSL_VIA',cqrini.ReadBool('Columns','QSL_VIA',False));
|
||||
ChangeVis('LOC',cqrini.ReadBool('Columns','Locator',False));
|
||||
ChangeVis('MY_LOC',cqrini.ReadBool('Columns','MyLoc',False));
|
||||
ChangeVis('IOTA',cqrini.ReadBool('Columns','IOTA',False));
|
||||
ChangeVis('AWARD',cqrini.ReadBool('Columns','Award',False));
|
||||
ChangeVis('COUNTY',cqrini.ReadBool('Columns','County',False));
|
||||
ChangeVis('PWR',cqrini.ReadBool('Columns','Power',False));
|
||||
ChangeVis('dxcc_ref',cqrini.ReadBool('Columns','DXCC',False));
|
||||
ChangeVis('REMARKS',cqrini.ReadBool('Columns','Remarks',False));
|
||||
ChangeVis('WAZ',cqrini.ReadBool('Columns','WAZ',False));
|
||||
ChangeVis('ITU',cqrini.ReadBool('Columns','ITU',False));
|
||||
ChangeVis('STATE',cqrini.ReadBool('Columns','State',False));
|
||||
ChangeVis('LOTW_QSLSDATE',cqrini.ReadBool('Columns','LoTWQSLSDate',False));
|
||||
ChangeVis('LOTW_QSLRDATE',cqrini.ReadBool('Columns','LoTWQSLRDate',False));
|
||||
ChangeVis('LOTW_QSLS',cqrini.ReadBool('Columns','LoTWQSLS',False));
|
||||
ChangeVis('LOTW_QSLR',cqrini.ReadBool('Columns','LOTWQSLR',False));
|
||||
ChangeVis('CONT',cqrini.ReadBool('Columns','Cont',False));
|
||||
ChangeVis('QSLS_DATE',cqrini.ReadBool('Columns','QSLSDate',False));
|
||||
ChangeVis('QSLR_DATE',cqrini.ReadBool('Columns','QSLRDate',False));
|
||||
ChangeVis('EQSL_QSL_SENT',cqrini.ReadBool('Columns','eQSLQSLS',False));
|
||||
ChangeVis('EQSL_QSLSDATE',cqrini.ReadBool('Columns','eQSLQSLSDate',False));
|
||||
ChangeVis('EQSL_QSL_RCVD',cqrini.ReadBool('Columns','eQSLQSLR',False));
|
||||
ChangeVis('EQSL_QSLRDATE',cqrini.ReadBool('Columns','eQSLQSLRDate',False));
|
||||
ChangeVis('QSLR',cqrini.ReadBool('Columns','QSLRAll',False));
|
||||
ChangeVis('COUNTRY',cqrini.ReadBool('Columns','Country',False))
|
||||
SetLength(aColumns,38);
|
||||
dmUtils.LoadVisibleColumnsConfiguration(aColumns);
|
||||
|
||||
fQsoGr := cqrini.ReadString('Fonts','QGrids','Sans 10');
|
||||
fqSize := cqrini.ReadInteger('Fonts','qSize',10);
|
||||
fDefault := cqrini.ReadBool('Fonts','UseDefault',True);
|
||||
|
||||
for i:=0 to dbgrdQSOBefore.Columns.Count-1 do
|
||||
begin
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'BAND' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'QSO_DXCC' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'PROFILE' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'ID_CQRLOG_MAIN' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'IDCALL' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR1' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR2' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR3' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR4' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'CLUB_NR5' then
|
||||
dbgrdQSOBefore.Columns[i].Visible := False;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'STATE') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'LOTW_QSLS') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'LOTW_QSLR') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'EQSL_QSL_SENT') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'EQSL_QSL_RCVD') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'QSLR') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taCenter;
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
if (UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = 'FREQ') then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Alignment := taRightJustify;
|
||||
dbgrdQSOBefore.Columns[i].DisplayFormat := '###,##0.0000;;';
|
||||
dbgrdQSOBefore.Columns[i].Title.Alignment := taCenter
|
||||
end;
|
||||
|
||||
for y:=0 to Length(aColumns)-1 do
|
||||
begin
|
||||
if UpperCase(dbgrdQSOBefore.Columns[i].DisplayName) = aColumns[y].FieldName then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Visible := aColumns[y].Visible;
|
||||
aColumns[y].Exists := True;
|
||||
if aColumns[y].Visible and (dbgrdQSOBefore.Columns[i].Width = 0) then
|
||||
dbgrdQSOBefore.Columns[i].Width := 60
|
||||
end
|
||||
end;
|
||||
|
||||
if fDefault then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Name := 'default';
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Size := 0
|
||||
end
|
||||
else begin
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Name := fQsoGr;
|
||||
dbgrdQSOBefore.Columns[i].Title.Font.Size := fqSize
|
||||
end
|
||||
end;
|
||||
|
||||
for i:=0 to Length(aColumns) do
|
||||
begin
|
||||
if (aColumns[i].Visible) and (not aColumns[i].Exists) then
|
||||
begin
|
||||
dbgrdQSOBefore.Columns.Add;
|
||||
dbgrdQSOBefore.Columns[dbgrdQSOBefore.Columns.Count-1].FieldName := aColumns[i].FieldName;
|
||||
dbgrdQSOBefore.Columns[dbgrdQSOBefore.Columns.Count-1].DisplayName := aColumns[i].FieldName;
|
||||
dbgrdQSOBefore.Columns[dbgrdQSOBefore.Columns.Count-1].Width := 60
|
||||
end
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TfrmNewQSO.ChangeReports;
|
||||
|
Loading…
Reference in New Issue
Block a user