Руслан Пархуць писал(а):
для прикладу, бо колись теж це довго шукав
Ну та, з цими символами ASCII зразу би не зрозумів, що до чого. Не так просто це все зібрати до купи після внесення змін. Дякую, Руслан. Справді завдяки Вам зекономив багато часу.
До речі, експерементуючи з ASCII (все ж таки було цікаво чому саме char(10) та char(13)), я вирішив іншу задачу.
Вона полягала в тому, що в таблицях не можливо було поставити знак табуляції на початках абзацу, бо знак Tab (char(9)) тут є чомусь роздільником колонок в таблиці.
Тому на початку абзаців замість знаку табуляції завжди ставив декілька пробілів під ряд. І все б добре, але при такому способі не можливо було вирівняти текст по дві сторони, бо ці пробіли тоді згразу з'їдало.
А методом експериментів з символами ASCII виявив, що можна замість знаків табуляції ставити char(2)
Для того, щоб поставити такі символи на початках абзаців потрібно просто поставити подвійні пробіли, потім виділити текстові блоки, які треба вирівнювати по дві сторони і запустити цей скрипт:
Код:
$c2=@Calc char(2)
$c2=@DequoteText $c2
$NS=0
%Start
$NS=@Map.NextSelected $NS
@if $NS=0 then @Break
$Text=@Map.Object[$NS].TableText
$Text=@ReplaceChar "~$Text
$Text=@Calc replace("$Text"," ","$c2")
$Text=@DequoteText $Text
$Text=@ReplaceChar ~"$Text
@Map.Object[$NS].TableText $Text
@Window.Refresh
@Goto %Start
І вуаля - тепер текст можна вирівнювати по дві сторони із збереженням абзаців.
Цікавить ще також думка розробників Digitals, чи не викличе це якихось конфліктів в програмі? Може цей символ використовується де-інде?
Ще б придумати, як зробити щоб дати вигляду 29.12.2014 не переносило в нові рядки по частинах. І щоб текст вигляду "с.Волоща" також не переносило, залишаючи в одному рядку "с.", а наступному "Волоща". Є якісь символи для заборони перенесення в новий рядок? Чи для якогось особливого склеєння тексту?