Estuve pensando ¿para que estar liandose tanto por una consulta o recorrido que SE SABE DE ANTEMANO QUE SIEMPRE ARROJARÁ LOS MISMOS RESULTADOS?
Si es realmente que sólo existen estas 4 condiciones y ninguna más. ¿Porque no simplemente se mantiene un array declarado en forma fija?
Código Delphi
[-]const
ARRAY_ELEMENTOS : TArray4elemtos = ('Metal', 'No Metal', 'Anfótero', 'Gas Noble');
type
TArray4elemtos: array[0..3] of string;
Si estoy confundido haganme saber.
EDITO: acabo de ver que Lepe también se había dado cuenta.
Saludos,