Как установить длину строки в ворде
Перейти к содержимому

Как установить длину строки в ворде

  • автор:

String.length

Свойство length представляет длину строки.

Синтаксис

str.length

Описание

Это свойство возвращает количество кодовых значений в строке. В UTF-16, строковом формате, используемом в JavaScript, для представления большинства символов используется одно 16-битное кодовое значение, но для представления не так часто используемых символов требуется два кодовых значения, так что вполне может быть так, что значение, возвращённое свойством length не будет соответствовать действительному количеству символов в строке.

Для пустых строк свойство length возвращает 0.

Статическое свойство String.length возвращает значение 1.

Примеры

Пример: базовое использование

var x = "Mozilla"; var empty = ""; console.log("Слово «Mozilla» занимает " + x.length + " кодовых значений"); /* "Слово «Mozilla» занимает 7 кодовых значений" */ console.log("Пустая строка имеет длину, равную " + empty.length); /* "Пустая строка имеет длину, равную 0" */ 

Спецификации

Specification
ECMAScript Language Specification
# sec-properties-of-string-instances-length

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 20 янв. 2024 г. by MDN contributors.

Your blueprint for a better internet.

Developing.ru

Вопрос: как в Word’е узнать длину строки с заданным стилем в сантимертрах/дюймах/etc.?

Дело в том, что я пишу макрос для форматирования стихотворного текста.

Naeel Maqsudov Сообщения: 2551 Зарегистрирован: 20 фев 2004, 19:17 Откуда: Moscow, Russia Контактная информация:

Увы, фактическая ширина зависит в MSWord от драйвера принтера. В VBA она недоступна.

Если Вы хотите обеспечить автоматический перенос длинных строк, то Вы можете обойтись ТОЛЬКО параметрами абзацев и стилями. Word для этого и был сделан. Макросы тут едва ли уместны.

2 сообщения • Страница 1 из 1

  • Системное и прикладное программирование
  • ↳ Win API, Shell..
  • ↳ C и C++
  • ↳ Delphi и Pascal
  • ↳ Программирование на Pascal и Delphi (Object Pascal)
  • ↳ Все вопросы ООП
  • ↳ Компоненты в Delphi
  • ↳ Delphi и WinAPI, ActiveX и OLE , COM и DCOM, и т.д
  • ↳ Java
  • ↳ MS Office и VB(A).
  • ↳ Ассемблер
  • WEB программирование
  • ↳ JScript, VBScript, DHTML.
  • ↳ Perl, PHP, ASP .
  • Некатегоризированное
  • ↳ Вопрошайка
  • ↳ SQL
  • ↳ Алгоритмы
  • ↳ Дизайн и графика
  • Администрирование
  • ↳ Apache, IIS.
  • ↳ Операционные системы
  • Работа
  • ↳ Вакансии и заказы для программистов
  • ↳ Поиск работы и заказов.
  • ↳ Решите мне задачку
  • ↳ задачи на Паскале и Delphi
  • ↳ задачи на C и C++
  • ↳ задачи на Basic и Visual Basic (VB)
  • Прочее
  • ↳ Жалобная книга
  • ↳ Флейм.

Как установить длину строки в ворде

CY-PR

Подсчёт длины текста

Введите текст:

Сервис cy-pr.com предлагает своим пользователям множество полезных инструментов, которые значительно облегчают их ежедневную работу. В этом разделе таких инструментов — всего два, но они являются основными для копирайтеров и оптимизаторов. Конечно, узнать количество слов и знаков (с пробелами и без) вы можете и в офисной программе MS Word, но бывают случаи, когда это невозможно сделать. Например, у вас нет офисных программ на компьютере, а есть рукописный текст, созданный в порыве вдохновения на страницах записной книжки. Его необходимо набрать в электронном виде и сдать заказчику как можно скорее. В таком случае предлагаем вам воспользоваться инструментом «Подсчет длины текста», с помощью которого вы не только напечатаете текст, но и сразу же узнаете точное количество слов и символов (с пробелами и без пробелов) в нем.

Длина имеет значение?

И заказчик, и исполнитель, оговаривая нюансы перед началом работы над текстом, обязательно акцентируют внимание на количестве символов, в которые должен «вписаться» автор. Очень часто бывает, что тема настолько незнакома исполнителю, что он каждую строчку «высасывает из пальца» и в конечном итоге выдает на-гора текст, который абсолютно не устраивает заказчика. Но при этом количество символов соблюдено. Верен ли такой подход к работе? Скорее всего, нет. Если копирайтер «не в теме», то лучше прямо сказать об этом заказчику и отказаться от работы над текстом, чем считать символы «до победы» и «лить воду».

Однако, и лаконичность в создании текстов для сайтов не всегда работает. Если заказчик хочет видеть на странице своего ресурса текст длиной 15 000 символов, а вы ему с пеной на губах доказываете, что «там писать не о чем» и «тут можно вложиться в 1000 знаков», то, скорее всего, от ваших услуг откажутся. Акулы пера, работающие в Интернете, должны чувствовать ту грань, которую переступать не стоит. И (по возможности) работать с темами, которые более-менее знакомы (или нравятся). Тогда работа будет приносить удовольствие и не придется «вымучивать» каждый символ и «лить воду», чтобы сдать заказчику достойный текст.

