NavaidQueryHandler.LookupWaypointById
| Eigenschaft |
Wert |
| Modul |
NavDb |
| Klasse |
NavaidQueryHandler |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
NavDb/NavaidQueryHandler.vb |
Beschreibung
Gibt den WaypointRecord fuer die angegebene interne Datenbank-ID zurueck. Diese Methode wird als Delegate (AddressOf LookupWaypointById) an den ProcedureQueryHandler uebergeben, um Waypoint-IDs bei der Airway-Expansion aufzuloesen, ohne eine direkte Kopplung zwischen den Handlern zu erzeugen. Gibt Nothing zurueck, falls die ID nicht existiert.
Signatur
Public Function LookupWaypointById(id As Integer) As WaypointRecord
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| id |
Integer |
Interne Datenbank-ID des Waypoints (Primaerschluessel der Waypoint-Tabelle) |
— |
Rückgabewert
| Typ |
Beschreibung |
| WaypointRecord |
Der gefundene Waypoint-Datensatz oder Nothing, falls die ID nicht existiert |
Ablaufdiagramm
flowchart TD
A[Start] --> B{_WaypointById.TryGetValue?}
B -- Ja --> C[Return wp]
B -- Nein --> D[Return Nothing]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| NavDb |
NavDbActor (Konstruktor) |
Als Delegate an ProcedureQueryHandler uebergeben: AddressOf _NavaidHandler.LookupWaypointById |
| NavDb |
ProcedureQueryHandler.LoadAirway |
Indirekter Aufruf ueber _WaypointLookup-Delegate zur Waypoint-Aufloesung bei Airway-Expansion |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| System.Collections.Generic |
Dictionary.TryGetValue |
O(1)-Lookup im vorgeladenen _WaypointById-Dictionary |
Beispiel
Dim handler As New NavaidQueryHandler("C:\NavData\ASTNAV.mdb", "C:\NavData\Userdata.mdb")
handler.PreloadAll()
' Waypoint ueber interne DB-ID aufloesen
Dim wp As WaypointRecord = handler.LookupWaypointById(5678)
If wp IsNot Nothing Then
Console.WriteLine($"Waypoint: {wp.Identifier}, Lat={wp.Latitude:F6}, Lon={wp.Longitude:F6}")
End If
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |