Thread View: pl.comp.lang.delphi
3 messages
3 total messages
Started by jh
Thu, 16 Jun 2016 23:44
RichEdit - problem z interlinia - zapis i odczyt
Author: jh
Date: Thu, 16 Jun 2016 23:44
Date: Thu, 16 Jun 2016 23:44
28 lines
2089 bytes
2089 bytes
Devexowy wrapper dla RichEdit - zarówno w wersji db-aware jak i zwykłej. Klient wpisuje tekst do kontrolki "ręcznie", lub wkleja go po skopiowaniu ze strony www. Następnie dla całej zawartości ustawia określony format - czcionka, wielkość, justowanie, kolory etc. oraz, co najważniejsze podwójną interlinię. Z grubsza w kodzie: cxRichEdit.SelectAll; cxRichEdit.Paragraph2.Alignment := pfaJustify; cxRichEdit.SelAttributes2.Size := 18; cxRichEdit.SelAttributes2.Name := 'Courier New'; cxRichEdit.Paragraph2.LineSpacingRule := pfsrDouble; cxRichEdit.SelLength := 10; cxRichEdit.SelAttributes.Style := [fsBold]; Zawartość jest zapisywana w BLOBie (nvarchar(max)), Unicode w bazie. W aplikacji we właściwościach StreamModes również jest zaznaczony Unicode. Dla części tekstów wpisanych ręcznie w zasadzie działa wszystko poprawnie. Natomiast regułą jest, że tekst wklejony z jakiejś strony www po zapisie i wczytaniu gubi formatowanie interlinii. Dokładnie tak samo jest przy zapisie do pliku ze zwykłej (non db-aware) kontrolki, a potem wczytaniu tego pliku (RTF). Da się to jakoś poprawić, żeby formatowanie interlinii działało poprawnie - ale zawsze? jh
Re: RichEdit - problem z interlinia - zapis i odczyt
Author: wloochacz
Date: Sat, 18 Jun 2016 13:38
Date: Sat, 18 Jun 2016 13:38
11 lines
1305 bytes
1305 bytes
W dniu 2016-06-17 o 01:44, jh pisze: > Zawartość jest zapisywana w BLOBie (nvarchar(max)), Unicode w bazie. W > aplikacji we właściwościach StreamModes również jest zaznaczony Unicode. To nie jest BLOB. IMO, powinieneś użyć do tego typu VARBINARY... PS. I raczej na pewno to nie rozwiąże Twoojego problemu. -- wloochacz
Re: RichEdit - problem z interlinia - zapis i odczyt
Author: jh
Date: Sat, 18 Jun 2016 16:35
Date: Sat, 18 Jun 2016 16:35
19 lines
1749 bytes
1749 bytes
W dniu 2016-06-18 o 15:38, wloochacz pisze: > W dniu 2016-06-17 o 01:44, jh pisze: >> Zawartość jest zapisywana w BLOBie (nvarchar(max)), Unicode w bazie. W >> aplikacji we właściwościach StreamModes również jest zaznaczony Unicode. > To nie jest BLOB. Czepiasz się :P > I raczej na pewno to nie rozwiąże Twoojego problemu. Dodanie LineSpacing niewiele pomaga, bo można tylko całkowite wartości (nie ma interlinii 1.5). Poza tym, jeśli nawet już zapisze, to wystarczy pojedyncze kliknięcie w tekst i ten automagicznie traci tę interlinię. Skopiowanie i wklejenie do Wordpada wykrzacza tego ostatniego. Ech, gdyby tak DevExy skończyły już tego swojego TcxRichEditControl (nadal brakuje API, żeby chociaż cokolwiek edytować tekst z poziomu kodu). jh
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads