Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: TEdit и тип AnsiString
Показать сообщение отдельно
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


AnsiString - это притянутая за уши паскалевская строка (они начинаются с единицы). В конце есть '\0', в этом можно убедиться, посмотрев исходник AnsiString::c_str(); Таким образом, есть 2 варианта:
Код: Выделить весь код
AnsiString str=Edit1->text;

// паскалевский или C++ вариант:

unsigned a=1, b=str.length();
for(; a<=b && isdigit(str[a]); ++a) {}
if (a<=b) throw Exception("error: invalid user with curly hands");

// вариант C:
char* base=str.c_str();
while(*base && isdigit(*base++)) {}
if (*base) throw Exception("error: invalid user with curly hands");

Отправлено: 12:16, 31-01-2006 | #2

Название темы: TEdit и тип AnsiString