TMemo Vista alatt

1 view
Skip to first unread message

Info.StaTOR

unread,
Jul 16, 2008, 12:37:56 PM7/16/08
to !!C BUILDER
Szevasztok!

(XP alatt fejlesztek C++ Buider 2006-tal. A programnak XP és Vista alatt
kell futnia.)


1.
a., Már az XP alatt sem voltam teljesen kibékülve a TMemo-val:
(A TMemo-ba PasteFromClipboard()-dal kerül szöveg, előtte
Lines->Clear();)

Ha WordWrap true, akkor a TMemo ablakban rendesen eltöri a sorokat. Ezek
az eltörések nem lesznek benne a Lines->Strings[Index].c_str() -ben,
ezek csak az olvashatóság miatt látszanak.

Az a szövegrész kerül új String-be, amelyikben szerepel sorvége jel,
vagy
!!!! amelyik szövegrész eléri az 1024 karakter hosszt. !!!!
Itt eltöri, akár szó közben is (vagyis a következő indexű String-be
kerül a szöveg folytatása). Ezt a határt - legjobb tudomásom szerint -
nem lehet állítani.
Mivel a szöveg további feldolgozásra kerül, nem mindegy hogy el van-e
törve, vagy sem. Itt ezt ki tudtam védeni azzal, hogy - miközben egy
char tömbbe átmásoltam a String.c_str()-eket - az 1024 hosszú sorokhoz
hozzácsaptam a következőt, akár többet is, amíg 1024 hosszúak voltak,
majd amikor jött egy 1024-nél rövidebb sor, akkor azt még hozzámásoltam
és visszakaptam az eredeti szöveget.

b., Vista alatt jóval rövidebb darabokra töri, de itt már két szó között
töri el a sort. Az algoritmus ismeretlen, így egyelőre nem tudom
reprodukálni az eredeti szöveget.

A kérdésem: van-e másnak is hasonló jellegű problémája, talált-e rá
megoldást?

2.
Debuggolással megnézni Vista alatt nem tudom, mert oda nem telepítettem
a CBuilder-t.
Valaki mintha már írt volna Vista alatti CBuilder 2006 telepítésről,
talán azt írta, hogy a help-et nem tudta használni.

A kérdésem: telepítette-e valaki a C++ Builder 2006-ot Vista alá, és
lehet-e vele dolgozni?

3.
a., Vista alatt teljesen ökör módra jelenik meg a TMemo-ban lévő szöveg:
A sor végi írásjelek a sor elején látszanak, néha a sor elején egy
későbbi szöveg van, a szöveg valódi eleje a sor közepén látszik. A
Home/End-re a valódi szöveg elejére/végére megy a kurzor, nem a látszó
sor elejére/végére.

Erre már semmilyen tippem nincs, más komponenst kellene használni, vagy
a megjelenítést saját rutinnal megoldani....

Hasonlót tapasztaltatok? Mi lehet a megoldás?

A segítő válaszokat előre is köszönöm.

Cap

Nagy Zoltán

unread,
Jul 16, 2008, 1:52:59 PM7/16/08
to bcb...@googlegroups.com

Szia,

Használd a SynEdit komponenst a Memo helyett.

http://sourceforge.net/projects/synedit/

De a kódot a CVS repóból töltsd le, mert a "stabil" 2.0.6 verzióban van
egy csúnya frissítési hiba, paste után nem mindig rajzol újra és
szétesik a képernyőn a látvány.


> !!!! amelyik szövegrész eléri az 1024 karakter hosszt. !!!!


A SynEdit-ben is biztos van limit, nem tudom mennyi, de abban ezt
szabadon módosíthatod, végső esetben akár a forráskódjában.


> A kérdésem: telepítette-e valaki a C++ Builder 2006-ot Vista alá, és
> lehet-e vele dolgozni?


Felteszed, meg hozzá az összes update-et, és elvileg működik.

Z.

Reply all
Reply to author
Forward
0 new messages