Und das nachdem man jahr(zehnt)elang geübt hat, möglichst schlanken und übersichtlichen Code zu schreiben ^^
Ich will dir ja den Tag nicht verderben, aber das ist auf jeden Fall schlanker.
Wegen der Übersichtlichkeit (und im Hinblick auf Geschwindigkeit) würde ich das ganze sogar noch ganz anders angehen.
Delphi-Quellcode:
var
LEncodings: TStringList;
lEncoding: TEncoding;
begin
LEncodings := TStringList.Create;
try
for lEncoding in TArray<TEncoding>.Create(TEncoding.ANSI, TEncoding.ASCII, TEncoding.BigEndianUnicode, TEncoding.Unicode, TEncoding.UTF7, TEncoding.UTF8) do
LEncodings.AddObject(lEncoding.EncodingName, lEncoding);
TOpenTextFileDialog(Sender).Encodings.Assign(LEncodings);
finally
LEncodings.Free();
end;
end;