Вставка слова Delphi

Обновлено: 21.11.2024

Ни один компонент не должен считаться завершенным, пока он не задокументирован. Используя предоставленные инструменты и MS Word, можно создавать файлы справки, которые работают с Delphi IDE — вы можете щелкнуть компонент или свойство, нажать F1 и получить контекстно-зависимую справку.

К сожалению, Borland не предоставляет достаточно информации для создания файлов справки, которые выглядят как справочная система Delphi. Эти файлы помогают заполнить пробелы.

Обзор

Справка Delphi 5 содержит 5 страниц о том, как создавать файлы справки. (Но только 2 из них очень много говорят.) Чтобы увидеть первую, на вкладке «Содержание» справки выберите «Использовать кнопки обзора», чтобы увидеть остальные (следующие 4 страницы).

  • Вы можете использовать MS Word для создания приемлемого файла *.rtf, но вы НЕ можете использовать WordPad (в разделе Аксессуары)
  • Файлы *.rtf можно скомпилировать с помощью Microsoft Help Workshop (Delphi5\Help\Tools\hcw.exe)
  • Вы можете скомпилировать файлы *.rtf, пока они еще открыты в Word.
  • Вы помечаете файл справки, размещая сноски в документе Word (это одна из причин, по которой нельзя использовать WordPad)
  • Гиперссылки (то, на что вы нажимаете) обозначаются подчеркиванием видимой части и форматированием фактической ссылки как скрытой.
  • Каждая страница справки — это отдельная страница в документе Word (нажмите Ctrl-Enter) или отдельный файл в формате rtf.
  • Убедитесь, что в Help Workshop установлен флажок File/Help Author. Это позволяет вам щелкнуть правой кнопкой мыши любую страницу справки (не только вашу) и получить информацию о теме.

Теги добавляются в файл rtf в виде сносок. В обычных документах сноски есть. Однако теги помечаются специальными символами.

  • Кнопки обзора должны быть включены.
  • Если имя назначено, но двоеточие отсутствует, все страницы располагаются в одинаковой последовательности. даже если имена разные.
  • Если назначено имя и есть двоеточие, каждое имя определяет отдельную последовательность.
  • Сноска выбора окна (>) игнорируется.
  • Правильное использование двоеточия (:) отсутствует в файлах справки.

Гиперссылки

При использовании в качестве ссылок макросы должны начинаться с ! ИЛИ : (без пробелов)

Указание целевого окна

В сносках вы можете указать конкретное окно, в котором вы хотите отобразить страницу. К сожалению, эта спецификация применяется только тогда, когда вы щелкаете выделение в Указатель, Содержание и связанные списки тем.

С пунктирными ссылками (теми, которые используются для всплывающего окна) вы не можете выбрать тип окна - он просто по умолчанию соответствует текущему типу, и вы не можете его переопределить.

Ссылки на другие файлы справки

Если щелкнуть правой кнопкой мыши страницу справки, установите флажок «Спрашивать в горячих точках», чтобы открыть диалоговое окно со ссылкой или макросом, связанным с этой активной областью (ссылкой). (На самом деле большинство ссылок Delphi vcl ничего не отображают. Но все макросы отображаются.)

Следует отметить, что имена большинства компонентов и свойств могут использоваться в качестве идентификаторов ссылок. Однако большинство типов переменных, таких как строковые и целочисленные, необходимо связывать с помощью a-ссылки.

Вы должны добавить "Ссылки" в оглавление (файл *.cnt), чтобы последние 2 ссылки работали с вашими файлами.

    которые выдают стандартное сообщение "тема не найдена". Без tnf_qref вы получите сообщение «Дополнительная информация недоступна».

Во втором примере показано, как предоставить ссылки на несколько страниц (обратите внимание на точку с запятой и одинарные кавычки).

