Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
ВнизD2010 string -> AnsiString Найти похожие ветки
← →
Dennis I. Komarov © (2011-11-25 10:23) [0]x: string;
function (y: AnsiString)....
y(AnsiString(x) - корректно?
← →
Palladin © (2011-11-25 10:40) [1]да
← →
И. Павел © (2011-11-25 10:42) [2]String — это псевдоним для UnicodeString.
Из справки:UnicodeString is assignment compatible with all other string types. However, assignments between AnsiString and UnicodeString do the appropriate up or down conversions. Note that assigning a UnicodeString type to an AnsiString type is not recommended and can result in data loss.
← →
Dennis I. Komarov © (2011-11-25 10:51) [3]пасиб, а то меня что-то смущало...
← →
И. Павел © (2011-11-25 10:57) [4]> пасиб, а то меня что-то смущало...
Продолжайте смущаться и дальше:procedure TForm1.Button1Click(Sender: TObject);
var s: string;
c: WideChar;
a: AnsiString;
begin
c := #1000;
s := "АБР" + c + "ВАЛГ";
a := s;
Caption := s + " : " + a;
end;
← →
Dennis I. Komarov © (2011-11-25 11:12) [5]
> И. Павел © (25.11.11 10:57) [4]
И что? Что меня тут должно смутить? :)
← →
И. Павел © (2011-11-25 11:42) [6]> И что? Что меня тут должно смутить? :)
Data Loss. А именно — кодировки.
← →
Dennis I. Komarov © (2011-11-25 11:52) [7]Не, тут как ничего смущающего - ясный перец, что в Ansi весь unicode не засунешь...
← →
Ega23 © (2011-11-25 11:56) [8]
wString: string;
aString: AnsiString;
wString := string(aString);
aString := AnsiString(wString);
← →
И. Павел © (2011-11-25 12:07) [9]> [7] Dennis I. Komarov © (25.11.11 11:52)
> Не, тут как ничего смущающего — ясный перец, что в Ansi
> весь unicode не засунешь...
А я думал, что именно об этом был вопрос.
Потому что с потерей данных можно преобразовать что угодно во что угодно.
← →
Anatoly Podgoretsky © (2011-11-25 12:07) [10]> Ega23 (25.11.2011 11:56:08) [8]
Теперь осталось выкинуть приведение
← →
Ega23 © (2011-11-25 12:34) [11]
> Теперь осталось выкинуть приведение
Можно. Но тогда отключить warnings W1058, W1057, W1059, W1060 etc. :)
← →
Anatoly Podgoretsky © (2011-11-25 12:39) [12]> Ega23 (25.11.2011 12:34:11) [11]
Ну так бы и писал, что это с целью ...
← →
Dennis I. Komarov © (2011-11-28 11:47) [13]
x: AnsiString
StrToInt(x)
StrToInt(string(x))
1. Имеем предупреждение ... AnsiStr -> string
2. Имеем лишнюю операцию приведение
При условии, что в x получаем целое число (в строке, десятичном формате и т.п.) как корректно?
З.Ы. [11] не учитываем... :)
← →
Anatoly Podgoretsky © (2011-11-28 11:59) [14]Не лишнею, а явную и не приведение, а преобразования
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c