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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 21:13   #1
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию Перевести текст из sRichedit в БД.

Всем привет. Уже долго ломаю голову, как перевести текст из Srichedit (Компонент Альфа контрол) например в двоичный код и сохранить в БД. Рисунок делал так, и обратно из базы в имэйдж загонял, все без проблем было.
Прошу, пожалуйста покажите код, как строку загнать в базу данных, и обратно из базы вытащить в Srichedit.

===
Забыл указать, использую ADO. БД Access
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics

Последний раз редактировалось grom333; 18.12.2011 в 21:20.
grom333 вне форума Ответить с цитированием
Старый 18.12.2011, 21:27   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Один из вариантов на примере RichEdit
Код:
{В базу}
TMemoField(Query1.FieldByName('MyMemoField')).Assign(RichEdit.Lines);
{Из базы}
s: TMemoryStream;
...
s:=TMemoryStream.Create;
TMemoField(Query1.FieldByName('MyMemoField')).SaveToStream(s);
RichEdit.Lines.LoadFromStream(s);
s.Free;
ADD
Возможно перед LoadFromStream прийдется вставить s.Position:=0;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 18.12.2011 в 21:46.
Аватар вне форума Ответить с цитированием
Старый 18.12.2011, 21:48   #3
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Один из вариантов на примере RichEdit
Код:
{В базу}
TMemoField(Query1.FieldByName('MyMemoField')).Assign(RichEdit.Lines);
{Из базы}
s: TMemorySteam;
...
s:=TMemorySteam.Create;
TMemoField(Query1.FieldByName('MyMemoField')).SaveToStream(s);
RichEdit.Lines.LoadFromStream(s);
s.Free;
Да, там разобрался, спасибо. Но что-то реакции нет. Запись по видимому происходит, потому что базу открываю там запись такого вида
Код:
TXT2
"{\rtf1\fbidis\ansi\ansicpg1251\deff0\deflang1049\deflangfe1049\deftab708{\fonttbl{\f0\froman\fprq2\fcharset204{\*\fname Times New Roman;}Times New Roman CYR;}}
\viewkind4\uc1\pard\ltrpar\lang1033\f0\fs24 Fcujuyufyuyrudtyutdy \super e\sub h\nosupersub 
\par Tdyutyutryutryu
\par Tyutyutyutyu
\par Tyutyutyutyutyu
\par Rstydrty
\par Rty
\par Rty
\par Rt
\par Yr
\par Ty
\par rt
\par }
"
Но выводить не хочет, почему-то.
P.S. Плюс позже, уже Вам ставил, не позволяет более.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 18.12.2011, 21:55   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вставте перед LoadFromStream s.Position:=0;
При чтении из стреам читается с текущей позиции, и если метод записи в стреам после себя в ноль позицию не переводит, то возможны такие глюки
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.12.2011, 22:09   #5
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Наверное, все зря... Я же только из-за формул это делал... Не хочет их поддерживать
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 18.12.2011, 22:42   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Используйте RxRichEdit или RichView. Они умеют это делать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.12.2011, 19:12   #7
alexiz
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от grom333 Посмотреть сообщение
Да, там разобрался, спасибо. Но что-то реакции нет. Запись по видимому происходит, потому что базу открываю там запись такого вида..
Все правильно. В БД уходит текст в RTF виде. Если Вам нужен простой текст, переключите Plaintext у Richedita.
Ваша благодарность может быть материальной:
WM R103871054215, WM Z710411027344, ЯндД: 410011167596676
alexiz вне форума Ответить с цитированием
Старый 21.12.2011, 19:22   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Все правильно. В БД уходит текст в RTF виде. Если Вам нужен простой текст, переключите Plaintext у Richedita
При чем здесь это. ТС хочет формулы отображать, подготовленные в Word-е. Ему rtf как раз и нужен. Только используенмый компонент не может с формулами работать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.12.2011, 23:31   #9
alexiz
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
При чем здесь это..
Сорри, не разобрался.
Ваша благодарность может быть материальной:
WM R103871054215, WM Z710411027344, ЯндД: 410011167596676
alexiz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести текст в UTF8 Bright-rider Общие вопросы Delphi 8 01.09.2011 16:34
Перевести текст с бортового компа Volt Свободное общение 4 08.09.2010 20:06
C#:Перевести текст в Unicode Gogent Помощь студентам 6 15.07.2010 15:02
Перевести текст marinchik Свободное общение 15 02.07.2008 11:40
как перевести дату в текст zetrix Microsoft Office Excel 0 31.10.2006 07:37