diff --git a/ArrlFd.pas b/ArrlFd.pas index e407c16..935ed9f 100644 --- a/ArrlFd.pas +++ b/ArrlFd.pas @@ -59,6 +59,8 @@ function TArrlFieldDay.LoadCallHistory(const AUserCallsign : string) : boolean; var slst, tl: TStringList; i: integer; + S : String; + HomeStn, PortableStn : Boolean; rec: TFdCallRec; begin // reload call history if empty @@ -95,9 +97,22 @@ function TArrlFieldDay.LoadCallHistory(const AUserCallsign : string) : boolean; if rec.Call='' then continue; if rec.StnClass='' then continue; if rec.Section='' then continue; - //if IsNum(rec.Number) = False then continue; - //if length(rec.Name) > 10 then continue; - //if length(rec.Name) > 12 then continue; + + // In 2020, Covid resulted in FD rule changes allowing home stations + // to be used and contribute to the operator's club score. This + // resulted in an above average number of home stations since these + // stations were connected to the clubs score. + // + // Skip home (D/E) and portable (B) stations with a club name by + // assuming they are associated with a club. This is not 100% + // accurate since many clubs operated as a portable station without + // a corresponding club call operating under Class A (Club). + // Note - this algorithm will be revised after v1.84 release. + S := rec.StnClass.Substring(rec.StnClass.Length-1); + HomeStn := S.Equals('D') or S.Equals('E'); + PortableStn := S.Equals('B'); + if (HomeStn or PortableStn) and not rec.UserText.IsEmpty then + continue; FdCallList.Add(rec); rec := nil;