Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];
ВнизAnsiString to String в DelphiXE Найти похожие ветки
← →
AlekVolsk (2011-04-12 23:37) [0]Голова опухла настолько, что уже не соображаю, казалось бы, элементарное: как в DelphiXE тупо сконверировать из AnsiString в обычный String, который в DelphiXE в Unicode? B какой Unicode принят в DelphiXE по умолчанию: utf-8, utf-16 или какой-либо другой?
← →
Palladin © (2011-04-12 23:41) [1]а приравнять не пробовал?
← →
Eraser © (2011-04-12 23:48) [2]http://edn.embarcadero.com/article/38446
http://edn.embarcadero.com/article/38582
http://edn.embarcadero.com/article/38703
← →
AlekVolsk (2011-04-12 23:51) [3]А не прокатывает, когда Edit.Text передаешь как AnsiString-параметр в функцию, равно как и присваиваешь полю результат функции в AnsiString. Казалось бы, проще функцию переписать, но таких несколько тысяч, а сроки поджимают...
← →
AlekVolsk (2011-04-13 00:08) [4]Если я понял правильно, то вместо AnsiString я должен использовать либо CirillicString либо AnsiString(1251) и все будет хорошо, или я не прав?
Eraser, премного благодарен за ссылки, многое встало на свои места.
← →
Anatoly Podgoretsky © (2011-04-13 09:01) [5]> AlekVolsk (13.04.2011 00:08:04) [4]
Если локализация совпадает, то кодировку можно не указывать, но лучше это делать всегда.
← →
Ega23 © (2011-04-13 10:21) [6]
var
as: AnsiString;
us: string;
begin
as := "Bla-bla-bla";
us := string(as);
us := "foo";
as := AnsiString(us);
end;
← →
AlekVolsk (2011-04-13 12:36) [7]
type
CirillicString = type AnsiString(1251);
var
s: CirillicString;
begin
s := edit1.Text;
end;
Компилятор пишет: Implicit string cast with potential data loss from "TCaption" to "CirillicString", т.е. неявный строковый бросок с потенциальной потерей данных от "TCaption" до "CirillicString". В каких случаях возможна потеря данных из CirillicString и как этого избежать?
Если откровенно туплю - извиняйте, 40 часов уже изза компа не выхожу
← →
clickmaker © (2011-04-13 12:41) [8]> В каких случаях возможна потеря данных из CirillicString
> и как этого избежать?
При преобразовании из Unicode в локальную кодировку, когда в целевой кодировке нет символов исходной.
← →
AlekVolsk (2011-04-13 13:08) [9]соответственно, если в edit1.text только символы алфавита (лат/рус), знаки препинания и цифры, при полном отсутствии каких-либо управляющих символов типа табуляции, то все будет ок. или я не прав?
Но в любом случае, хотелось бы как-то избавиться от предупреждения компилятора, это возможно в данном частном случае? да - как, нет - почему?
← →
clickmaker © (2011-04-13 13:19) [10]> при полном отсутствии каких-либо управляющих символов типа
> табуляции
управляющие символы имеют код < 32, они не зависят от кодировки
← →
Ega23 © (2011-04-13 13:26) [11]
> это возможно в данном частном случае? да - как, нет - почему?
Да.
Как - я уже написал.
← →
AlekVolsk (2011-04-13 13:49) [12]Все получилось.
Всем премного благодарен!
Приношу всем свои извинения за возможно потраченное на меня время и нервы.
← →
AlekVolsk (2011-04-13 14:04) [13]Блин, во всей группе проектов на 2 exe и 16 dll общей численностью более 40 тысяч строк при переходе с D2006 на DXE править пришлось менее 30 строк кода! А пока догнал, что к чему, 2 недели времени и нервов угробил!
Еще раз всем откликнувшимся огромное спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c