powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Help for PowerBuilder Applications
23 сообщений из 23, страница 1 из 1
Help for PowerBuilder Applications
    #32343817
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надоели юзера, задолбали своими глупыми вопросами, причем одними и теми же. Вообщем, назрела необходимость писать HELP. Подскажите, плиз, кто чем пользуется для этого. Знаю, что енто можно набрать в Word, а дальше скомпелить с помощью Help Compiler, но знаю, также что продвинутые конторы пользуются специальным софтом. Подскажите чем лучше это писать? Как-то на зоре своей юности я пробовал писать Help в Word, но меня это быстро утомило. Подскажите, может софтина есть какая (с ВОЛШЕБНЫМ ключиком желательно)?
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32343896
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что HTML Help Workshop , то что нужно, но может это и не лучший продукт такого рода? Хотелось бы, чтобы вы поделились своими мыслями по поводу создания HELP, какие есть подводные камни, фичи и.д.
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32344259
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пользовался AnnetHelp
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32344297
MikeV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пользовался RoboHelp. Понравилось.
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32344315
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже пользовался RoboHelp'ом
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32345316
Zmiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Help&Manual 3.3, IMHO супер.
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32352879
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решили делать Help на основе *.chm файлов. Так вот, взял функцию

HWND HtmlHelpA(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD dwData)

- вообще-то, это описание для HtmlHelp , но я подозреваю, что это верно и для HtmlHelpA . Так вот описал я её в PowerBuilder:

FUNCTION boolean HtmlHelpA(long hWndMain, string lpszHelp, long uCommand, long dwData) LIBRARY "user32.dll"

Ну а дальше-то как ей пользоваться? Первым параметром передаю дискриптор окна, далее - имя файла помощи, а вот потом что? Посмотрел у мелкософта описание, но как-то не просек. Может приведет кто примерчик вызова функции HtmlHelpA для открытия файла *.chm на странице, которая открывается по умолчанию? Ну а после, с помощью MSDN и своих силенок может и сам разберусь что к чему. Please, gentlemen...
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32352984
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для затравки :)

constant uint HH_DISPLAY_TOPIC = 0

Вызов с 0 точки входа:
lul_Res = HtmlHelpA( al_WHandler, 'c:\Help.chm', HH_DISPLAY_TOPIC, 0)

Вызов стр. 'Start.htm':
lul_Res = HtmlHelpA( al_WHandler, 'c:\Help.chm::/Start.htm', HH_DISPLAY_TOPIC, 0 )
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353018
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм-м-м... Да я вроде так делал, игрался с параметрами, сейчас попробовал опять - все равно не получается лезет ошибка (как и в те разы).

PowerBuilder Application Execution Error (R0015)
Error: calling extarnal function HtmlHelpA...


Описал функцию HtmlHelpA в невидемом пользовательском объекте. Ставил в Local External Functions и даже в Global External Functions что-то не помогает. Может еще что-то "нарисовать" нужно?
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353091
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HWND HtmlHelpA(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD dwData)

FUNCTION boolean HtmlHelpA(long hWndMain, ref string lpszHelp, long uCommand, long dwData) LIBRARY "user32.dll"

Попробуй так - может, прокатит.
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353183
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приношу свои извинения за след. уточнения.
(Код от 2001 года, полностью не посмотрел)

Определение ф-и:
Function ulong HtmlHelpA( ulong hwndCaller,string pszFile,ulong uCommand,ulong dwData) Library "HHCTRL.OCX"
Лежать может в %Windows%\system32
Вызов в коде:
ls_CallHelpStr = ...
lul_Res = HtmlHelpA( al_WHandler, ls_CallHelpStr, HH_DISPLAY_TOPIC, 0)
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353199
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем все эти external function calls?
РВшная ShowHelp поддерживает *.chm ...
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353284
Moiseeff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пользуюсь:
Function ulong HtmlHelp (ulong hwndCaller, string pszFile, uint uCommand, ref string dwData) LIBRARY "hhctrl.ocx" Alias for "HtmlHelpA"

Пример вызова:
HtmlHelp(Handle(aw_Riquestor), "UserGuide.chm", 0, "ugPart1.chm::/файл.htm")

Для компиляции chm'ок использую HTML Help Workshop.

