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

Константное значение widestring   Найти похожие ветки 

 
Суслик ©   (2004-09-28 12:34) [0]

Добрый день.

Все знают, что можно задавать константные значения для AnsiString в виде
var
  s: AnsiString;
begin
  s := #$AA#$FE#$13;
end;


Задавать константные значения для WideString мне раньше не приходилось. Мне казалось очевидным, что это можно сделать так
var
  ws: WideString;
begin
  ws := #$0102#$0304;
end;

Но как показал cpu в этом случае фактически происходит такое присвоение
ws := #$0002#$0004;
т.е. старший байт игнорируется.

При этом присвоение ровно одного символа
ws := #$0447;
исправно работает (в примере будет какой-то русский символ)

Из положения можно выйти так
ws := WideString(#$0102) + WideString(#$0304);

Но это же ерунда какая-то? Должен быть способ простого задания константного значения для WideString.

Вопрос. Как задать константное значение для WideString длиной более одного символа?


 
Игорь Шевченко ©   (2004-09-28 12:51) [1]


> Как задать константное значение для WideString длиной более
> одного символа?


Боюсь, что никак. Впрочем, буду рад узнать, что ошибся.

Я бы попробовал поэкспериментировать с const A: array[0..xx] of WideChar = (WideChar($0102), ...) и т.д.
или WideChar($0102)+WideChar($0103)...


 
Суслик ©   (2004-09-28 13:00) [2]


>  [1] Игорь Шевченко ©   (28.09.04 12:51)
Боюсь, что никак

Спасибо.
У меня после поиска по штатной доке, в Тайкстере и в сети сложилось такое же ощущение.

Мне вообще это нужно для написания теста экспорта в файл формата BIFF8 для Excel. В тесте я могу обойтись и без WideString - буду просто передавать открытый массив word.

ЗЫ.

Странно, что это не сделано...


 
DiamondShark ©   (2004-09-28 13:01) [3]

Похоже, таки, глючок-с...

так работает

const
 pw: array[0..2] of WideChar = (#$0447, #$0448, #0);
var
 W: WideString;
begin
 W := pw;
 ...

Но муторно.


 
Суслик ©   (2004-09-28 13:06) [4]


>  [3] DiamondShark ©   (28.09.04 13:01)

Вряд ли глючокс.
Я смотрел на 6 и на 7 дельфи. Везде одинаково.


 
DiamondShark ©   (2004-09-28 13:12) [5]


> Суслик ©   (28.09.04 13:06) [4]

Я тебя обрадую: я смотрел на 5. Так что всё ещё более одинаково ;)

Этакий кочующий глючок-с.



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.025 c
1-1096282504
M-Alex
2004-09-27 14:55
2004.10.10
Панель


3-1094814451
nick-from
2004-09-10 15:07
2004.10.10
Помогите пожалуйста составить запрос


1-1096266185
samumka
2004-09-27 10:23
2004.10.10
События в TDBGrid ?


14-1095818337
Думкин
2004-09-22 05:58
2004.10.10
С днем рождения! 22 сентября


1-1095765434
demidoff
2004-09-21 15:17
2004.10.10
Простой вопрос новичка про указатели




   Наверх