Witam,
mam taki problem z RichEdit przechodzę z Delphi 2007 na XE2, potem może wyżej teraz mam taką wersje i to jest dla mnie wyzwanie techniczne.
Chętnie zapytam się Was o podpowiedź, mam jakieś przemyślenia na ten temat ale może ten temat jest wam lepiej znany.
W aplikacji D2007 wprowadzam tekst do RichEdit i zapisuje w bazie:
//zapisuje do MemoryStream
ms := TMemoryStream.Create;
RichEdit1.Lines.SaveToStream(ms);
i jako insertuje do bazy ms sql.
W bazie wygląda to tak - przykładowy fragment z kolumny:
<ort>{\rtf1\fbidis\ansi\ansicpg1250\deff0\deflang1045{\fonttbl{\f0\froman\fprq2\fcharset238{*\fname Times New Roman;}Times New Roman CE;}{\f1\fswiss\fprq2\fcharset238 Calibri;}{\f2\fnil Tahoma;}}
\viewkind4\uc1\pard\ltrpar\lang1024\b\f0\fs22 P4219 32 C00 AL 2 EU TAB LH/RH (nowy projekt) MFA - wykonalne z propozycj'b9
\par \ul\b0 SOP:\lang1045\f1 \lang1024\strike\f0 2015-10-01\strike0 2016-05-01 Volume: 163.000 rok EOP : 01.11.2021 Tkaniny: NC 031 PP 8.2015
\par PSW - BRAK
\par
\par \ulnone 2015-07-27 - PPAP zaplanowany na 2015-08-07
\par 03.08.2015 Wyci'eate, PPAP w toku. Odp.
\par 10.08.2015 PPAP wys'b3any odp.
\par 17.08.2015 PSW brak odp.
\par 24.08.2015/31.08.2015/07.09.2015 PSW brak odp.
\par \tab Zam'f3wienia seryjne od 07.09.2015 odp.
\par 14.09.2015 PSW Brak - odp. A.D'b9
\par Do wyja'9cnienia zam'f3wienia odp
\par 28.09.2015 PSW Dost'eapne odp. A.D'b9d
\par Brak zam'f3wie'f1 seryjnych odp. R.Ko
\par 05.10.2015/12.10.2015/26.10.2015/02.11.2015/09.1 /23.11.2015/30.11.2015 Brak zam'f3wie'f1 odp.
\par 14.12.2015/21.12.2015 Zam'f3wienia od stycze'f1 2016 odp. R.Kopcik
\par 11.01.2016/18.01.2016/25.01.2016/01.02.2016/08.02.2016/15.02.2016/29.02.2016 Brak zam'f3wie'f1 odp. .
\par Info z Jest ju'bf indeks E00.
\par \pard\ltrpar\lang1045\f2\fs16
\par }
</ort>
Potem odczytuje te dane, funkcją load z bazy
ms:= TMemoryStream.Create;
ms.Clear;
ms.Write (PAnsiChar(rtfString)^, Length(rtfString));
ms.Position:= 0;
RichEdit1.PlainText:= False;
RichEdit1.Lines.LoadFromStream(ms);
i jest ok, ładnie się wyświetla, trzyma format wprowadzonego tekstu.
Niestety po zmianie na DelphiXE2 odczyt z bazy jest niepoprawny, jakby kody znaków zostały pozmieniane.
w okienku Richtext mam niesformatowany tekst:
{\rtf1\fbidis\ansi\ansicpg1250\deff0\defla ng1045{\fonttbl{\f0\froman\fprq2\fcharset2 38{\*\fname Times New Roman;}Times New Roman CE;}{\f1\fswiss\fprq2 \fcharset238 Calibri ;}{\f2\fnil Tahoma;}} \viewkind4\uc1\pard\ltrpar\lang1024\b\f0\ fs22 P4219331C00/P4219332 C00 ALFA 952 EU TAB LH/RH (nowy projekt) MFA - wykonalne z propozyc j\'b9 \par \ul \b0 SOP:\lang1045\f1 \lang1024 \strike\f0 2015-10-01\strike0 2016-05-01 Volume: 163.000 rok EOP : 01.11.2021 T kaniny: NCV 99040 07.0
Droga Redakcjo i Czytelnicy! co robić?
Pozdrawia
Piotr