P.S. UserGuide.chm является "оболочкой" для "ugPart1.chm", "ugPart2.chm" ...
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353440
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, я и опять на работе. Очень внимательно посмотрел Ваши советы, господа, и попытался воспользоваться ими. Наверное, следовало бы назвать версии моей системы, как любит настаивать один местный очень УВАЖАЕМЫЙ гуру. Итак, PowerBuilder 7.0.3 Build 10150, Windows Server 2000 Advanced (SP3). Я посчитал это не существенным, по-этому и не написал об этом раньше.
А теперь все по порядку.

To gerss
Не прокатило...

To Raven A
Ваш совет очень напоминает совет Moiseeff , только у него это более доступно описано

To Филипп
Все же я полагаю, что PowerBuilder 7.0.3 ShowHelp не поддерживает *.chm файлы...

To Moiseeff
На первый взгляд, Ваш совет лучше всего мне подходит. По крайней мере, удалось запустить Help. Сейчас попробую этим "поиграться"...
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353602
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще есть вопросы. Итак, описание у функции стало таким:
Function ulong HtmlHelpA(ulong hwndCaller, string pszFile, uint uCommand, ref string dwData) LIBRARY "hhctrl.ocx" Alias for "HtmlHelpA"

1. Делаем проект на HTML Help Workshop , Help лежит в папке С:\HelpProject , т.е. файл *.hhp . Сами файлы помощи в папке C:\HelpProject\Books Online , естественно стартовый файл есть C:\HelpProject\Books Online\index.html .
Вызываю окно справки

String ls_File, ls_Value
Long ll_hWnd
constant uint HH_DISPLAY_TOPIC = 0

ls_File = "C:\HelpProject\Help.chm"
ls_Value = "0"
ll_hWnd = Handle(w_Requester)
HtmlHelpA(ll_hWnd, ls_File, HH_DISPLAY_TOPIC, ls_Value)


Внимание вопрос. Как мне отобразить хелп и показать стартовый файл C:\HelpProject\Books Online\index.html ? При запуске скрипта, указанного выше, появляется Help с пустой страницей. Пробовал прописывать index.html в разный комбинациях, но не получается подобрать нужный вариант. Moiseeff написал, конечно, похожий пример, но у меня ОДИН файл .chm , т.е. он является "оболочкой" для самого себя (в терминах Moiseeff ).

2. В HTML Help API functions используются различные параметры, к примеру, HH_DISPLAY_TOPIC (см. выше). Как мне узнать соответствие между данными параметрами и числом типа uint ? Знание сего пригодится при описании структур типа таких:

constant uint HH_DISPLAY_TOPIC = 0