Советы по редактированию

  • Чтобы изменить сноску, дважды щелкните ее символ в основной части документа.
  • В разделе "Инструменты/Параметры". , включите отображение вкладок, меток абзацев и скрытого текста.
  • Чтобы заголовок не прокручивался, нажмите в любом месте текста и примените
      Формат/абзац. / Продолжить

    Стили

    • Чтобы применить стиль символов, выделите нужный текст, а затем примените стиль.
    • Чтобы применить стиль абзаца, нажмите в любом месте абзаца, а затем примените стиль.
    • Применить шрифт абзаца по умолчанию, чтобы удалить стиль символа.
      Это также удаляет полужирный шрифт, подчеркивание и подобные коды.
      Другими словами, параметры шрифта изменяются на те, что в текущем стиле абзаца.
    • Применить "Обычный" для удаления стиля абзаца.

    Вы должны начать с одного из них. Если вы хотите добавить его в существующий файл, в меню MS Word выберите Инструменты/Шаблоны и надстройки. и измените шаблон документа. Обязательно установите флажок Автоматически обновлять стили документа. Будут добавлены только панель инструментов и стили, а не весь остальной текст. Оба эти шаблона включены в Help Generator.zip. (Если разместить эти шаблоны в разделе, то добавляется только панель инструментов - стили она не создает.)

    Панель инструментов

    Я поместил панель инструментов в оба файла шаблона.

    Примечание. Я изменил текст, отображаемый при наведении указателя мыши на 8 кнопок стилей. В результате имена базовых стилей больше не доступны.

    Стили окон

    Щелкнув правой кнопкой мыши страницу справки, выберите Информация о теме, чтобы получить название окна.

    Изображения/растровые изображения

    • Вставить текст, аналогичный следующему:
      Это предпочтительный метод для файлов справки, так как он позволяет тексту обтекать изображение. Однако изображение не отображается в Word.
    • Выберите в меню Вставить/Изображение.
    • Вставить изображение из буфера обмена
    • Установите квадратный стиль обтекания.
    • Установите положение по вертикали на 0,05 дюйма от абзаца.
    • Установите горизонтальное положение на 0,05 дюйма от столбца.
    • Нельзя определить эти параметры по умолчанию для новых изображений.
    • Нельзя вводить символы (например, пробел или табуляцию) перед изображением.

    Не то, чтобы это имело значение — компилятор справки всегда размещает растровые изображения в отдельной строке.

    Обычные всплывающие страницы

    Согласно «стандарту Delphi» (т. е. моим наблюдениям за существующими файлами справки), справка для всех компонентов должна обеспечивать их иерархию. Кроме того, в списке свойств должна быть легенда с пояснением цветовых обозначений (защищено, опубликовано и/или доступно только для чтения).

    Насколько я могу судить, авторы компонентов не могут получить доступ к соответствующим всплывающим экранам, используемым. Поэтому я написал свой собственный — это индекс распространенных всплывающих окон в mcCommonHelp.rtf. Примечание. Это страница 2 файла mcCommonHelp.rtf. Поскольку у него нет , у него нет записи индекса.

    Примечание. Этот файл следует скомпилировать в файл справки. Это стоит упомянуть, потому что после того, как они связаны с Delphi, несколько файлов *.hlp могут содержать одни и те же данные (особенно страницы с одинаковыми идентификаторами). В любом случае, вы не можете использовать A-ссылки для открытия всплывающих окон - они автоматически конвертируются в обычные ссылки.

    Вы можете поместить mcCommonHelp.rtf и 3 растровых файла в один каталог и создать ссылку на него вместо того, чтобы копировать их в текущий каталог.

    Свяжите растровые файлы, выбрав Bitmaps / Add в диалоговом окне проекта Help Workshop.

    Гиперссылка в rtf

    Проблемы дизайна

    Когда файл rtf превышает 46 КБ, MS Word 97 внезапно увеличивает его размер примерно до 84 КБ, добавляя все шрифты, известные вашей системе. (В моих документах используется только Arial.) К сожалению, в названии одного из шрифтов содержится более 31 символа, и компилятор справки выдает предупреждение.

    Я открыл новый файл *.rtf размером 160 КБ в MS Office XP (он был создан с помощью моего генератора rtf), добавил в него около 12 символов и пересохранил. 273 КБ. это увеличение на 113 КБ. Совершенно невероятно. Судя по всему, каждый rtf-код теперь содержит идентификатор сохранения редакции — э-э, начиная с Word 2002, Microsoft отслеживает все изменения документа, используя их. С одной стороны это здорово — можно отследить, кто какие изменения вносил и когда — с другой стороны, это добавляет в ваши файлы много мусора.

    Я взял тот же файл и сохранил его из MS Word 97 - 151 КБ, и весь мусор с идентификатором сохранения версии был удален.

    Невозможно просмотреть или изменить теги, такие как шрифт, полужирный шрифт и цвет.

    Файлы rtf и doc содержат недопустимый объем личных данных, которые вы не можете контролировать. Сюда входит информация о пути к каталогу и имя человека, на которого зарегистрирована операционная система. (Кто-нибудь может сказать "шпионское ПО"?)

    Предупреждение. Если вы пытаетесь редактировать rtf-файлы с помощью блокнота, обязательно отключите перенос слов. Если вы этого не сделаете, вы получите дополнительные возвраты в середине слов, и MS Word не сможет прочитать файл. В частности, в разделе заголовка есть несколько очень длинных строк, не содержащих пробелов. Например, цветовая палитра состоит из нескольких строк. (Мои файлы имели неправильные цвета, отображались на 10% от их размера и теряли сноски.) Похоже, что добавление жестких возвратов в разделители (такие как и фигурные) не вызывает никаких проблем.

    Ссылки

      - Рэя Конопки - очень хорошо. Существует множество снимков экрана MS Word, демонстрирующих различные концепции. Это единственный источник, который я нашел, который предлагает, какие размеры шрифта использовать. В этом документе также предлагается использовать единую ссылку Inspector класса с главной страницы вместо отдельных ссылок Properties, Methods и Events.

    - Ничего себе, это настоящий ресурс. Жаль, что я не нашел это, прежде чем я начал создавать файлы справки. Существует множество учебных пособий, пояснений и бесплатного программного обеспечения, которые помогут вам создавать файлы справки. Некоторые из них даже способны анализировать модули Delphi. (Я не пробовал их.)

    документирует большинство команд rtf, которых нет в файле справки компилятора справки. Надеюсь, вам это никогда не понадобится, но я использовал его, чтобы отследить проблему дизайна MS Word 97, которую мне пришлось обойти.

    Спасибо.Мы получили ваш запрос и незамедлительно ответим.

    Присоединяйтесь к нам!

    • Общаться с другими участниками
    • Уведомления об ответах
      на ваши сообщения
    • Поиск по ключевым словам
    • Доступ в один клик к вашим
      любимым форумам
    • Автоматические подписи
      на ваших сообщениях
    • Лучше всего то, что это бесплатно!

    *Функции Tek-Tips зависят от того, получают ли участники электронную почту. Присоединяясь, вы соглашаетесь на получение электронной почты.

    Правила публикации

    Реклама, продажа, рекрутинг, размещение курсовых и дипломных работ запрещено.

    Добавить изображение в документ Word

    Добавить изображение в документ Word

    В Delphi 7 Pro
    мне нужно добавить изображение (подпись) внизу документа Word (офис 2003/2007). Каждый документ может состоять из одной или нескольких страниц.
    Я пробовал с оле:

    процедура TForm1.Button1Click(Sender: TObject);
    var wdgotolast,wdgotopage,wdgotoabsolute : olevariant;
    begin
    Word := CreateOLEObject('Word.Application');

    но картинка вставляется в начало документа, а не в конец.

    Я также пытался использовать закладки, но они не распознаются.

    Я пытался использовать wdGotoLine/wdGotoLast, но в этом случае изображение вставляется в конец первой страницы.

    Кто-нибудь может помочь с этим или другим кодом?
    Есть ли бесплатные/условно-бесплатные/коммерческие компоненты?

    ДжангМэн
    Нет. я этого не делал.
    Я могу попробовать это решение.
    Но как я могу запустить макрос из Delphi?
    Как параметр в ShellExecute?

    Запишите макрос, чтобы увидеть необходимые шаги. Затем преобразуйте эти шаги в Delphi и запустите автоматизацию как обычно. Я предполагаю, что вы пропустили одну или две строки кода, которые покажет макрос.

    Спасибо, DjangMan.
    Решение:

    процедура TForm1.Button1Click(Sender: TObject);
    var wdgotolast,wdgotopage,wdgotoabsolute : olevariant;
    begin
    Word := CreateOLEObject('Word.Application');

    Извините, я забыл библиотеку:

    процедура TForm1.Button1Click(Sender: TObject);
    var wdgotolast,wdgotopage,wdgotoabsolute : olevariant;
    begin
    Word := CreateOLEObject('Word.Application');

    Отправлено предупреждение

    Спасибо, что помогаете защищать форумы Tek-Tips от неприемлемых сообщений.
    Персонал Tek-Tips проверит это и примет соответствующие меры.

    Ответить в этой теме

    Размещение сообщений на форумах Tek-Tips доступно только для участников.

    Нажмите здесь, чтобы присоединиться к Tek-Tips и пообщаться с другими участниками! Уже участник? Войти

    Дельфи! мое искусство программирования. Этот блог содержит технические решения и советы по программированию на Delphi. Я просто пытаюсь поделиться знаниями, которые я получил от других и которые помогут другим. (Delphi Tokyo/XE7/XE6/XE5/XE4/XE3/XE2/XE, FireMonkey, FireDAC, DataSnap, QuickReport, DevExpress, Woll2Woll, TMS Components, Indy, REMObjects SDK. )

    Автоматизация MS Word в Delphi

    • Получить ссылку
    • Фейсбук
    • Твиттер
    • Pinterest
    • Электронная почта
    • Другие приложения

    В этом блоге обсуждаются методы управления MS-Word из приложения Delphi. В качестве демонстрации я добавил различные коды, которые позволяют использовать Word для создания таблиц, форматирования строк, создания абзацев и вставки различных объектов, таких как изображения, фигуры, текстовые рисунки и т. д. Поиск ПК, на котором не установлен MS-Word может оказаться трудной задачей: текстовый процессор от Microsoft вездесущ. Поэтому имеет смысл использовать его всякий раз, когда необходимо создать красивый вывод из программы. Delphi делает это на самом деле очень простым: языковая поддержка вариантов как ссылок на серверы автоматизации OLE и поддержка COM-интерфейсов значительно упрощают управление MS-Word (или даже Excel или MS-Access).

    Управление MS-Word осуществляется через интерфейс COM: с помощью механизма OLE Delphi получается ссылка OLE на приложение MS-Word, а затем можно использовать различные команды, предоставляемые интерфейсом MS-Word, чтобы позволить MS- Word делает практически все, что необходимо. То же самое можно сделать с Excel и другими членами пакета MS-Office.

    doc1.Shapes.AddTextEffect(msoTextEffect29, 'Auto Word Art', 'Алжирский', 20, 0, 0, iLeft, iTop,EmptyParam);

    // таблица из 5 строк и 5 столбцов//
    table1 := doc1.Content.Tables.Add(para1.Range, 5, 5, EmptyParam, EmptyParam );

    table1.Rows.Item(1).Range.Shading.BackgroundPatternColor := wdColorGray125;
    table1.Rows.Item(1).Cells.Item(4).Merge(table1.Rows.Item(1).Cells.Item(5));

    doc1.PrintOut(EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam );

    • Получить ссылку
    • Фейсбук
    • Твиттер
    • Pinterest
    • Электронная почта
    • Другие приложения

    Комментарии

    Этот комментарий был удален автором.

    Оставить комментарий

    Популярные записи из этого блога

    ShellExecute в Delphi

    ShellExecute в Delphi — запуск внешних приложений. ShellExecute — это функция Delphi Windows API, которая в основном используется для запуска внешних приложений из нашего приложения Delphi. Эта функция связана с функцией Windows API ShellExecute. Функция возвращает целое число, соответствующее коду ошибки, что очень полезно, когда нам нужно показать некоторый статус, сработала функция или нет. Используя ShellExecute, мы также можем выполнять следующие операции. Может печатать документы из моей программы, без явного запуска приложения, создавшего документ, например: распечатать документ Word, не запуская Word. Может открывать браузер с локальной HTML-страницей. Может переходить на сайт, т. е. открывать внешнюю URL-ссылку из приложения Delphi. Может отправлять почту через Outlook. Синтаксис функции API Windows.

    Рисование фигур в Delphi

    Поверьте мне, рисовать фигуры в Delphi очень просто. Для разработки программного обеспечения, такого как САПР, Paint, CorelDraw, Delphi предоставляет большое количество классов и элементов, поддерживающих рисование фигур в форме или графическом элементе управления. В Delphi мы рисуем фигуры на холсте формы или графических элементов управления. Холст — это область формы, где мы можем рисовать фигуры, линии и заполнять фигуры цветами. В Delphi у каждой формы или графического элемента управления есть свойство Canvas, которое предоставляет объект TCanvas, который можно использовать для рисования фигур. Объект TPen используется для рисования линий, и мы можем установить размер и цвет линий. Объект TBrush используется для установки цвета и стиля заливки фигур. Наиболее часто используемые классы для рисования фигур: TCanvas, TBitmap, TGraphics, TPen, TBrush. TCanvas Используйте TCanvas в качестве поверхности для рисования объектов, рисующих собственное изображение. , и рисовать), а также хранить изображения в памяти и в виде файлов на диске. TGraphics TGr

    Автоматизация MS Excel в Delphi

    В этом блоге я опишу, как читать и записывать данные из файла Excel и в него. Иногда в нашем приложении мы используем Excel для целей отчетности, для целей импорта/экспорта данных и для других работ. Итак, здесь я объясню, как получить доступ к файлу Excel и использовать его для чтения/записи данных. Для этого в нашей системе должен быть установлен Excel 2003 или более поздней версии. Сначала используйте модуль Excel2000 для использования предложения. Это устройство поставляется с установкой Delphi самостоятельно. Вы можете получить устройство по установленному пути C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\OCX\Servers Uses Excel2000; Прежде чем продолжить, я хотел бы упомянуть важное слово LCID, которое требуется в большинстве мест. Так что же это LCID? LCID = В Microsoft Excel LCID указывает символ валюты, который будет использоваться, если это тип xlListDataTypeCurrency. Возвращает 0 (который является нейтральным к языку LCID), если для типа данных столбца не задана локаль. Мы можем получить LCID в Delphi с помощью функции GetUserDefaultLCID. privat

    Существует три основных способа вставки текста в документы Microsoft Office Word:

    Вставить текст в диапазон.

    Заменить текст в диапазоне новым текстом.

    Используйте метод TypeText объекта Selection, чтобы вставить текст рядом с курсором или выделением.

    Вы также можете вставлять текст в элементы управления содержимым и закладки. Дополнительные сведения см. в разделах Элементы управления содержимым и Управление закладками.

    Применимо к: информация в этом разделе относится к проектам уровня документа и проектам надстроек VSTO для Word. Дополнительные сведения см. в разделе Возможности, доступные в зависимости от приложения Office и типа проекта.

    Заинтересованы в разработке решений, расширяющих возможности Office на различных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любые технологии веб-программирования, такие как HTML5, JavaScript, CSS3 и XML.

    Вставить текст в диапазон

    Используйте свойство Text объекта Range для вставки текста в документ.

    Чтобы вставить текст в диапазон

    Укажите диапазон в начале документа и вставьте текст Новый текст.

    Следующий пример кода можно использовать в настройке на уровне документа.

    Следующий пример кода можно использовать в надстройке VSTO. Этот код использует активный документ.

    Выберите объект Range, который расширился от одного символа до длины вставленного текста.

    Заменить текст в диапазоне

    Если указанный диапазон содержит текст, весь текст в диапазоне заменяется вставленным текстом.

    Чтобы заменить текст в диапазоне

    Создайте объект Range, состоящий из первых 12 символов документа.

    Следующий пример кода можно использовать в настройке на уровне документа.

    Следующий пример кода можно использовать в надстройке VSTO. Этот код использует активный документ.

    Замените эти символы строкой New Text.

    Выберите диапазон.

    Вставка текста с помощью TypeText

    Метод TypeText вставляет текст в выделенный фрагмент. TypeText ведет себя по-разному в зависимости от параметров, установленных на компьютере пользователя. Код в следующей процедуре объявляет переменную объекта Selection и отключает параметр Overtype, если он включен. Если активирована опция Overtype, то любой текст рядом с курсором перезаписывается.

    Чтобы вставить текст с помощью метода TypeText

    Объявите переменную объекта Selection.

    Отключите параметр Overtype, если он включен.

    Проверить, является ли текущий выделенный фрагмент точкой вставки.

    Если это так, код вставляет предложение с помощью TypeText, а затем метку абзаца с помощью метода TypeParagraph.

    Код в блоке ElseIf проверяет, является ли выбор нормальным. Если да, то другой блок If проверяет, включена ли опция ReplaceSelection. Если это так, код использует метод Collapse выделения, чтобы свернуть выделение до точки вставки в начале выделенного блока текста. Вставьте текст и знак абзаца.

    Если выделенный фрагмент не является точкой вставки или блоком выделенного текста, код в блоке Else ничего не делает.

    Вы также можете использовать метод TypeBackspace объекта Selection, который имитирует функциональность клавиши Backspace на клавиатуре. Однако когда дело доходит до вставки текста и манипулирования им, объект Range предоставляет больше возможностей для управления.

    В следующем примере показан полный код. Чтобы использовать этот пример, запустите код из класса ThisDocument или ThisAddIn в своем проекте.

    Читайте также: