Zum Inhalt

AcarsCreateMessagePage (IPage)

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

Beschreibung

ACARS CREATE MESSAGE Seite -- scrollbares Zeilenarray zum Erstellen einer Freitext-ACARS-Nachricht. Bietet 8 Textzeilen auf 2 Seiten (4 Zeilen pro Seite). Leere Zeilen werden als cyan Klammer-Platzhalter dargestellt. L1-L4 uebernehmen Text aus dem Scratchpad in die jeweilige Zeilenposition. R5 sendet die Nachricht als "FREE TEXT" ueber den AcarsActor und setzt alle Zeilen zurueck. L6 kehrt zum ACARS 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 (Texteingabe), SendAcarsMessage fuer R5, NavigateTo(AcarsMainIndex) fuer L6, NoOp sonst

Ablaufdiagramm

flowchart TD
    A[Start Render] --> B[LISTCLEAR]
    B --> C["Row 01: UTC-Zeit + CREATE MSG + P/T"]
    C --> D{4 Zeilen pro Seite}
    D -->|Zeile leer| E["Cyan Platzhalter ~b 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.AcarsCreateMessage 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 "FREE TEXT"-Nachricht mit zusammengefuegtem Body
NavigateTo Konstruktor L6 -> AcarsMainIndex

Beispiel

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

' Text eingeben (Scratchpad muss gefuellt sein):
Dim cmd = page.HandleLsk(McduLskKey.L1, ctx) ' -> ClearScratchpad (Text in Zeile 0)
' Nachricht senden:
Dim cmd2 = page.HandleLsk(McduLskKey.R5, ctx) ' -> SendAcarsMessage("FREE TEXT", "", body)

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation