Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Проблемы с экспортом в Ворд из парадоксовской таблицы   Найти похожие ветки 

 
Fuelfire   (2004-03-11 13:00) [0]

Здравствуйте! Столкнулся с проблемой, которую пока решить не могу..
Для большей вместимости текста в RichEdit прописываю следующий код:
procedure TForm1.FormActivate(Sender: TObject);
begin
ForFind.Text:="";
RichEdit1.Perform(EM_LIMITTEXT, 1000000000, 0);

При экспорте в Ворд переносится не всё значение поля, а фрагмент.. Предоставляю часть процедуры экспорта:

procedure TForm7.WordExp(Sender: TObject);
begin
  O:=CreateOleObject("Word.Application");
  O.DisplayAlerts:=false;
  O.Visible:=False;
  O.Documents.Add;
  O.ActiveDocument.AutoHyphenation := True;
  O.ActiveDocument.HyphenateCaps := True;
  O.ActiveDocument.ConsecutiveHyphensLimit := 0;
  O.Selection.ParagraphFormat.Alignment := 0;
  O.Selection.TypeParagraph;
  O.Selection.Font.Bold := True;
  O.Selection.Font.Size := 16;
  O.Selection.TypeParagraph;
  O.Selection.TypeText(DBRichEdit1.Text);

Свойство Text типа TCaption, у него также есть ограничения на длину...Как можно корректно экспортировать данные?


 
V-A-V ©   (2004-03-11 13:31) [1]

Если ты используешь TDBRichEdit и он привязан к какому-то конкретному полю таблицы БД, то проще наверное написать так:
...
O.Selection.TypeText(DataSet.FieldByName("MyField").As...);
...


 
Fuelfire   (2004-03-11 13:57) [2]

Если так передавать данные в Ворд, тогда с кодировкой проблемы.. В файлик выдается следующее (rtf):
{\rtf1\ansi\ansicpg1251\deff0\deftab720{\fonttbl{\f0\fnil MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fcharset1 MS Sans Serif;}{\f3\froman\fprq2\fcharset204{\*\fname Times New Roman;}Times New Roman Cyr;}{\f4\froman\fprq2 Times New Roman;}}


 
V-A-V ©   (2004-03-11 14:18) [3]

Я так понял, что тебе надо из базы отобразить текст в Ворде.
Тогда могу посоветовать тебе хранить в базе сам Вордовский документ в Blob поле и при надобности сохранять его из Blob поля на диске, а затем если надо после закрытия Ворда можно его из файла опять в базенку спрятать...


 
Fuelfire   (2004-03-11 14:42) [4]

Кстати, если использовать FieldByName, то при экспорте берется значение из поля первой записи, что абсолютно не есть гуд...
Мне бы узнать как налету при экспорте сохранить файл в нужном формате... Сейчас в полях хранятся текстовые данные в виде rtf-кода...Хотя прога в полях их отображает нормально..
После экспорта копирую rtf-код, создаю файл, вставляю этот код, сохраняю с расширением rtf - при открытии я вижу свои данные на нормальном русском языке..


 
V-A-V ©   (2004-03-11 15:04) [5]

>Кстати, если использовать FieldByName, то при экспорте берется значение из поля первой записи, что абсолютно не есть гуд...

Сначало нужно встать на нужную запись в таблице а затем получать значение поля...

>Мне бы узнать как налету при экспорте сохранить файл в нужном формате...

Если твои данные хранятся в Blob поле, то можно их сохранить в файле вот так:
DataSet.FieldByName("BlobField").SaveToFile("MyFile.rtf");
А затем загрузить его в Ворд.
Если поле типа String, то можно сначала запихать текст из поля
в переменную типа TStringList, а затем его методом сохранить в файл с расширением rtf, либо воспользоватся методом DBRichEdit.Lines.SaveToFile("MyFile.rtf");



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
7-1075486427
Шишкин Илья
2004-01-30 21:13
2004.04.11
Реально ли перехватить чтение/запись дискеты?


14-1082558962
Frozzen
2004-04-21 18:49
2004.04.11
Объявление процедуры


14-1082008008
Style
2004-04-15 09:46
2004.04.11
Как делать чтобы public property сохранялось в DFM?


4-1079071348
KME
2004-03-12 09:02
2004.04.11
МЕНЮ НА WINAPI


1-1082562482
Ivolg
2004-04-21 19:48
2004.04.11
Изобоажение