Zum Inhalt

InitBPage (IPage)

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

Beschreibung

INIT B Seite — Treibstoffvorhersage-Tabelle. Zeigt links die Treibstoffwerte (Taxi, Trip/Time, RTE RSV/%, ALTN/Time, Final/Time, Extra/Time) und rechts die Gewichtsdaten (ZFW/ZFWCG, Block, TOW, LW) an. Der Titel wechselt zwischen "INIT" (unvollstaendig) und "INIT FUEL PRED" (vollstaendig: ZFW>0, Block>0, CI>=0, CRZAlt>0). Unterstuetzt KG/LBS-Umrechnung ueber ctx.WeightUnit.

LSK-Aktionen: L1 Taxi-Treibstoff, L3 RTE RSV (Slash-Praefix = Prozent, ohne Slash = Gewicht), L5 Final Time (HHMM mit /-Praefix), R1 ZFWCG/ZFW (komplexe Slash-Eingabe), R2 Block Fuel, R6 Navigation zu INIT A.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Zustandskontext mit FuelTable, WeightUnit, CostIndex, CrzAltFt
buffer Inet.Arinc429ScreenBuffer ARINC-429-Bildschirmpuffer fuer die MCDU-Anzeige

HandleLsk

Public Function HandleLsk(key As McduLskKey, ctx As McduContext) As McduCommand Implements IPage.HandleLsk
Name Typ Beschreibung Standard
key McduLskKey Gedrueckte LSK-Taste (L1-L6, R1-R6)
ctx McduContext MCDU-Zustandskontext mit Scratchpad, WeightUnit, FuelTable

Rückgabewert (HandleLsk)

Typ Beschreibung
McduCommand Kommando-Objekt: SetTaxiFuel, SetFuelTableRteRsvPct, SetFuelTableRteRsvFuel, SetFuelTableFinalTime, SetZfwCgAndZfw, SetBlockFuel, NavigateTo oder NoOp

Ablaufdiagramm

flowchart TD
    A[Render Start] --> B[LISTCLEAR]
    B --> C{ZFW>0 AND Block>0 AND CI>=0 AND CRZAlt>0?}
    C -- Ja --> D[Titel: INIT FUEL PRED]
    C -- Nein --> E[Titel: INIT]
    D --> F[Linke Spalte: Taxi, Trip, RTE RSV, ALTN, Final, Extra]
    E --> F
    F --> G[Rechte Spalte: ZFW/ZFWCG, Block, TOW, LW]
    G --> H[KG/LBS Konvertierung je nach WeightUnit]
    H --> I[Manuell=gross, Berechnet=klein Schrift]
    I --> J[ParseAndRender]

    K[HandleLsk Start] --> L{Welche Taste?}
    L -- L1 --> M[Taxi Fuel: Numerisch, KG/LBS Konvertierung]
    L -- L3 --> N{Slash-Praefix?}
    N -- /xx --> O[SetFuelTableRteRsvPct]
    N -- xx --> P[SetFuelTableRteRsvFuel]
    L -- L5 --> Q[Final Time: /HHMM Format]
    L -- R1 --> R[ZFWCG/ZFW: CLR, /ZFW, CG, CG/ZFW]
    L -- R2 --> S[Block Fuel: CLR oder numerisch]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Seitennavigation Navigation von INIT A via Pfeil-Taste (rechter Pfeil in Titel)

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Render-Kommandos in Bildschirmpuffer schreiben
FormatFuelTonnes Private Methode Treibstoffwert als Tonnen-String formatieren (F1)
ParseDoubleInvariant Private Methode VB6 val()-Equivalent mit InvariantCulture

Beispiel

' InitBPage wird vom McduActor bei INIT B Navigation instanziiert
Dim page As New InitBPage()

' Render: Treibstofftabelle anzeigen
page.Render(ctx, screenBuffer)

' HandleLsk: ZFW/ZFWCG setzen (z.B. "25.0/62.5" im Scratchpad)
Dim cmd As McduCommand = page.HandleLsk(McduLskKey.R1, ctx)
' -> SetZfwCgAndZfw(zfwKg, cgVal, clearAll:=False, cgOnly:=False)

' HandleLsk: Block Fuel setzen (z.B. "15.5" im Scratchpad)
Dim blockCmd As McduCommand = page.HandleLsk(McduLskKey.R2, ctx)
' -> SetBlockFuel(blockKg, showDowngrad:=False)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation