Hola,
Creo que ayudaría también escribir de otra forma. Es decir, esto:
Código Delphi
[-]
type
TState = (Teditar, Tinsertar, Tborrrar, Tver);
TStates = set of TState;
Suele escribirse así:
Código Delphi
[-]
type
TState = (sEditar, sInsertar, sBorrrar, sVer);
TStates = set of TState;
Es decir, limitamos las "T" para los tipos, propiamente dichos. Los elementos del conjunto del tipo "TState", en este caso, se inician en minúsculas con la primera letra del tipo en cuestión.
Código Delphi
[-]
type
TCityState = (ceEditar, ceInsertar, ceBorrrar, ceVer);
TCityStates = set of TState;
En este caso cada elemento del conjunto comenzaría con las dos primeras letras de cada palabra contenida en el nombre del tipo "TCityState". No es que quiera talibanizar al respecto, pero, definitivamente algo así sería cuando menos confuso para mí:
Código Delphi
[-]
type
TState = (Teditar, Tinsertar, Tborrrar, Tver);
TStates = set of TState;
¿Cómo saber si "Teditar" es un tipo de clase (por ejemplo...) o un elemento de un conjunto del tipo "TState"? Tal como está arriba ya es algo confuso, aunque todavía queda medio claro, pero, utilizando estos identificadores entre el código fuente que sea menester... aún se complicaría más su significado.