Zum Inhalt

AcarsCreateCompanyMsgPage (IPage)

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

Beschreibung

ACARS CREATE COMPANY MESSAGE Seite -- scrollbares Zeilenarray zum Erstellen einer Company-Nachricht. Identische Struktur wie AcarsCreateMessagePage, aber mit eigenem Zeilenarray fuer firmenspezifische Nachrichten. Titel: "CREATE CMP MSG P/T". 8 Textzeilen auf 2 Seiten (4 pro Seite), leere Zeilen als cyan Klammer-Platzhalter. L1-L4 uebernehmen Scratchpad-Text, R5 sendet als "COMPANY"-Nachricht, L6 kehrt zum Main Index zurueck.

Implementierte Methoden

Render

Public Sub Render(ctx As McduContext, buffer As Inet.Arinc429ScreenBuffer) Implements IPage.Render
Name Typ Beschreibung Standard
ctx McduContext MCDU-Kontext mit ZuluTimeHhmm --
buffer Inet.Arinc429ScreenBuffer Zielpuffer fuer die ARINC-429-Screenausgabe --

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-L4, R5, L6) --
ctx McduContext MCDU-Kontext mit Scratchpad-Inhalt --

Rueckgabewert (HandleLsk)

Typ Beschreibung
McduCommand ClearScratchpad fuer L1-L4, SendAcarsMessage("COMPANY") fuer R5, NavigateTo(AcarsMainIndex) fuer L6, NoOp sonst

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR]
    B --> C["Row 01: UTC-Zeit + CREATE CMP MSG + P/T"]
    C --> D{4 Zeilen pro Seite}
    D -->|Zeile leer| E["Cyan Platzhalter anzeigen"]
    D -->|Zeile gefuellt| F[Zeilentext anzeigen]
    E --> D
    F --> D
    D -->|Alle Zeilen| G["Row 11: SEND>"]
    G --> H["Row 13: RETURN"]
    H --> I[ParseAndRender]
    I --> J[Ende]

Aufgerufen von

Modul Sub/Function Kontext
McduActor Render-Dispatch Wenn McduPageType.AcarsCreateCompanyMsg aktiv ist

Ruft auf

Modul Sub/Function Kontext
McduCommandParser ParseAndRender Uebergibt die Befehlsliste an den Screen-Buffer
ClearScratchpad Konstruktor L1-L4 nach Texteingabe
SendAcarsMessage Konstruktor R5 sendet "COMPANY"-Nachricht mit zusammengefuegtem Body
NavigateTo Konstruktor L6 -> AcarsMainIndex

Beispiel

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

' Text eingeben:
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx) ' -> ClearScratchpad (Text in Zeile 0)
' Company-Nachricht senden:
Dim cmd2 = page.HandleLsk(McduLskKey.R5, ctx) ' -> SendAcarsMessage("COMPANY", "", body)

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation