Как сделать справочник в делфи
Создаем полноценный Help для Delphi-программ. Часть 3: Создание окон справочной системы.
Сегодня рассмотрим работу с окнами справочной системы – попробуем создать несколько окон с различными элементами управление и использовать эти окна пр вызове справки из своих Delphi-программ.
Вначале расмотрим, что представляет из себя главное окно справочной системы и какие элементы управления оно содержит. Возьмем, например, справку к HHW.
Главное окно справочной системы
Главное окно справочной системы как минимум должно содержать панель навигации, список разделов, поиск по контексту и предметный указатель.
На данный момент (если Вы читали первую и вторую часть) у нас имеется проект содержащий два топика справки. Давайте настроим наше главное окно справки и добавим в него список разделов. Для этого необходимо перейти в HHW на вкладку Contents:
Здесь и создается список таким, каким мы его хотели бы видеть. Вначале добавляем новый раздел. Для этого жмем кнопку “Insert heading” откроется окно настройки нового раздела:
Задаем название раздела, а также, если необходимо – страницу, которая будет открываться при выборе раздела. Также на вкладке “Advanced” можно настроить вид иконки, указать окно в котором будет открываться раздел, оставить комментарий и т.д.
Теперь добавим новый топик в созданный раздел. Для этого жмем кнопку “Insert a page”. Откроется точно такое же окно, как и при создании раздела – заполняем необходимые поля, указываем страницу топика и эжмем “Ok”.
Теперь можете скомпилировать проект и убедиться, что теперь наша справка имеет удобное содержание:
Справочная система с содержанием
Примерно также создается и предметный указатель. А мы тем временем перейдем непосредственно к основной теме поста – созданию новых окон.
Переходим в HHW на вкладку “Project”, жмем кнопку “Add/Modify window definitions” и начинаем создание новго окна:
Окно содержит несколько вкладок, каждая из которых отвечает за определенные элементы нового окна:
General – основные свойства окно, такие как тип окна: произвольная строка, задаваемая пользователем. Используется при вызове окна. Заголовок окна (Title Bar Text).
Buttons – на этой вкладке можно выбрать те кнопки, которые будут отображаться в навигационной панели окна.
Position – здесь мы можем задать положение окна (свойства Left и Top), а также размеры окна (свойства Height и Width)
Navigation Pane – если мы хотим, чтобы новое окно содержало навигационной панель и содержание, то на этой вкладке необходимо включить опцию (единственную на вкладке)
Styles – свойства окна, такие как показ окна в развернутом виде, перекрытие дочерних окон нашим окном и т.д.
Extended Styles – расширенные стили окна. Здесь можно указать такие дополнительные свойства как, например, выравнивание текста заголовка по правому краю, показ окна поверх других окон и т.д.
Files – на этой вкладке мы должны указать файлы, используемые для отображения навигации в окне, индексный файл, файл открываемый по умолчанию и т.д. Большинство свойств на этой вкладке заполняются автоматически из свойств Вашего проекта.
Итак, после недолгих манипуляций со свойствами нового окна у меня получилось вот такое новое окно с названием “Context” и заголовком “Title New Window”:
Аналогичным образом Вы можете настроить сколь угодно большое количество различных по содержанию окон своей справочной систему, а мы пока продолжим и перейдем к использованию окон в своей Delphi-программе.
Вспомним как вызывался произвольный топик справочной системы:
Как создать справку?
Как создать справку в delphi
что-то типа в меню нажимаешь пункт Справка, открывается окно и там тип подробная инструкция как.
Как создать такую справку и добавть ёё в программу
Как создать такую справку и добавть ёё в программу
для chm: пишешь связанные между собой html-странички и потом пользуешься утилитой HTML Help Workshop и связываешь их в один chm файл.
запускаешь его в Дельфях так: WinExec(‘hh.exe help.chm’,SW_SHOW);
для hlp: в среде Delphi есть встроенная утилита. четсно говоря никогда ей не пользовался.
для chm: пишешь связанные между собой html-странички и потом пользуешься утилитой HTML Help Workshop и связываешь их в один chm файл.
запускаешь его в Дельфях так: WinExec(‘hh.exe help.chm’,SW_SHOW);
для hlp: в среде Delphi есть встроенная утилита. четсно говоря никогда ей не пользовался.
Добавлено через 2 минуты 27 секунд
Какой лучше для внешная запуска, WinExec или ShellExecute?
для создания chm справки. необходимо написать просто две-три простых html странички. запустить HTML Help Workshop и добавить в нем эти html-странички.. и скомпилиовать. все. справка готова
p.s: ну естевственно добавить сслыки перехода:
— или на самихз страничках
— или в HTML Hel Workshop
Дорогие форумчане!
Помогите с созданием справки. Я уже весь мозг сломал пока пытался создать эту справку!
Делаю на hcw.exe, но каждый раз при компиляции ругается следующим образом:
HC6008: Error:
No files have been specified in the [FILES] section of the Project file.
З.Ы.:Word 2010
Вложил файл с примером.
Вложения
Тест.zip (8.4 Кб, 310 просмотров) |
для chm: пишешь связанные между собой html-странички и потом пользуешься утилитой HTML Help Workshop и связываешь их в один chm файл.
запускаешь его в Дельфях так: WinExec(‘hh.exe help.chm’,SW_SHOW);
для hlp: в среде Delphi есть встроенная утилита. четсно говоря никогда ей не пользовался.
У меня получилась такая строчка:
Добавлено через 1 минуту
Господа, кто-нибудь знает как исправить готовый chm чтобы его можно было использовать для контекстной справки (по нажатию CTRL+F1 на выделенном слове). Желательно в HTML Help Workshop.
HTML Help Workshop бесплатная официальная версия
http://www.microsoft.com/en-us. x?id=21138
Как исправить?
Ключевые слова добавил, индекс добавил, оглавление добавил. Курсор на слове, нажимаю ctrl+f1 => error
HH_HELP_CONTENT called without a [MAP] section
на словах отсутствующих в справочном файле => error
no help aviable
Повторил результат тот же.
Я написал пару новых функций и хочу чтобы при наборе кода можно было вызвать контекстную справку по ним. Появляющиеся ошибки в предыдущем посте. Кажется что-то надо сделать с [MAP] section.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Как создать справку к проекту?
делаю проект, нужно создать справку как сделать в visual studio c++?
Как создать справку (*.chm)
как создать справку?через *chm файл.пробую не чего не получается.делал через Hellp Workshop.может.
Как создать справку для скрипта?
Нужно сделать справку для скрипта, пожалуйста. Заранее спасибо
Создаем полноценный Help для Delphi-программ. Часть 2: Контекстная справка.
В первой части мы рассмотрели с Вами самый простой случай справки с использованием hhw – создали chm-файл, содержащий всего один топик. Для более-менее серьезной справки этого естественно недостаточно. Хорошая развитая справочная система должна иметь как минимум четкое оглавление, поиск по разделам и контексту, а вызывающая Delphi-программа должна обеспечить для пользователя удобный и быстрый доступ ко всем разделам справки.
Как пользователю дать возможность получать быстрый доступ к интересующей его информации по работе программы или отдельным элементам интерфейса? Здесь вариантов может быть несколько.
Первое что приходит в голову при описании интерфейса программы – это задать каждому элементу интефейса подсказку (Hint), Которая будет отображаться при наведении указателя мыши на элемент (кнопку, label и т.д.). Здесь можно также немного поработать и сделать длинные многострочные хинты (чтоб пользователь глаза сломал, читая их). Но это ведь все не то. Применимо и просто реализуемо, но иногда требуется больше.
К примеру, у нас в приложении есть некая “волшебная” метка (label), нажав на которую пользователю не только откроется новое окно программы, но и проведутся какие-либо другие действия. Засунуть описание такой метки в Hint? Думаю, что выглядеть это будет не совсем удачно. Намного лучше использовать:
1. Показывать пользователю тот раздел справки, в котором описан именно этот жлемент, т.е. использовать контектсную справку.
2. Popup-окно, которое, в отличие от hint может сколь угодно долго быть видимым (у hint тоже можно выставить задержку больше минуты, но, тем неменее это время все равно будет конечно).
Pop-up’ы мы рассмотрим немного позже, а контекстом займемся прямо сейчас.
1. Работа с контекстной справкой. Вариант 1 – использование команды HH_DISPLAY_TOPIC.
Самый простой способ показать пользователю нужный раздел справки. Всё, что от нас по сути требуется – это правильно указать путь к html-файлу с необходимой информацией.
Для демонстрации примера воспользуемся проектом справки, который мы делали в первой части. Добавим в этот проект ещё один html-файл (топик справки) с названием context.htm. Содержимое файла можете сделать по своему усмотрению.
Теперь в тестовый Delphi-проект добавим ещё одну кнопку с названием “Контекстная справка”. У меня вид приложения стал таким:
В событии OnClick новой кнопки пишем следующее:
Здесь мы указали точно расположение файла топика, который необходимо показать пользователю. В данной случае файл context.htm лежал в той же директории, что и файл index.htm, используемый по умолчанию.
Чем хорош представленный способ? Способ достаточно прост – указали команду, указали путь и получили результат. Никаких лишних телодвижений в hhw.
Чем мне этот способ не нравится. Как минимум тем, что приходится использовать много строковых констант при работе со справкой большого объема. На мой взгляд более удобно использовать в качестве констант целые числа – идентификаторы разделов. Поэтому рассмотрим второй способ работы с контекстной справкой.
1. Работа с контекстной справкой. Вариант 2 – использование команды HH_HELP_CONTEXT.
Тех, кто только-только начинает использовать hhw данный вариант работы может вогнать в ступор на некоторое время следующее описание использования команды HH_HELP_CONTEXT в функции HtmlHelp:
pszFile – файл, содержащий информацию по разметке.
dwData – числовое значение идентификатора топика. Вы должны создать символические идентификаторы и числовые идентификаторы в разделе [MAP] проекта (.hhp-файл).
Как создать этот MAP-раздел и что за символичесике и числовые идентификаторы нам надо определить?
Начнем по порядку. Вначале создадим символические идентификаторы в hhp-файле. Для этого откроем hhp-файл в любом текстовом редакторе, например в блокноте и создадим вот такой раздел:
Теперь в этом же файле объявим числовые идентификаторы:
Обратите внимание, что в разделах ALIAS и MAP имена идентификаторов должны полностью совпадать.
Теперь сохраняем файл и открываем его в hhw. Убеждаемся, что разделы MAP и ALIAS успешно добавлены:
Создать телефонный справочник
помогите пожааалуйста. сколько уже мучаюсь,ничего не получается. (((
Добавлено через 3 минуты
или у кого есть готовый,киньте плиииз)))
Создать файл «Телефонный справочник».
Создать файл «Телефонный справочник». Структура записи: ФИО Адрес (улица, номер дома, квартира).
Создать приложение «телефонный справочник»
Помогите создать приложение телефонного справочника, даны combobox и stringgrid. Изначально, при.
Телефонный справочник
запрограммировать в делфи кнопки
Но имейте в виду, что программу мог сдавать учащийся из вашего ВУЗ-а.
Вложения
телефонный справочник.rar (344.5 Кб, 2335 просмотров) |
Все преподы объясняют нормально: слушать и вникать нужно. А вообще, не советую ничего делать, видно же предрасположенности нет и желания тем более.
А Delphi хоть установлена?
Если Вы уже готовый проект(который работает, внизу скриншот, Delphi 2009) открыть не может, то речь о написания и изучении идти не может.
вот держите
Vedmina, Я не думаю, что препод поверит в то, что за такое время можно создать такой тел. справочник на БД самостоятельно.. Пару наводящих вопросов о среде и считай, что раскусили.
Единственный выход, использовать исходник, который любезно предоставил Одиночка, так как там ничего нет лишнего и немного подкорректируя можно спокойно выдать за свою работу. К чему я это все..
Да ладно? Вы это будете говорить человеку, который может задать любой вопрос по среде, по той же самой программе, или вопрос по функции, что она делает, как писалась программа и т.д. Я лично(получив базовое образование) могу определить, основываясь на знаниях человека, он написал эту программу или нет. Или Вы считаете, что человек, который даже исходя из своих знаний(не знаю, есть ли они в этой среде) не может написать примитивный блокнот, то это наталкивает на мысли преподавателя.
Например: человек совершенно незнаком с Delphi. Ладно, максимум знает основы(как соединить компоненты, свойства, типы, массивы), т.е. все то, что по началу проходят в ВУЗ-ах, колледжах. То в этом исходнике используются такие навороты, что не каждый уже «бывалый» программист сможет написать это за относительно небольшой срок.
На самом деле я не вижу смысла в скачивании левых исходников. Если уже поджимают сроки или вообще нет необходимости в изучении языка. Имея желание можно за месяц самостоятельно подогнать себя на Delphi (зная основы паскаля) до относительно хорошего уровня, можно охватить не мало вещей.
Как создать программу справочник телефонных номеров
Как создать программу справочник нумизмата?
Здравствуйте! как создать программу в делфи 7? нужно сделать справочник нумизмата. как его.
Можно ли на Дельфи создать программу учета телефонных переговоров?
можно ли на делфи создать программу учета телефонных переговоров( программа сама фиксирует входящие.
Как создать список номеров которыми можно управлять как базой данных
Привет Полный новичок в программировании, вопрос по Delphi Как создать список номеров.
Форматирование телефонных номеров
Всем привет! Помогите с написанием макроса для Excel. Необходимо отформатировать телефонные номера.
А если вы хотите заняться программированием и любоваться своими трудами, начинайте изучать язык. Начните с азов Pascal, потом переходите на Delphi (кстати, почему именно Delphi 6?). По Pascal неплохую книжку написал Фаронов. По Delphi для начинающего подойдет Фленов «Библия Программиста».
Метис, MS Access и ADO компоненты.
создаешь базу в Access, в дельфи кроме формы 1 создаешь форму 2. На кнопку на 1-ой форме пишешь код(на процедуру OnClick):
Далее во 2 форме добовляешь следующие компоненты из вкладки ADO:
Со вкладки Data Access добавляешь:
Далее кликаешь на ADOConnestion 2раза открывается окошко там нужно нажать Build(во второй сверху!).
Далее выбираешь вид базы(MS Jet 4.0 OLE DB Provider или MS Access 12.0 для твоей!).
Потом убираешь в Properties(Как бы установки данного компонента), Login Prompt(чтобы пароль и логин не запрашивало!).
если все сделал правильно то у тебя выведутся твои записи!
Метис,
Метис, что бы написать самостоятельный и простой телефонный справочник, идите таким путем:
1. Изучите, что такое записи (Record).
В них вы будете хранить персональные данные о каждом объекте(человеке).
Например, в такой записи :
2. Изучайте, что такие типизированные файлы, как в них хранить например эти записи, и как их от туда доставать по очереди и делать анализ на присутствие нужно текста.
Второй вариант решения задачи : (но не последний).
Хранить данные в компоненте Memo. В каждой строке будут храниться персональные данные, разделенные каким нибудь знаком. Если база не очень большая, то работать будет достаточно быстро.
Например:
Иванов Иван Иваныч#Москва#936-33-33
Петров Петр Петрович#Москва# 936-33-55
и т.д.
Для работы записной книги необходимо:
1) Организовать запись новых данных(нового человека) в мемо.
Для этого вводим все нужные параметры например через Edit-ы, сцепляем данные Edit в одну строку, через разделители(например ‘#’) и сохраняем в мемо.
2) Находить в мемо строку (строки) содержащую нужные сведения.
3) Разбить найденную строку (строки) на составляющие (ориентируясь на спец.знак, например ‘#’) и вывести результат (результаты)
4)Организовать возможность удалять или редактировать данные.