|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.07.2009, 22:24 | #1 |
Регистрация: 14.07.2009
Сообщений: 4
|
Преобразование String в OleVariant
Имеется:
var S : String; V : OleVariant; S := 'd:\Путь\Мой файл.docx'; V := S; Результат: V содержит не указанный текст, а некие кракозябры. Все это нужно для сохранения средствами OLE файла Word под этим именем. К сожалению, продукты от Microsoft не принимают параметров никакого типа, кроме OleVariant. Спасибо за помощь. |
15.07.2009, 08:18 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Во-первых: Просто передавай переменную S в метод сохранения.
Во-вторых: Код:
Код:
I'm learning to live...
|
15.07.2009, 08:42 | #3 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Опередили .
Последний раз редактировалось Alter; 15.07.2009 в 08:56. |
15.07.2009, 09:28 | #4 |
Регистрация: 14.07.2009
Сообщений: 4
|
Спасибо за советы, но они проблему не решили.
V := OleVariant(S); Результат тот же, что и при простом присваивании V := 'd:\Путь\Мой файл.docx'; Не катит, т.к. в действительности эта строка формируется программно, при этом используются данные из базы, которые по определению String. В DelphiWorld и в других популярных справочниках ответа я тоже не нашел. Неужели я первый наткнулся на такую ситуацию? |
15.07.2009, 09:44 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код в студию.
I'm learning to live...
|
|
15.07.2009, 11:58 | #6 |
Регистрация: 14.07.2009
Сообщений: 4
|
Вот код поподробнее.
var S : String; V : OleVariant; S := 'D:\' + FieldbyName('Path').AsString + '\' + FieldByName('FNam').AsString; V := S; WordApplication.ActiveDocument.Save As(V, EmptyParam, EmptyParam, ,,,,, и т.д. Кракозябры возникают в строке V := S; Можно сразу объявить S как OleVariant. Тогда кракозябры появятся уже в предыдущей строке S := ... Мне ясно, что проблема в кириллице, неясно как ее решить. В процедуру WordApplication.SaveAs нельзя передавать никаких переменных, кроме OleVariant. |
15.07.2009, 12:14 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Не знаю как у тебя но у меня нормательно работает такое:
Код:
I'm learning to live...
|
15.07.2009, 12:50 | #8 |
Регистрация: 14.07.2009
Сообщений: 4
|
|
15.07.2009, 13:09 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
ТОлько что попробовал:
Код:
Word 2003
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразование int в String^ в С++ | Mixasik | Помощь студентам | 1 | 21.06.2009 18:57 |
Преобразование матриц | bpystep | Помощь студентам | 8 | 23.03.2009 12:54 |
как переделать график в OleVariant ? | Влажимир | Общие вопросы Delphi | 1 | 14.04.2008 19:18 |
Преобразование... | prizrak1390 | Общие вопросы Delphi | 2 | 02.04.2008 11:24 |
Сконвертировать Olevariant (Unicode) в string | Sashunya | Общие вопросы Delphi | 8 | 08.09.2007 00:49 |