Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Casting (Integer)


Автор: GriKo 17.10.2003, 00:37
Только поставил Буилдера и уже трабла...

Код
Edit1->Text = Integer(Edit1->Text) + 1;


И нифига не пашет. Говорит что кастинг из АнсиСтринга в Интеджер недоступен. Чо творить?

Автор: TaTaP 17.10.2003, 02:21
можно так:
Код
Edit1->Text = StrToInt(Edit1->Text)+1;

Только учти, что если в Edit1 не число, то выбрасывается исключение. Можно также воспользоваться функцией StrToIntDef(const System::AnsiString S, int Default) которая в случае нечислового значения в строке S возвращает Default...

Автор: Ars 17.10.2003, 09:48
или так:
Код
Edit1->Text = Edit1->Text.ToInt()+1;

Если содержимое Edit1->Text нельзя конвертнуть - будет исключение
А так вместо исключения будет возвращено дефолтовое значение (0 в данном случае)
Код
Edit1->Text = Edit1->Text.ToIntDef(0)+1;


Автор: GriKo 17.10.2003, 13:11
Пасибо... Как раз это и надо было, хотя я думал что StrtoInt() в С++ нету...
Исчо вопросик: почему я немогу просмотреть в Эдите или у меня Таймер Энейблэд?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)