ДС пробелами или без?

ДМерилом профессионализма копирайтера является стоимость тысячи символов текстов, которые он пишет. И на этой почве, как ни странно, очень часто возникают конфликты между исполнителем и заказчиком. Первый озвучивает стоимость 1000 символов с пробелами, аргументируя это тем, что «большой палец тоже работает», а второй готов платить ту же сумму за текст без пробелов, потому что «пробел – это не символ». Некоторые авторы после таких слов присылают заказчику «текстбезпробелов» и смотрят на реакцию. Обычно помогает. Однако, чтобы избежать таких неприятных ситуаций, следует оплату «пустот» в тексте оговаривать заранее. Вариант второй: озвучивайте заказчику стоимость 1000 знаков с пробелами и без пробелов. Как правило, во втором случае цифра увеличивается на 20%.

Итак, текст написан, количество символов подсчитано с помощью инструмента «Подсчет длины текста». Например, количество знаков с пробелами (или без пробелов, если вы так договорились с заказчиком) – 3820. Как поступить в таком случае? Обычно эту цифру округляют в большую сторону до числа, которое кратно 100. То есть «счет» вы можете выставить за 3900 символов. Однако, и тут все индивидуально.

Другие инструменты:

Оптимизатор css кода
Оптимизирует код страниц, что экономит время загрузки.
Unix time конвертер
Простой epoch/Unix timestamp конвертер для вэбмастеров.
Шифрование в MD5 и SHA-1
Кодирование (шифрование) любого текста или строки по алгоритму md5.
Генератор robots.txt
Онлайн создание роботс.txt. Запрет индесации определенных страниц.
Шифровальщик (Encoder) для HTML
Этот инструмент позволит сделать недоступным ваш код для прочтения.
Карта сайта
Создание онлайн карты сайта. Генератор xml карты сайта (sitemap.xml)

Как установить длину строки в ворде

Необходимо определить длину. Сейчас это выполняется с помощью функции:
m_Window->GetPoint(&left, &top, &width, &height, range).
Ведется попытка определить размер с помощью:
GetTextExtentPoint(hdc, text.c_str(), text.length(), &stringSize).
Эти функции возвращают немного разные результаты. Причем на результат влияет шрифт и количество пробелов в строке. Наблюдения показали что word меняет длину пробела зависимости от символов которые стоят по обе стороны пробела. Есть предположение что это зависит от кернинг пар.

Может кто нить подскажет алгоритм поиска длинны строки в word. Или особенности от которых она может меняться.

Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
А если так (длина строки, на которой стоит курсор)

Sub LineLenght() Dim nStart As Long Dim nEnd As Long Dim oRng As Range Set oRng = Selection.Bookmarks("\line").Range nStart = oRng.Characters.First.Information(wdHorizontalPositionRelativeToPage) nEnd = oRng.Characters.Last.Information(wdHorizontalPositionRelativeToPage) MsgBox "Длина строки равна " & PointsToMillimeters(nEnd - nStart) & " мм" End Sub

Лучше день потерять — потом за пять минут долететь!©
Пользователь
Регистрация: 07.04.2010
Сообщений: 22

Хотелось бы вообще избавится от вызова com функциий word. Это связано в первую очередь с быстродействием.

Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
Тогда почему вопрос в раздел VBA?
Лучше день потерять — потом за пять минут долететь!©
Пользователь
Регистрация: 07.04.2010
Сообщений: 22

Да может раздел не совсем соответствует. Но собственно меня интересует сам алгоритм по которому word рассчитывает (или расставляет) расстояние между символами. Или в общем случае как word выбирает ширину символов. (подобно особенностям поиска междустрочного интервала зависимости от размера кегля). И возможно кто то с этим сталкивался. Может можно «заставить» word с помощью VBA не менять ширину символа.

Пользователь
Регистрация: 07.04.2010
Сообщений: 22

Из рисунка видно что размеры символов для word и для api DrawText одинаковы. Отличаются лишь расстояния между символами. Скорее всего такой эффект дают кернинг пары. Попытка их учитывать с помощью Api (GetKerningPairs) не дала результатов, скорее всего word дополняет таблицу kerningPairs или определяет свою.

Возможно ли, использую VBA, получить список kerningPairs word-a для определенного шрифта?

Изображения

kerning.jpg (113.9 Кб, 121 просмотров)
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка строк:определение длины строки DidT33rus Помощь студентам 6 14.05.2010 11:43
Строки неизвестной длины в си abr_question Общие вопросы C/C++ 18 22.01.2010 00:26
Считывание строки неограниченной длины (Си) 0kopok Помощь студентам 6 05.10.2009 20:46
Поиск цикла длины 4. Помощь студентам 33 25.05.2008 20:10

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *