Ich würde da eher zu soetwas tendieren:
Delphi-Quellcode:
Ext := ExtractFileExt(FileName);
if AnsiIndexText(Ext, ['.pas', '.dpr']) > -1 then
GetDoc.Code.Highlighter := SynPas
else if AnsiIndexText(Ext, ['.c', '.cpp']) > -1 then
GetDoc.Code.Highlighter := SynCpp;
Ist jetzt zwar nicht ganz entsprechend deinem Code, aber das kannst Du sicher anpassen.
AnsiIndexText ist in der
Unit StrUtils enthalten und hat hier noch den Vorteil, daß es zwischen Groß- und Kleinschreibung nicht unterscheidet.
Mit case ist es zwar noch kompakter, aber man muß schon ziemlich aufpassen, daß man beim Zählen nicht durcheinander kommt.