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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2010, 16:19   #1
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию Картинка и текст в одном поле таблицы

Коллеги, привет.
Жена "припахала" написать ей программку для создания БД кулинарных рецептов с возможностью вставки картинок внутрь форматированного текста.

Я могу добавлять картинки в RichEdit (наподобие, как в Word-e), а вот с сохранением всего этого в БД как-то не приходилось сталкиваться. При обычном сохранении в blob-поле сохраняется только текст.

При добавлении картинки в RichEdit использую функцию
Код:
// Convert Bitmap to RTF Code 
function BitmapToRTF(pict: TBitmap): string;
var
   bi, bb, rtf: string;
   bis, bbs: Cardinal;
   achar: ShortString;
   hexpict: string;
   I: Integer;
 begin
   GetDIBSizes(pict.Handle, bis, bbs);
   SetLength(bi, bis);
   SetLength(bb, bbs);
   GetDIB(pict.Handle, pict.Palette, PChar(bi)^, PChar(bb)^);
   rtf := '{\rtf1 {\pict\dibitmap ';
   SetLength(hexpict, (Length(bb) + Length(bi)) * 2);
   I := 2;
   for bis := 1 to Length(bi) do
   begin
     achar := Format('%x', [Integer(bi[bis])]);
     if Length(achar) = 1 then
       achar := '0' + achar;
     hexpict[I - 1] := achar[1];
     hexpict[I] := achar[2];
     Inc(I, 2);
   end;
   for bbs := 1 to Length(bb) do
   begin
     achar := Format('%x', [Integer(bb[bbs])]);
     if Length(achar) = 1 then
       achar := '0' + achar;
     hexpict[I - 1] := achar[1];
     hexpict[I] := achar[2];
     Inc(I, 2);
   end;
   rtf := rtf + hexpict + ' }}';
   Result := rtf;
 end;
Если в RichEdit-е только картинка, то все сохраняется нормально:
Код:
Culinar.Edit;
CulinarDescription.Value:= BitmapToRTF(MyBitmap);
Culinar.Post;
А как сохранить в blob-поле сразу и картинки и текст?
(Ведь текст нужно записывать в неизменном виде, а картинки конвертировать в RTF).
Сорри, если непонятно написал.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранить картинку и текст в одном файле 856100 Общие вопросы Delphi 15 31.08.2009 13:48
Данные из двух полей исх. таблицы в одно поле сводной таблицы Strelec79 Microsoft Office Excel 2 02.08.2009 13:59
Как узнать какой текст выделен в текст поле mogul82 JavaScript, Ajax 2 02.11.2008 16:32
картинка в поле ввода. terminadoor HTML и CSS 2 10.07.2008 16:51
Текст + картинка Killbrum Помощь студентам 13 26.05.2008 22:33