mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
Add configurable VFO frequency range with GHz support
- Settings > Display: new "VFO Display" control to select max frequency range (999 MHz / 9.999 GHz / 99.999 GHz), persisted as freq_mhz_digits - FreqDisplay: extend digit map [0..10] to support up to 11 digit positions; keyboard navigation adapts to MinMhzDigits dynamically - MainForm/LayoutTopVfoBlock: VFO panel width scales automatically with selected digit count using dynamic text measurement - Web VFO: fix broken HTML (class attr not closed before data-s — wheel and hover were completely non-functional); rewrite fmtVfo to use variable MHz digit count synced from server state; fix missing </span> for .vfo-hz - WebServer: publish freq_mhz_digits in state JSON; updated from ApplyFreqMhzDigits so desktop and web stay in sync - Fix Int32 overflow on frequencies above ~2.15 GHz: CATEngine.Pad V param Int64, FormatFreq/FormatFreqSV Mhz var Int64 (Mhz*1000000 overflowed) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -88,7 +88,7 @@ type
|
||||
FCtx: TCATContext;
|
||||
FLock: TCriticalSection;
|
||||
|
||||
function Pad(V, W: Integer): string;
|
||||
function Pad(V: Int64; W: Integer): string;
|
||||
function FreqToStr(Hz: Double): string;
|
||||
function StrToFreq(const S: string): Double;
|
||||
function ModeToK(M: Integer): Integer;
|
||||
@@ -311,7 +311,7 @@ begin if B then Result := '1' else Result := '0'; end;
|
||||
|
||||
{ ── Helpers ──────────────────────────────────────────────────────────────── }
|
||||
|
||||
function TCATEngine.Pad(V, W: Integer): string;
|
||||
function TCATEngine.Pad(V: Int64; W: Integer): string;
|
||||
begin
|
||||
Result := IntToStr(Abs(V));
|
||||
while Length(Result) < W do Result := '0' + Result;
|
||||
|
||||
Reference in New Issue
Block a user