Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Бредовае сохранение форматирования текста [D7, WinXP]


TBeginner ©   (2005-12-05 15:41:00) 

Здравствуйте!
Есть такая проблема:
пользуюсь функцией INSERT, то есть выделенную часть текста дублирую при помощи этой вот функ. всё отлично работает когда выделается либо строка либо что-то с одной строки (слово, к примеру) но вот когда выделяешь несколько строк, и вызываешь эту функ., то вместо выделенных, нескольких строк вставляется одна, и вместо перехода на следующую строку стаят два непонятных символа (два прямоугольника).

Как можно сохранить форматирование при использовании данной функции? Помогите если можно.


Digitman   (2005-12-06 16:32:00) [1]


> Нужно что бы оределённый текст был сначала выделенного текста
> и вконц


галиматья полная ..

ты двух слов связать не в состоянии ?

ведь тебе же шаблон для ответа дан в [18] !


TBeginner   (2005-12-06 13:28:00) [2]

Нужно что бы оределённый текст был сначала выделенного текста и вконце...


Leonid Troyanovsky   (2005-12-06 13:11:00) [3]


> TBeginner ©   (06.12.05 13:00) [17]
> А можно иначе решить эту проблу?


Опиши задачу просто, с использованием картинки.
Например, есть такое содержимое мемо

aaaa_аaaaaa
aaaaaaaaaa

Я хочу вставить в позицию помеченную символом _
(или иным образом определенную позицию) строки:

bbbb
bbbb
bbbb

чтобы получилось так:

aaaabbbb
bbbb
bbbbaaaaaa
aaaaaaaaaa

--
Regards, LVT.


TBeginner   (2005-12-06 13:00:00) [4]

А можно иначе решить эту проблу?


Leonid Troyanovsky   (2005-12-06 12:58:00) [5]


> TBeginner ©   (06.12.05 12:26) [15]
> и возник вопрос который я задал изночально


[12]  

--
Regards, LVT.


TBeginner   (2005-12-06 12:26:00) [6]

и возник вопрос который я задал изночально


Leonid Troyanovsky   (2005-12-06 11:30:00) [7]


> TBeginner ©   (06.12.05 11:21) [13]
> Этот компонент я взял с сайта: tmssoftware.com


И?

--
Regards, LVT.


TBeginner   (2005-12-06 11:21:00) [8]

Этот компонент я взял с сайта: tmssoftware.com


Leonid Troyanovsky   (2005-12-05 18:41:00) [9]


> TBeginner ©   (05.12.05 18:28) [11]
> Leonid Troyanovsky что-то не понятно?


В таких случаях некоторые рисуют свое мемо (TADVMemo - это мемо?)
до того, место вставки, и после того, а также, отдельно, что они хотели
вставить. Без затей, т.е., без всяких InsertComponent и функций.

--
Regards, LVT.


TBeginner   (2005-12-05 18:28:00) [10]

Leonid Troyanovskyчто-то не понятно? то есть процедура вызывает фун-ию с параметрами, а фун-ия вставляет в TADVMemo переработанный текст.


Leonid Troyanovsky   (2005-12-05 18:19:00) [11]


> han_malign ©   (05.12.05 18:02) [6]

> - TMemo это тот же TEdit, только с флагом multiline...


TMemo - это тот же TCustomEdit. Или, скажем, EDIT.
Т.е., намекал я именно на multline.


> А Lines.Insert - вставляет строку, при этом парсинга по


Про оный метод я представить себе мог, как и, например,
про процедуру Insert.

Однако, как я и предполагал, имелось ввиду нечто совсем другое - [4],
что уже никто представить себе не мог.

Посоветовать же автору мне в этом случае совсем нечего, бо я
сомневаюсь в том, что хоть чего-то понял в оной постановке.

--
Regards, LVT.


TBeginner   (2005-12-05 18:11:00) [12]

упсс, сорри, не сказал что используется TADVMemo...


han_malign   (2005-12-05 18:05:00) [13]


> memo.InsertTextAtXY

- это откуда такое чудо?


TBeginner   (2005-12-05 18:04:00) [14]


> a := strB;
> d := strE;
>
> И чего это ?


это переменные (глобальные)


han_malign   (2005-12-05 18:02:00) [15]


> не TEdit, а, скажем, TMemo или TRichEdit.

- TMemo это тот же TEdit, только с флагом multiline...

А Lines.Insert - вставляет строку, при этом парсинга по разделителям в отличие от CommaText, DelimitedText и Text не происходит.
Можно посоветовать использовать промежуточный TStringList(.Text:= CopyStr(Memo.Text, Memo.SelStart, Memo.SelLength)) и поэлементную вставку(но появится лишний перевод строки), или промежуточную строку:
str:= memo.Text;
Insert(CopyStr(str, Memo.SelStart, Memo.SelLength), str, SelStart + SelLength);
memo.Text:= str;


Jeer   (2005-12-05 17:54:00) [16]

a := strB;
d := strE;

И чего это ?


TBeginner   (2005-12-05 17:52:00) [17]


a := strB;
d := strE;

s:=strB+memo.Selection+strE;

memo.InsertTextAtXY(s,memo.CurX,memo.CurY);


вызов вышеизложенного:

InsertComponent(nil,'текст1','текст2');


Amoeba   (2005-12-05 17:35:00) [18]

Код в студию!


Tbeginner   (2005-12-05 17:19:00) [19]

В качестве приёмника и стоит TMemo...


Leonid Troyanovsky   (2005-12-05 15:55:00) [20]


> TBeginner ©   (05.12.05 15:41)  

> Как можно сохранить форматирование при использовании данной
> функции?


Собс-но, не могу представить, что это за функция,
но могу предложить использовать в качестве приемника не TEdit,
а, скажем, TMemo или TRichEdit.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо