Показать сообщение отдельно
Старый 23.10.2007, 18:03   #3
CrVik
Новичок
 
Пол:Мужской
Регистрация: 12.10.2007
Сообщений: 15
Репутация: 10
По умолчанию Ответ: Файловые потоки, нужна помощь...

Цитата:
Сообщение от Mechanist Посмотреть сообщение
Так а зачем ты делаешь создание потока файла в цикле?! Вынеси его за цикл и пиши сколько хочешь записей!

Да вроде все я разобрался как сделать, вот код:
Код:
dm.ADOTable.First;
FS:=TFileStream.Create( 'File.doc', fmCreate);
while not dm.ADOTable.Eof do
  begin
    BlobStream := TADOBlobStream.Create(TBlobField(dm.ADOTable.FieldByName('RTFText')), bmRead);
    BlobStream.Seek(0, soFromBeginning);
    FS.Seek(0, soFromEnd);
    FS.WriteBuffer(BlobStream.Memory^, BlobStream.Size);
FS.WriteBuffer(Buf[1], Length(Buf));
    dm.ADOTable.Next;
  end;
Но если потом открыть этот созданный файл в ворде то он покажет всего лишь одну запись - первую так как при выводе в файл каждая запись содержит заголовок RTF формата:
Код:
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset204 MS Sans Serif;}{\f1\fswiss\fcharset0 Tahoma;}{\f2\fnil MS Sans Serif;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\f0\fs24\'ee\'e1\'fa\'ff\'e2\'e0 2 \'e8\'e2\'e0\'ed\'ee\'e2\'e0\lang1033\f1 dgfg\lang1049\f2 
\par }
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fcharset0 Tahoma;}{\f1\fnil MS Sans Serif;}}
{\colortbl ;\red255\green0\blue0;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang1033\f0\fs24 werwe rwe rq rqwe rqwe rw r\cf2\lang1049\f1 
\par }
Вообщем нужно наверное как то подругому сохранять в файл, наверное придеться пробывать через OLE, вот только не знаю останется ли форматирование текста как изначально в набрано в RichEdit?

Последний раз редактировалось CrVik; 23.10.2007 в 18:16..
CrVik вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02063 секунды с 10 запросами