Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

тип символа [D5, Win2k]


vvv ©   (2004-10-28 11:35:00) 

Приветствую!
Подскажите пожайлуста как определить тип символа (буква или цифра),т.е. есть ли Функции определения типа символов.
Ведь в тупую описывать все символы клавы не хочется.
Спосибо.


Sandman25   (2004-10-28 12:42:00) [1]

[7] MBo ©   (28.10.04 12:40)

Зато структурнее.


MBo   (2004-10-28 12:40:00) [2]

IsCharAlpha(Numeric) - но использовать это ИМХО бессмыссленно, in быстрее.


Sandman25   (2004-10-28 12:31:00) [3]

[5] vvv ©   (28.10.04 12:25)

TCharType = (ctDigit, ctDelimiter, ctEnglishLetter, ctUnknown);

function GetCharType(const C: Char): TCharType;
begin
 case C of
  '0'..'9':
    Result := ctDigit;
  'a'..'z','A'..'Z':
    Result := ctEnglishLetter;
  ' ','.',',',':':
    Result := ctDelimiter;
 else
   Result := ctUnknown;
 end;
end;


vvv   (2004-10-28 12:25:00) [4]

Спосибо кто ответил.
Но еще раз: есть ли Функцииопределения типа символов.
Например в PHP есть

ctype_digit - проверяет наличие цифр.
Описание
bool ctype_digit (string text)
Возвращает TRUE, если каждый символ в text является десятеричной цифрой, FALSE в ином случае.


begin...end   (2004-10-28 11:41:00) [5]

var
 Ch: Char;

begin
 if Ord(Ch) in [80..89] then
   // Это цифра
 else
   // Это не цифра, но и необязательно буква
end.


Лучше, действительно, [3].


Pentium133   (2004-10-28 11:37:00) [6]

Попробуй сделать StrToInt.
Если возникнет исключение значит буква.


begin...end   (2004-10-28 11:37:00) [7]

Определяем код символа (функция Ord) и проверяем, есть ли код в множестве кодов цифр, например.


NewDelpher   (2004-10-28 11:37:00) [8]

if C in ['0'..'9'] then цифра else буква


Наверх

Титульная страница Поиск, карта сайта Написать письмо