К примеру, чему будет равно constant uint HH_HELP_CONTEXT = ? Ну и т.д.
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32353781
Moiseeff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
constant uint HH_DISPLAY_TOPIC = 0 //0x0000
constant uint HH_HELP_FINDER = 0 //0x0000 // WinHelp equivalent
constant uint HH_DISPLAY_TOC = 1 //0x0001 // not currently implemented
constant uint HH_DISPLAY_INDEX = 2 //0x0002 // not currently implemented
constant uint HH_DISPLAY_SEARCH = 3 //0x0003 // not currently implemented
constant uint HH_SET_WIN_TYPE = 4 //0x0004
constant uint HH_GET_WIN_TYPE = 5 //0x0005
constant uint HH_GET_WIN_HANDLE = 6 //0x0006
constant uint HH_ENUM_INFO_TYPE = 7 //0x0007 // Get Info type name, call repeatedly to enumerate, -1 at end
constant uint HH_SET_INFO_TYPE = 8 //0x0008 // Add Info type to filter.
constant uint HH_SYNC = 9 //0x0009
constant uint HH_RESERVED1 = 10 //0x000A
constant uint HH_RESERVED2 = 11 //0x000B
constant uint HH_RESERVED3 = 12 //0x000C
constant uint HH_KEYWORD_LOOKUP = 13 //0x000D
constant uint HH_DISPLAY_TEXT_POPUP = 14 //0x000E // display string resource id or text in a popup window
constant uint HH_HELP_CONTEXT = 15 //0x000F // display mapped numeric value in dwData
constant uint HH_TP_HELP_CONTEXTMENU = 16 //0x0010 // text popup help, same as WinHelp HELP_CONTEXTMENU
constant uint HH_TP_HELP_WM_HELP = 17 //0x0011 // text popup help, same as WinHelp HELP_WM_HELP
constant uint HH_CLOSE_ALL = 18 //0x0012 // close all windows opened directly or indirectly by the caller
constant uint HH_ALINK_LOOKUP = 19 //0x0013 // ALink version of HH_KEYWORD_LOOKUP
constant uint HH_GET_LAST_ERROR = 20 //0x0014 // not currently implemented // See HHERROR.h
constant uint HH_ENUM_CATEGORY = 21 //0x0015 // Get category name, call repeatedly to enumerate, -1 at end
constant uint HH_ENUM_CATEGORY_IT = 22 //0x0016 // Get category info type members, call repeatedly to enumerate, -1 at end
constant uint HH_RESET_IT_FILTER = 23 //0x0017 // Clear the info type filter of all info types.
constant uint HH_SET_INCLUSIVE_FILTER = 24 //0x0018 // set inclusive filtering method for untyped topics to be included in display
constant uint HH_SET_EXCLUSIVE_FILTER = 25 //0x0019 // set exclusive filtering method for untyped topics to be excluded from display
constant uint HH_INITIALIZE = 28 //0x001C // Initializes the help system.
constant uint HH_UNINITIALIZE = 29 //0x001D // Uninitializes the help system.
constant uint HH_PRETRANSLATEMESSAGE = 253 //0x00fd // Pumps messages. (NULL, NULL, MSG*).
constant uint HH_SET_GLOBAL_PROPERTY = 254 //0x00fc // Set a global property. (NULL, NULL, HH_GPROP)
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354014
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Moiseeff это очень ценная информация. А как на счет первого вопроса? Можно для меня что-нибудь прояснить?
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354052
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... Получилось без указания начального файла

String ls_File, ls_Value
Long ll_hWnd
constant uint HH_DISPLAY_INDEX = 2

ls_File = "C:\HelpProject\Help.chm"
ls_Value = ""
ll_hWnd = Handle(w_Requester)
HtmlHelpA(ll_hWnd, ls_File, HH_DISPLAY_TOPIC, ls_Value)


Но во всех примерах, и здесь на данном форуме тоже, использовалось указание на конкретный файл. Конечно, можно открывать как у меня сейчас получилось и при этом в ls_Value = "" прописывать нужное слово для поиска, но как все же обращаться непосредственно к нужному файлу?
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354061
Moiseeff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример.

Код: plaintext
1.
2.
3.
n_cst_hhctrl lnv_hh
string ls_file =  "C:\Program Files\Sybase\PowerBuilder 9 . 0 \Help\pbman90.chm"
string ls_topic =  "apptechp1.htm" 
lnv_hh.HtmlHelp(Handle(this), ls_file,  0 , ls_topic) 
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354140
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Moiseeff
Видимо, есть момент недопонимания. Пример, приведенный выше, работает отлично. Но как быть в моем случае? Для меня раньше, а сейчас тем более, абсолютно понятно, что проблема в том, что система не может найти конкретный файл, т.к. с путями что-то не так. Выше я специально прописал пример с полными путями к файлам, чтобы все было понятно. Насколько я понимаю, при создании системы помощи создают типа сайта, с соответствующей структурой. Дальше все это компилят и получают на выходе .chm . Так вот сайт, состоит не из одной папки, где все .html файлы навалены в кучу. Есть своя структура каталогов. Обращение к файлу на первом уровне и к файлу во вложенной папке должно быть разным, учитывающим пути. Moiseeff , все таки можно мне обьяснить, на моем примере, как вызывать файл C:\HelpProject\Books Online\index.html ?
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354190
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, На PowerBuilder 9 надо переходить. Сейчас попробовал в 9-ке использовать функцию ShowHelp - все работает, файл *.chm открывается без всякого геморроя. Жаль, что PowerBuilder 7.0.3 не поддерживает такие файлы...
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354217
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем СПАСИБО, разобрался сам достаточно было

ls_Value = "Books Online\index.html"
...
Рейтинг: 0 / 0
Help for PowerBuilder Applications
    #32354474
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PowerBuilder 8 тоже поддерживает ShowHelp с файл *.chm ...
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Help for PowerBuilder Applications
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]