Сохранение форматированного текста в FireBird
Есть такая задача: Необходимо скопировав текст в MS Word, вставить его в текстовое поле (предположительно RichEdit) в программе и нажва кнопку сделать запись в БД. После этого так же выводить этот текст из БД в форматированном виде.
Сейчас, текст вставляется в RichEdit в нормальном виде, со стилями, но в БД сохраняет простой текст. Как его нормально заставить работать и вообще можно ли?
Спасибо!
RichEdit->PlainText=false;
RichEdit->Lines->SaveToStream(stream);
String rtf=stream.DataString;
rtf сохраняешь в базу, из базы чтение RichEdit->Lines->LoadFromStream
//както так вроде.
E2285 Could not find a match for 'TStringStream::TStringStream()'
А код в целом вот такой:
new TStringStream stream;
Memo1->PlainText=false;
Memo1->Lines->SaveToStream(stream);
String rtf=stream.DataString;
E2285 Could not find a match for 'TStringStream::TStringStream()'
во первых для строкового потока нет конструктора по умолчанию, arrjj допустил ошибку в своем коде. Читай справку - там вполне нормально и подробно этот вопрос освещен. Как впрочем и на форуме - неиспользование поиска и игнорирование клавиши Ф1 тут наказывается.
Во вторых - использовать в подобном случае строковый поток (TStringStream) - это нарываться на неприятности. Необходимо использовать TMemoryStream - ведь насколько я понимаю необходимо сохранять и форматирование текста в том числе.
В третьих - используй средства форматирования кода - это касается всех участников. Небрежное оформление сообщений наказывается.
В общем чуток разобрался, но конечного результата еще не достиг. Как только добьюсь чего нужно, отпишу тут.
Спасибо.
В общем вот уже совсем мизерный код:
RichEdit1->Lines->SaveToStream(mem);
взял его из примера. Но вот сразу выдает ошибку такую:
Почему 'mem' не определен, если он указан выше? Что-то не прописываю что ли или не так делаю?
Спасибо.
Не увидел такой.
[C++ Warning] Unit1.cpp(1296): W8018 Assigning unsigned long to TColor
[C++ Warning] Unit1.cpp(1305): W8018 Assigning unsigned long to TColor
[C++ Warning] Unit1.cpp(1813): W8070 Function should return a value
[C++ Warning] Unit1.cpp(2122): W8004 'Today' is assigned a value that is never used
[C++ Warning] Unit9.cpp(46): W8018 Assigning unsigned long to TColor
[C++ Warning] Unit9.cpp(830): W8018 Assigning unsigned long to TColor
[C++ Warning] Unit9.cpp(1111): W8018 Assigning unsigned long to TColor
[C++ Warning] Unit9.cpp(2130): W8004 'FB_ID1' is assigned a value that is never used
[C++ Warning] Unit26.cpp(6): W8058 Cannot create pre-compiled header: header incomplete
[C++ Warning] Unit26.cpp(2283): W8004 'mem' is assigned a value that is never used
[C++ Error] Unit26.cpp(2284): E2451 Undefined symbol 'mem'
[C++ Error] Unit26.cpp(2285): E2227 Extra parameter in call to _fastcall TStrings::LoadFromStream(TStream *)
[C++ Error] Unit26.cpp(2290): E2451 Undefined symbol 'kom_text_1'
[C++ Error] Unit26.cpp(2486): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2489): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2490): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2491): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2492): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2493): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2494): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2495): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2496): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2497): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2498): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2499): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2500): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2513): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2516): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2517): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2518): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2519): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2520): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2521): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2522): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2523): E2316 'Delete' is not a member of 'TDateTime'
[C++ Error] Unit26.cpp(2523): E2228 Too many error or warning messages
Проверяй код выше - скорей всего где-то допущена ошибка. Сам по себе этот фрагмент кода компилируется нормально.
очень вероятно что о проблеме свидетельствует
проверь настройки проекта, права доступа на дерикторию etc. Предупреждение свидетельствует о невозможности создать файл прекомпиляции - как бы может быть и ничего страшного - но хз.