Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.005 c
6-1252927401
Дмитрий Белькевич
2009-09-14 15:23
2012.03.04
Можно ли как-то узнать, какое приложение фильтрует порт?


1-1287596219
MAcKZloy
2010-10-20 21:36
2012.03.04
XmlDocument и теги


6-1252514641
ramin
2009-09-09 20:44
2012.03.04
Хочу узнать имена компьютеров в локальной сети


15-1321278885
KilkennyCat
2011-11-14 17:54
2012.03.04
Хочешь заработать?


15-1321206964
SQLEX
2011-11-13 21:56
2012.03.04
продолжение про java. Осталось чуть-чуть, не подскажите?




   Наверх