|
Вопрос # 2 374/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Перешел на Delphi 2009 появилась ошибка:
Implicit string cast with potential data loss from 'string' to 'AnsiString'
Как мне преобразовать AnsiString в String ??
Знаю что появился новый класс TEncoding. Если эту операцию можно сделать с помощью этого класс приведите пример.
 |
Вопрос задал: Zlodey (статус: Посетитель)
Вопрос отправлен: 1 февраля 2009, 18:59
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 8 февраля 2009, 13:33; участников в обсуждении: 4.
|
Паровоз (статус: 10-ый класс), 2 февраля 2009, 23:12 [#1]:
"Implicit string cast with potential data loss from 'string' to 'AnsiString'"
"Как мне преобразовать AnsiString в String ??"
Так все же что Вам надо преобразовать 'string' to 'AnsiString' или AnsiString в String?
|
|
Dron (статус: Студент), 3 февраля 2009, 00:12 [#2]:
Всё верно компилятор говорит. String - это WideString, а AnsiString "меньше" WideString. Поэтому такое преобразование может потерять некоторые символы.
Str: String;
PAnsiChar(PChar(Str));
С уважением.
|
|
Zlodey (статус: Посетитель), 5 февраля 2009, 20:31 [#3]:
У меня приходит из com порта ответ в Ansi кодировке мне нужно его перевести в unicode. что бы не переделывать всю программу.
Можно общаться с модемом AT командами в кодировке unicode ?
|
|
Вадим К (статус: Академик), 5 февраля 2009, 23:38 [#4]:
Врядли, модемы часто общаются вообще в своей кодировке.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Zlodey (статус: Посетитель), 6 февраля 2009, 19:11 [#5]:
как преобразовать из AnsiString в string ? что бы компилятор не выдавал ошибку описанной выше.
|
|
Паровоз (статус: 10-ый класс), 8 февраля 2009, 11:35 [#6]:
Компилятор выдает сообщение не на преобразование AnsiString в string, а обратно. Dron же все растолковал. String состоит из двухбайтовых символов, а AnsiString из однобайтовых. Поэтому при таком преобразовании возможна потеря данных, о чем компилятор и должен предупредить. А так, вообще, эти типы совместимы по присваиванию. Можете почитать об этом в
http://dn.codegear.com/ru/article/38582
|
|
Zlodey (статус: Посетитель), 8 февраля 2009, 13:33 [#7]:
За ссылку спасибо!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|