Существует несколько способов конвертировать целое число в класс AnsiString. Обычно для этого используется функция IntToStr. Но класс AnsiString умеет конвертировать числа «на лету» при сложении строки с числом. Правда здесь нужно быть осторожным. Рассмотрим небольшой пример:
AnsiString str = "a = "; unsigned char a = 53; str += a;
В результате его работы в переменной str окажется строка «a = 53». Обратите внимание: мы не вызываем функцию IntToStr. Класс AnsiString сам конвертирует число в строку. Теперь взглянем на пример ниже:
AnsiString str = "a = "; char a = 53; str += a;
Мы изменили тип переменной a с unsigned char на char. Что это меняет? Оказывается очень много. Теперь в переменной str оказывается не «a = 53», а «a = 5». Почему? Дело в том, что тип char интерпретируется не как число 53, а как ASCII символ с кодом 53. А это символ ‘5’.