Не работает Edit->Text.Trim();
При выходе из Edit пытаюсь удалить все пробелы через Edit->Text.Trim(). Однако пробелы не удаляются. Компилятор никаких ошибок не выдает. В чем дело? В 4 все работало Ok.
Edit->Text = Edit->Text.Trim();
Цитата:
Originally posted by SEDEGOFF
Edit->Text = Edit->Text.Trim();
Edit->Text = Edit->Text.Trim();
Маленький оффтопик:
Кто-нибудь знает, ПОЧЕМУ программисты из Борланд решили что функции_-_члены_классов должны возвращать обработанное значение, вместо того чтобы изменять значение в своем объекте?
Т.е. ПОЧЕМУ они решили что правильнее
Edit->Text = Edit->Text.Trim();
а не
Edit->Text.Trim(); ?
Цитата:
Originally posted by SLA
Маленький оффтопик:
Кто-нибудь знает, ПОЧЕМУ программисты из Борланд решили что функции_-_члены_классов должны возвращать обработанное значение, вместо того чтобы изменять значение в своем объекте?
Т.е. ПОЧЕМУ они решили что правильнее
Edit->Text = Edit->Text.Trim();
а не
Edit->Text.Trim(); ?
Маленький оффтопик:
Кто-нибудь знает, ПОЧЕМУ программисты из Борланд решили что функции_-_члены_классов должны возвращать обработанное значение, вместо того чтобы изменять значение в своем объекте?
Т.е. ПОЧЕМУ они решили что правильнее
Edit->Text = Edit->Text.Trim();
а не
Edit->Text.Trim(); ?
Потому что свойства (properties) на самом деле не обладают полноценной семантикой ссылок. Properties являются "прививкой" на здоровом теле С++, а по существу это (как правило) функции возвращающие (как правило) значение, поэтому ими пользоваться хоть и удобно (условно), но следует соблюдать определённые правила - белое не надевать, обтягивающее не носить и так далее, хе-хе.
и по этому
Edit->Text.Trim();
Модифицирует возвращаемое значение