В общих чертах все это сводится к тому что оператор CASE неможет оперировать строковыми типами
Кстати можно попробовать еще так:
Код:
Var a : integer;
Begin
a := StrToInt(copy(edit1.Text,1,1));
Case a of
1 : label1.Caption:='Один';
Else label1.Caption:='Неизвестное человечеству число';
End;
End;