Zitat:
Vermutlich nicht relevant, aber der Form halber: StrToUIntDef
Du hast natürlich Recht, vielen Dank für den Hinweis.
Zitat:
Result := AName.Remove(0, AValue.ToString.Length + 1).TrimLeft.Trim(['(', ')']);
Eleganter Ansatz, aber funktioniert so leider nicht, weil die Funktion zum Beispiel "20290 (IBM EBCDIC - Japanisch (erweitertes Katakana))" liefert. Dann macht er hinten beide Klammern weg. Ich werde meinen Code aber an der Stelle aber noch ein bisschen smarter machen.
Zitat:
Sollte die EnumCodePagesProc nicht ein BOOL als Rückgabewert haben?
Ja, ist mir auch schon aufgefallen, habe ich korrigiert. -> Müssen wir uns nicht darüber streiten
Zitat:
Für reine "statischen" Klassen verwende ich inzwischen auch stattdessen gern Records.
Absolut, auf dem Trichter war ich auch schon. Erübrigt sich dann nicht auch die Frage um die Compiler-Warnung wenn jemand eine Instanz erstellt?
Da muss ich noch einmal darüber nachdenken, beziehungsweise ausprobieren was da möglich oder sinnvoll ist.
Ich feile noch ein bisschen an der Klasse und werde diese in Kürze als Teil einer größeren Bibliothek auf GitHub veröffentlichen. Sobald die Bibliothek veröffentlich ist, werde ich diese hier auch noch einmal verlinken, falls jemand nach einer CodepageListe basierend auf EnumSystemCodePages sucht.