Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2011, 19:17   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Поиск изображения в RichEdit

Добрый вечер! Возник вопрос: можно ли осуществить поиск изображения в RichEdit, выделить его и, например, скопировать куда-нибудь для дальнейших действий с изображением? В Интернете не нашел ничего, на форуме тоже.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.04.2011, 19:35   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

открываем rtf и ищем..

изображения в trf выгледят вот так
Код:
{\pict\wmetafile8\picwgoal2295\pichgoal2070 
0100090000037c67000000002d2c000000001610000026060f002220574d464301000000000001
0089740000000004000000002000008455000084750000010000006c0000000000000000000000
9800000089000000000000000000000081110000ca0f000020454d4600000100847500000c0000
00010000000000000000000000000000000005000000040000770100002c010000000000000000
000000000000d8b80500e0930400460000002c00000020000000454d462b014001001c00000010
0000000210c0db01000000600000006000000046000000901b0000841b0000454d462b22400400
0c000000000000001e4009000c00000000000000244001000c0000000000000030400200100000
00040000000000803f214007000c0000000000000008400005dc1a0000d01a00000210c0db0100
00000000000000000000000000000000000001000000ffd8ffe000104a46494600010101006000
600000ffdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d
1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb00430109
09090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232
323232323232323232323232323232323232323232323232ffc0001108008a0099030122000211
01031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc4
00b5100002010303020403050504040000017d0102030004110512213141061351610722711432
8191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a4344
45464748494a535455565758595a636465666768696a737475767778797a838485868788898a92

{ИЗОБРАЖЕНИЕ В БИНАРНОМ ВИДЕ}
}
Человек_Борща вне форума Ответить с цитированием
Старый 22.04.2011, 19:50   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

И что? И как это именно может помочь? Предположим, что у меня есть текстовый документ с одним изображением. Как тогда его искать? Я конечно могу удалит все слова и символы из текста, чтобы в файле осталось только изображение. Но, сдается мне, что это долго будет работать.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.04.2011, 01:56   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
Pos("{\pict",..)
Зачем удалять? Не вижу вообще логики.
p51x вне форума Ответить с цитированием
Старый 23.04.2011, 05:34   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ок. Загрузил файлик с изображением в RxRichEdit, картинка нормально загрузилась. Выполняю поиск картинки кодом:
Код:
procedure TForm3.Button1Click(Sender: TObject);
begin
 ShowMessage(IntToStr(Pos('{\pict',Form3.RxRichEdit1.Text)));
end;
В сообщении возвращается "0". Как бы сделать, чтобы найденная картинка как-то выделялась чтоли?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.04.2011, 09:39   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

думаю, свойство text у почти любого компонента (а оно объявлено аж в Tcontrol, хотя rx не смотрел) не содержит тех же данных, что и сам rtf-файл, поэтому искать, полагаю, надо вручную, загружая rtf нетипизированным файлом(file of byte, tfilestream) и пробегаясь от начала до конца в поисках {\pict ну и считывая все данные до закрывающего тега (описываю в лоб, хотя, может, есть что-то поудобнее)
phomm вне форума Ответить с цитированием
Старый 23.04.2011, 09:45   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нарядли из RichEdit удастся выудить графику. Похоже только по методу предложенному phomm c преобразованием в двоичный формат
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск текста в RichEdit Kozlopiton Общие вопросы Delphi 4 29.01.2011 19:52
Поиск в RichEdit j0di Общие вопросы Delphi 3 12.09.2010 09:18
Вставка изображения с RichEdit в RichEdit Sensizu Компоненты Delphi 2 01.10.2009 18:11
Поиск слова в RichEdit vinimixer Общие вопросы Delphi 1 05.11.2008 00:17
поиск в RichEdit mauar Общие вопросы Delphi 2 05.05.2008 14:36