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

Вниз

RXRichEdit вставка данных из нескольких файлов   Найти похожие ветки 

 
AntonioPermskiy ©   (2009-05-24 22:13) [0]

Здравствуйте, знатоки.

 Во всем инете не нашел внятного описания сабжа.
 Пока пользовался RXRichEdit.Lines.LoadFromFile - все было супер, но вот понадобилось добавлять в один RXRichEdit данные(в том числе и картинки) из разных файлов.

 Пока искал нашел RXRichEdit.Perform(EM_STREAMIN, SF_RTF or SFF_SELECTION,
longint(@t))
, но что-то не получается у меня в этои направлении.

 Спасибо за помощь.


 
KilkennyCat ©   (2009-05-24 22:19) [1]

В чем именно проблема? Вставить сразу из нескольких файлов, т.е. например, выделить в проводнике кучу картинок, и вставить? Или из одного файла, выделив в нем и текст и картинки?


 
AntonioPermskiy ©   (2009-05-24 22:32) [2]


> В чем именно проблема?

Описываю:
0. Запустил приложение, форма с RxRichEdit-ом и 3 Btn-ами(LoadFromFiles, SaveToFile_0, SaveToFile_1)
1. "Написал например "0" и вставил картинку_0" в RxRichEdit-е - сохранил в файл c:\0.myext
2. "Написал 1 и вставил другую картинку_1" в RxRichEdit-е - сохранил в файл c:\1.myext
3. Не знаю как реализовать LoadFromFiles - надо чтобы RxRichEdit отобразил
0 картинка_0
1 картинка_1
Метод RXRichEdit.Lines.LoadFromFile переписывает содержимое, а не добавляет его. Есть метод LoadFromStream, но я не знаю как в один поток скидывать содержимое нескольких файлов - да и стоит ли это делать.


 
KilkennyCat ©   (2009-05-25 01:42) [3]


> да и стоит ли это делать.

не стоит.

Упрощенно говоря, ты хочешь склеить два ртф?
Формат описан и доступен.
Например:
http://www.codenet.ru/progr/formt/rtf1.php


 
AntonioPermskiy ©   (2009-05-25 06:21) [4]


> Формат описан и доступен.


Хорошо, конечно. Но как это закодить?

Правиьно ли я понял - Вы предлагаете сначала создать файл-объединение файлов, а потом уже новый файл грузить в RxRichEdit?


 
KilkennyCat ©   (2009-05-25 09:15) [5]

Необязательно. Можно загрузить сначала один, а потом вставить в него часть второго.


 
AntonioPermskiy ©   (2009-05-25 10:39) [6]


> Можно загрузить сначала один, а потом вставить в него часть
> второго.


Загрузить первый - не проблема, что надо написать в коде далее для загрузки второго файла?
Уверен, здесь не более 5-и строк кода, но вот найти его не могу. Напишите, пожалуйста.
Спасибо.


 
KilkennyCat ©   (2009-05-25 10:59) [7]

Сам сделаешь.
Смотри:
открываем вордпад, создаем два файла. В одном пишем "Hello," В другом пишем "World!"
Открываем в блокноте.
Видим
{\rtf1\ansi\ansicpg1251\deff0\deflang1049\deflangfe1049\deftab709{\fonttbl {\f0\froman\fprq2\fcharset204{\*\fname Times New Roman;}Times New Roman CYR;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\nowidctlpar\f0\fs24 Hello,\lang1033\f1\par
}

и
{\rtf1\ansi\ansicpg1251\deff0\deflang1049\deflangfe1049\deftab709{\fonttbl {\f0\froman\fprq2\fcharset204{\*\fname Times New Roman;}Times New Roman CYR;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\nowidctlpar\f0\fs24 World!\lang1033\f1\par
}


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

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


 
AntonioPermskiy ©   (2009-05-25 12:08) [8]


> Но если не хочешь париться с нативной работой в ртф

Попарюсь. Спасибо за объяснение.


 
KilkennyCat ©   (2009-05-25 12:29) [9]


> AntonioPermskiy ©   (25.05.09 12:08) [8]

И для экспериментов используй вордпад или свой напиши (если создашь в офисном ворде - там такой мрак будет...). Возможно, в сети еще есть исходники EkRTF - богатый материал.



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
2-1243149942
fedor12345
2009-05-24 11:25
2009.07.19
Как реализовать вставку строку в StringGrid перед другой строкой


9-1179055650
Frol
2007-05-13 15:27
2009.07.19
Физика велосипеда


3-1224171584
AndriyB
2008-10-16 19:39
2009.07.19
Ошибка в ntdll.dll при закрытии рекордсета


2-1243271257
Надеждочка
2009-05-25 21:07
2009.07.19
чтение из файла заданной строки


2-1243146145
fedor12345
2009-05-24 10:22
2009.07.19
StringGrid