Zum Inhalt

SearchNavaidPage (IPage)

Eigenschaft Wert
Modul Mcdu/Pages
Klasse SearchNavaidPage
Typ IPage Implementation
Sichtbarkeit Public
Datei Mcdu/Pages/NavSearchPages.vb

Beschreibung

NAVAID Suchseite — durchsucht die Navigationsdatenbank nach Navaids (VOR, NDB, ILS, DME etc.) anhand eines 2-8-stelligen Idents. State A: amber Eingabefeld. State B: zeigt Ident, CLASS, FREQ, LAT/LONG. Bei ILS-Typen werden zusaetzlich RWY IDENT, CATEGORY und COURSE angezeigt. Navigation wie SearchWptPage: L1 sucht/loescht, R5 vorig, R1-R4 naechst, R6 SAVE/INSERT, L6 zu InitA. Portiert aus VB6 CreateSEARCHNavaid.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Kontextdaten (NavSearchNavaidResults, NavSearchNavaidActiveIndex)
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die gerenderten ARINC-429-Bildschirmdaten

HandleLsk

Public Function HandleLsk(key As McduLskKey, ctx As McduContext) As McduCommand Implements IPage.HandleLsk
Name Typ Beschreibung Standard
key McduLskKey Gedrueckte LSK-Taste
ctx McduContext MCDU-Kontextdaten

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand MultiCommand bei L1 mit Eingabe, NavSearchNavaidPrev/Next bei R5/R1-R4, NavigateTo(NewWpt) oder InsertWaypoint bei R6

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR senden]
    B --> C[Titel NAVAID]
    C --> D{Ergebnisse vorhanden?}
    D -- Nein --> E[State A: IDENT Eingabefeld amber]
    D -- Ja --> F[State B: Ident blau + CLASS]
    F --> G{ILS-Typ?}
    G -- Ja --> H[RWY IDENT / CATEGORY / COURSE]
    G -- Nein --> I[LAT/LONG + FREQ]
    H --> J[R5: PREV / R6: SAVE oder INSERT]
    I --> J
    E --> K[ParseAndRender]
    J --> K
    K --> L[Ende]

Aufgerufen von

Modul Sub/Function Kontext
McduActor RenderActivePage Seitenrendering bei aktivem PageType.SearchNavaid

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Kommandoliste in Bildschirmpuffer rendern
SearchWptPage.FormatLatLon (Friend Shared) Koordinaten formatieren
MapNavaidClass (Private Shared) Navaid-Typ-Code in Anzeigestring umwandeln
FormatFreq (Private Shared) Frequenz fuer VOR/NDB/ILS formatieren

Beispiel

Dim page As New SearchNavaidPage()
page.Render(ctx, buffer)

' Scratchpad "FRA" eingeben, L1 druecken → Navaid-Suche
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx)
' cmd ist MultiCommand(ClearNavSearchNavaidResults, RequestNavSearch("FRA", "NAVAID"))

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation