Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
3-1224171584
AndriyB
2008-10-16 19:39
2009.07.19
Ошибка в ntdll.dll при закрытии рекордсета


2-1243188812
AntonioPermskiy
2009-05-24 22:13
2009.07.19
RXRichEdit вставка данных из нескольких файлов


15-1242503724
TRSteep
2009-05-16 23:55
2009.07.19
ОКВЭД регистрация ИП


15-1242723637
cyber-pilot
2009-05-19 13:00
2009.07.19
Пересечение двух прямоугольников


15-1242645688
Василий Жогарев
2009-05-18 15:21
2009.07.19
ZEOSDBO-6.6.1-beta





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский