Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Unicod ы не идут в Word [D5, Win2k]


Orxan ©   (2006-08-24 17:05:00) 

Помогите пожалуйста как правильно нужно данные из полей ,которые содержат юникоды, записывать в Word.


procedure x;
var Q:TOracleQuery;
begin
  ......
    Q.SQL.TExt:='SELECT a FROM table';
    Q.Execute;
    wordapp.Selection.InsertAfter(Q.FieldAsString('a'));
  ......
end;


Но в данномслучае печатаетса знак '?'

Способо.


Orxan   (2006-08-28 13:26:00) [1]

С вордом все ясно.
Вся проблема в TOracleQuery. сразу после активизирования запроса смотрю какой тип у поля, он автоматически присваивает ему стринг. Я просмотрел весь список типов у TOracleQuery но типа WideString среди них нет.

Можно ли использовать блоб поле?


Anatoly Podgoretsky   (2006-08-28 12:56:00) [2]

Ворд работает только с Юникод, а WideString это и есть Юникод строка в чистом виде.


Orxan   (2006-08-28 09:33:00) [3]

У компонента TOracleQuery нет FieldByName.А есть конкретно  FieldAsString, FieldAsFloat, и т.д. . Я понимаю. это уже не юникод.
Можно получить тип Variant. Но как дальше им пользоватся, чтобы ничего не терять, не знаю.

А ворд принимает тип WideString. Поэтому вручную, скажем #399 превосходно печатается в ворд.


Anatoly Podgoretsky   (2006-08-25 15:09:00) [4]

Я не знаю, что такое FieldAsString, зато есть как минимум FieldByName.Value
Но причем тут все это ShowMessage это уже не Юникод, со всеми вытекающими последствиями.

Это отностистся и к передаче в Ворд не Юникод строк, что будет одному богу известно.

TOracleQuery не использую, поэтому все возможности не известны. Если в нем информация о типе поля например?


Orxan   (2006-08-25 11:36:00) [5]

// AsString это не Юникод
Я понимаю, что не юникод. Но типа WideStringу компонента TOracleQuery не существует. Есть тип Variant
Q.Field('a')
, и в этом случае печатается знак '?'.


palva   (2006-08-25 08:35:00) [6]

Покажет содержимое колонки "a". YurikGL хочет выяснить кодировку в которой база возвращает строку.


Anatoly Podgoretsky   (2006-08-24 22:21:00) [7]

"а" покажет и что?


YurikGL   (2006-08-24 21:27:00) [8]

   Q.SQL.TExt:='SELECT a FROM table';
   Q.Execute;
   ShowMessage(Q.FieldAsString('a'));
//что показывает?


Anatoly Podgoretsky   (2006-08-24 20:59:00) [9]

AsString это не Юникод


Наверх

Титульная страница Поиск, карта сайта Написать письмо