Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: 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 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
4-1093780326
Endi
2004-08-29 15:52
2004.10.10
Task Scheduler


1-1096118944
cv
2004-09-25 17:29
2004.10.10
клавиатура код итд


1-1095919782
Arnold
2004-09-23 10:09
2004.10.10
Надо сменить владельца компонента


14-1094701395
Sirus
2004-09-09 07:43
2004.10.10
Что такое контрольная сумма файлов???


14-1095494946
Новенький
2004-09-18 12:09
2004.10.10
Подскажите,где мона скачать Turbo Pascal for Win?