Нерозривний пробіл та заміна в тексті!

Братці! Всім доброго доби! Потрібна ваша допомога!

1. є певний текст (з переносами, абзацами та ін., тобто не однорядковий) 2. для тексту абсолютно не важливий стиль (жирний, курсив, розмір. - Це не треба) 3. у тексті треба у певних місцях замінити щось на такий символ як "нерозривний пробіл"

який код у символу нерозривної пробілу у делфі. що таке нерозривний пробіл я думаю зрозуміло =) У MS Word (при вкл. режимі прихованих символів він показується градусом), в OpenOffice - точкою (як простий пробіл) із затемненим тлом!

як взагалі це краще реалізувати не порадите? RichEdit або просто Memo. Не нагадайте, як там замінити рядок1 на рядок2. =)

а то я вже давно використовую str_replace.

Немає такого символу в Delphi та у стандартних кодуваннях. Можна Мемо, і відстежувати перенесення.

Це взагалі не символ - це вказівка ​​браузеру, що прогалину в цьому місці має бути обов'язково, просто прогалини браузер на смак особистому ігнорує зайві. А так код у нього 32, звісно. Це звичайна прогалина. Те, що у ворді він градусом позначається, при спробі скопіювати в Edit, а потім у Ворд стає звичайним пробілом.

Так. Ну тоді ситуація така:

1. беремо текст із будь-якого джерела 2. вставляємо в RICHEDIT 3. тиснемо кнопку - виконується скрипт із заміни в опр. місцях прогалин деякою ключовою послідовністю. 4. копіюємо цей текст 5. вставляємо у ворд і опенофіс і там робимо лише одну глобальну заміну, нашої ключової послідовності на нерозривну прогалину.

інших варіантів тепер я не бачу =) а ви. -)))

> mufan (03.11.07 12:18) [4]

Як було зазначено, символ " нерозривний прогалину " існує лише у всяких там " офісах " . Та й то не в усіх і лише в силу їхвласної інтерпретації, трохи більше.

У природі символ "нерозривний пробіл" у дикому вигляді не зустрічається. Але, як Ви правильно правильно помітили, ніщо не заважає програмі його визначити (звичайно, в її власній інтерпретації і не більше).

Тому Ваше рішення, в принципі, вірне, але його можна спростити:

1. Беремо текст із будь-якого джерела. 2. Вставляємо його в WORD. 3. Не тиснемо жодну кнопку, а відразу змушуємо Word виконати "скрипт із заміни в опр. місцях пробілів деякою ключовою послідовністю".

Причому навіть скрипт не потрібен. Word.Application з цим успішно впорається, оскільки Word - це COM-сервер.

А хіба # 160 не воно?

#160 - це лише символ, і не більше. Його інтерпретація залежить від програми. Word інтерпретує його, як нерозривний (при показі та друку) пробіл. Але Ви самі легко напишете таку програму, яка читає файл і в місцях появи символу #160 вставляє фото коханої дівчини. Не питання.

Це (про дівчину) зрозуміло і стосується будь-якого символу. Стандарні контроли TMemo і TRichEdit теж інтерпретують #160 як нерозривний пробіл, як і функція DrawText, так що нема чого винаходити велосипед.

HTML сторінки, 160 визначається як нерозривний пробіл.

> стосується будь-якого символу.

Я радий, що ми зрозуміли одне одного. І, звичайно, ми обоє чудово розуміємо, що замість фото можна вставити і #160. А можна вставити цей символ і одразу в текст. Не питання.

Спасибі за інформацію.

Я натякаю на те, що цей символ визначений саме як нерозривний пробіл, але будь-яка програма може на це начхати. Я навіть бачив (давно) шрифти або програми, де цей символ відображався не пробілом. Але якщо вибирати кандидата на цю роль, то цесаме те.