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 |