Встала сейчас проблема выбора системы справки, которая будет распространяться вместе с .net-овской программой (дотнет 2-й). От справки хочется, как возможность читать в обычном стиле (типа книжки, по разделам), так и возможность контектной справки из программы. В то же время, поиск по ключевым словам хотя и желателен, но не критичен.
Известными мне вариантами для организации системы справки являются:
Просто текстовый или Word-овский документ. Прост для чтения, но не подходит для контекстной справки.
Старый win16 help. Устарел по ряду причин. Кроме того, он неудобен и пользователи его уже толком не знают, т.к. встречается такой help редко.
chm-файлы. Всем игрушка хороша, но: случается, что она не открывается, если скопировать в каталог, в пути которого есть русские буквы; на вход компилятору Html Help Workshop подается с понтом xml (на самом деле там какой-то свой и весьма странный парсер, который иногдп не понимает валидный xml). Данное решение устроило бы, если нашелся бы способ обойти указанные проблемы. Особенно критичен в данном случае вопрос открывания chm из русской директории.
справка а ля msdn. Как ею пользоваться (и возможно ли), если нет установленного msdn. Программа нацелена на конечных пользователей, а не на разработчиков, поэтому надо расчитывать только на то, что ставится в систему по умолчанию, либо на то, что несется с собой (тут нет напрягов по месту, т.к. продукт распространяется на CD, но зато возможно есть проблемы с лицензированием — ту же основу msdn поставить скорее всего нельзя, я прав?)
справка а ля windows help and support (тот, что Start->Help And Support). Тут пока не понятно, можно ли и как с ним работать. Имел ли с такой справкой дело, какие есть для работы с ней инструменты и насколько удобно общаться с ней из .net?
рассматривается также любой другой вариант справки
Спасибо за внимание.
т.е. генеральная линия партии — трахайтесь с прикручиванием Help 2 для пользовательского применения и использования из под .net, и не трахайтесь с глюками Help 1?
и генеральной линии партии без "трахаться" не существует?
Здравствуйте, DarkGray, Вы писали:
DG>т.е. генеральная линия партии — трахайтесь с прикручиванием Help 2 для пользовательского применения и использования из под .net, и не трахайтесь с глюками Help 1?
я не вижу у chm каких-то таких глюков, которые бы не давали мне его применять
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, DarkGray, Вы писали:
DG>>т.е. генеральная линия партии — трахайтесь с прикручиванием Help 2 для пользовательского применения и использования из под .net, и не трахайтесь с глюками Help 1?
OE>я не вижу у chm каких-то таких глюков, которые бы не давали мне его применять
С этим глюком очень не хочется применять:
не открывается, если скопировать в каталог, в пути которого есть русские буквы
Поскольку пользователи вполне вероятно скопируют его в Мои документы или куда-то в подобное место. Таких будет, конечно, мало, но достаточно, чтобы обеспечить постоянный поток обращений в службу поддержки.
OE>я не вижу у chm каких-то таких глюков, которые бы не давали мне его применять
1. частичная поддержка unicode
2. недо-xml-ный формат файлов проекта (усложняется задачи генерации и частичной генерации)
3. сырость (вернее устарелость) компилятора hhc — постоянно какие-то подводные камни всплывают: то пути слишком длинные, то у строк длина слишком большая, то файлов слишком много и т.д.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, krasin, Вы писали:
A>А просто набор HTML файлов? Единственное существенно отличие от CHM — отсутсвие сжатия. А дерево и проч можно сделать. RoboHelp умеет.
Это вариант. Минус, понятно, в том, что пользователь может "поломать" справку. Плюс — в гарантированной работе.
Здравствуйте, HowardLovekraft, Вы писали:
HL>Здравствуйте, krasin, Вы писали:
K>>Это вариант. Минус, понятно, в том, что пользователь может "поломать" справку.
HL>Так он при наличии кривых рук все, что хочешь поломает.
Имелось ввиду, что степень кривизны рук в данном случае может быть и не очень большой, для того чтобы можно было поломать справку.
A>А просто набор HTML файлов? Единственное существенно отличие от CHM — отсутсвие сжатия. А дерево и проч можно сделать. RoboHelp умеет.
минусы:
нет общего поиска
тяжелее распространять (хотя бы, например, создание инсталяшки — в одном случае, файл с фиксированным именем, в другом — меняющееся дерево файлов, или, например, замена на более новую версию)
более тяжеловесные (более тормозные) — содержание и index (т.к. они обычно большие, и в html-е требуют полного распарсивания и полного рендеринга)
необходимо изобретать велосипед для работы с такой справкой из под .net-а
В принципе появилась такая вот идея. Взять HTMLayout (потому что шустрый и нравится) для отображения файлов. Сами HTML файлы хранить внутри ZIP/RAR/7Z/Whatever. Наваять элемент управления для отображения всего этого чуда дело пары дней. Дерево и так есть в виде дерева файлов в архиве — его и отображать. Прикрутить относительные ссылки по самопальному протоколу а ля help:// дело 5 минут. Редакторов HTML файлов завались. Единственная существенная загвоздка в индексации и поиске.
А так, не внешний просмотрщик, а именно .Net компонент куда круче. Текст справки можно и в тултипе показывать, и в окне программы открывать (как VS), и рядом (как офис). Да и с путями файлов и прочьей ерундой проблем быть уже не должно. Вот я думаю, если бы мне кто-то помог разобратсья с индексацией и поиском, я бы может и написал в свободное время что-то подобное...
Можно сделать небольшой мостик между HTML файлами и пользователем — справку поместить в архив и налету ее показывать с помощью небольшой программки, включающей в себя Web Browser.
Здравствуйте, krasin, Вы писали:
OE>>я не вижу у chm каких-то таких глюков, которые бы не давали мне его применять
K>С этим глюком очень не хочется применять: K>
K>не открывается, если скопировать в каталог, в пути которого есть русские буквы
K>Поскольку пользователи вполне вероятно скопируют его в Мои документы или куда-то в подобное место. Таких будет, конечно, мало, но достаточно, чтобы обеспечить постоянный поток обращений в службу поддержки.
у меня все chm -ы нормально открываются в каталогах с русскими именами Не открываются они только если в пути есть символ #.
Здравствуйте, DarkGray, Вы писали:
OE>>я не вижу у chm каких-то таких глюков, которые бы не давали мне его применять
DG>1. частичная поддержка unicode
м.б., меня не напрягает DG>2. недо-xml-ный формат файлов проекта (усложняется задачи генерации и частичной генерации)
м.б., генерацией не занимался, тем не менее таковые генераторы chm по коментариям в тексте программ существуют DG>3. сырость (вернее устарелость) компилятора hhc — постоянно какие-то подводные камни всплывают: то пути слишком длинные, то у строк длина слишком большая, то файлов слишком много и т.д.
это есть, русские имена htm лучше не использовать (но у меня и нет такой привычки), ограничения по количеству файлов вполне решаются разбиением справки на несколько chm (оно вообще говоря и само по себе не вредно), да и возникает эта проблема если в chm заталкивать сайт типа rsdn
Здравствуйте, Odi$$ey, Вы писали:
OE>у меня все chm -ы нормально открываются в каталогах с русскими именами Не открываются они только если в пути есть символ #.
ОС какая? Я проверял на Win2k3.
Спасибо за то, что сообщили. Если эта проблема специфична для Win2k3, то на нее точно можно забить.
Здравствуйте, c-smile, Вы писали:
CS>Joel сделал из htmlayout "родной" .NET component. CS>Он как-то даже исхитрился саму dll в сборку засунуть.
Хм... а смысл?
Вобщем я прикручу поддержку событий (всё руки не доходят) и пользовательских протоколов загрузки данных (типа локального APP) и будет замечательный .Net Interop.
Здравствуйте, krasin, Вы писали:
OE>>у меня все chm -ы нормально открываются в каталогах с русскими именами Не открываются они только если в пути есть символ #. K>ОС какая? Я проверял на Win2k3.
Win2k3, открывать я пробовал из OC и программно через HtmlHelp(). Или речь шла именно о .net-ской реализации обращения к chm?
Здравствуйте, krasin, Вы писали:
K>Добрый день, коллеги!
K>Встала сейчас проблема выбора системы справки, которая будет распространяться вместе с .net-овской программой (дотнет 2-й). От справки хочется, как возможность читать в обычном стиле (типа книжки, по разделам), так и возможность контектной справки из программы. В то же время, поиск по ключевым словам хотя и желателен, но не критичен.
K>Известными мне вариантами для организации системы справки являются:
K> K>chm-файлы. Всем игрушка хороша, но: случается, что она не открывается, если скопировать в каталог, в пути которого есть русские буквы; на вход компилятору Html Help Workshop подается с понтом xml (на самом деле там какой-то свой и весьма странный парсер, который иногдп не понимает валидный xml). Данное решение устроило бы, если нашелся бы способ обойти указанные проблемы. Особенно критичен в данном случае вопрос открывания chm из русской директории.
Я только chm или html делаю
K>справка а ля msdn. Как ею пользоваться (и возможно ли), если нет установленного msdn. Программа нацелена на конечных пользователей, а не на разработчиков, поэтому надо расчитывать только на то, что ставится в систему по умолчанию, либо на то, что несется с собой (тут нет напрягов по месту, т.к. продукт распространяется на CD, но зато возможно есть проблемы с лицензированием — ту же основу msdn поставить скорее всего нельзя, я прав?)
Это ужасно. Не далайте этого, нет, нет, ... а-а-а-а-
K>
K>Спасибо за внимание.
Здесь находится маленький (41 Кб) файл справки. Пожалуйста, сделайте тест: скачайте его либо возьмите какой-нибудь chm файл на своем компьютере, скопируйте в каталог в пути которого есть русские буквы и попробуйте открыть. Буду признателен, если вы сообщите о результате: открылось или нет, удалось просмотреть справку или нет. Будет отлично, если вы укажете ОС, под которой проводился тест, а также то, какая она: русская/английская и возможно какой Service Pack.
попробовал и в рус.папке и в англ. папке — открывается, но нет контента в форме справа — пишет "Action canceled" и "The page cannot be displayed"... Вин ХР СП2 англ.
Здравствуйте, Magic_Max, Вы писали:
M_M>попробовал и в рус.папке и в англ. папке — открывается, но нет контента в форме справа — пишет "Action canceled" и "The page cannot be displayed"... Вин ХР СП2 англ.
M_M>данное сообщение получено с www.gotdotnet.ru M_M>ссылка на оригинальное сообщение
Да, такое тоже наблюдалось на некоторых компьютерах, спасибо за поддержку
K>Пожалуйста, сделайте тест: скачайте его либо возьмите какой-нибудь chm файл на своем компьютере, скопируйте в каталог в пути которого есть русские буквы и попробуйте открыть.
WinXP Pro SP2 Eng. Из русского каталога даже не открылось, из английского всё ОК.
Здравствуйте, krasin, Вы писали:
K>Да, такое тоже наблюдалось на некоторых компьютерах, спасибо за поддержку
Пробовал на Win XP SP2 RUS и на Win2k3 SP1 EN в папке с рускими буквами
Сначала:
chm-ка открывалась, но содержимое не отображала (Action Canceled)
Потом зашем в свойства файла (там внизу было написано, что типо файл скачан из сети, может быть опасным), и нажал "разблокировать" (Unlock) все заработало в обех системах
Здравствуйте, krasin, Вы писали:
K>Здравствуйте, krasin, Вы писали:
K>Коллеги!
K>Здесь находится маленький (41 Кб) файл справки. Пожалуйста, сделайте тест: скачайте его либо возьмите какой-нибудь chm файл на своем компьютере, скопируйте в каталог в пути которого есть русские буквы и попробуйте открыть. Буду признателен, если вы сообщите о результате: открылось или нет, удалось просмотреть справку или нет. Будет отлично, если вы укажете ОС, под которой проводился тест, а также то, какая она: русская/английская и возможно какой Service Pack.
K>Спасибо
пробовал и свой и ваш файлы, все открылось успешно. WinXP SP2 Eng.
Здравствуйте, desco, Вы писали:
D>Здравствуйте, krasin, Вы писали:
K>>Здравствуйте, krasin, Вы писали:
K>>Коллеги!
K>>Здесь находится маленький (41 Кб) файл справки. Пожалуйста, сделайте тест: скачайте его либо возьмите какой-нибудь chm файл на своем компьютере, скопируйте в каталог в пути которого есть русские буквы и попробуйте открыть. Буду признателен, если вы сообщите о результате: открылось или нет, удалось просмотреть справку или нет. Будет отлично, если вы укажете ОС, под которой проводился тест, а также то, какая она: русская/английская и возможно какой Service Pack.
K>>Спасибо
D>пробовал и свой и ваш файлы, все открылось успешно. WinXP SP2 Eng.
Пока удается только понять, что проблемы открытием chm из русских папок есть у многих. Но систему уловить не удается.
В папке
D:\UserData\adontz\Desktop\абвгдеёжзийклмнопрстуфхцчшщъыьэюя
ничего не работает.
Windows XP Версия 5.1 (сборка 2600.xpsp_sp2_gdr.050301-1519 : Service Pack 2) ENG.
Русский язык стоит в рамках MUI и активирован.
Autoupdate Включён.
Локаль для неуникодных программ русская.
Здравствуйте, Thornik, Вы писали:
D>>пробовал и свой и ваш файлы, все открылось успешно. WinXP SP2 Eng.
T>А у вас региональные установки какие? (предположение от балды) Т.к. у меня та же самая система — ничего не открывается.
Мое почтение, снимаю шляпу.
Действительно, когда зашел в Regional and Language Settings, поменял Standards and Formats на Русский, то все заработало. Поменял обратно на English (United States), опять из русских папок перестало открываться. Теперь можно смело заявлять, что источник проблем найден. Спасибо!
Здравствуйте, krasin, Вы писали:
K>Действительно, когда зашел в Regional and Language Settings, поменял Standards and Formats на Русский, то все заработало.
А у меня нет
K>Теперь можно смело заявлять, что источник проблем найден.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, krasin, Вы писали:
K>>Действительно, когда зашел в Regional and Language Settings, поменял Standards and Formats на Русский, то все заработало.
A>А у меня нет
K>>Теперь можно смело заявлять, что источник проблем найден.
A>Рановато.
Здравствуйте, <Аноним>, Вы писали:
А>... Win2k3 SP1 EN в папке с рускими буквами
А>Сначала: А>chm-ка открывалась, но содержимое не отображала (Action Canceled)
А>Потом зашем в свойства файла (там внизу было написано, что типо файл скачан из сети, может быть опасным), и нажал "разблокировать" (Unlock) все заработало в обех системах
Здравствуйте, Аноним, Вы писали:
А>Потом зашем в свойства файла (там внизу было написано, что типо файл скачан из сети, может быть опасным), и нажал "разблокировать" (Unlock) все заработало в обех системах
Ой, не знаметил это сообщение раньше. Теперь и у меня всё показывается.
"W:\privates\kostya\Sciens\MSDN\Magazin\пробная папка\русская папка\MsdnMag0600.chm" — вполне открывается на 2003-й. Если всунуть "#" — то оболочка открывается, но не показывает страницы.
Здравствуйте, Dkm_S, Вы писали:
>>Если эта проблема специфична для Win2k3
D_S>"W:\privates\kostya\Sciens\MSDN\Magazin\пробная папка\русская папка\MsdnMag0600.chm" — вполне открывается на 2003-й. Если всунуть "#" — то оболочка открывается, но не показывает страницы.
Спасибо за тест. Как уже было выяснено, не работает, если в Regional And Language Options стоит формат English (United States). Если формат даты/времени/чисел русский, то все отлично работает.У вас ведь русский формат даты/времени?
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, <Аноним>, Вы писали:
А>>... Win2k3 SP1 EN в папке с рускими буквами
А>>Сначала: А>>chm-ка открывалась, но содержимое не отображала (Action Canceled)
А>>Потом зашем в свойства файла (там внизу было написано, что типо файл скачан из сети, может быть опасным), и нажал "разблокировать" (Unlock) все заработало в обех системах
OE>аналогично
Где именно в свойствах файла вы нашли такие настройки???
(WinXP Pro SP2)
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, c-smile, Вы писали:
CS>>Joel сделал из htmlayout "родной" .NET component. CS>>Он как-то даже исхитрился саму dll в сборку засунуть.
A>Хм... а смысл?
А фиг его знает...
Как в том анекдоте:
— "Грыць, ти навищщо того москаля пилкою пиляешь?"
— "А якщо я маю час та натхнэння?"
(на русский не переводится на 100% — извиняюсь)
Захотелось ему — эстет он.
A>Вобщем я прикручу поддержку событий (всё руки не доходят) и пользовательских протоколов загрузки данных (типа локального APP) и будет замечательный .Net Interop.
Здравствуйте, c-smile, Вы писали:
A>>Вобщем я прикручу поддержку событий (всё руки не доходят) и пользовательских протоколов загрузки данных (типа локального APP) и будет замечательный .Net Interop. CS>Кул! покажешь?
Не только покажу, я собираюсь это распространять по лицензии аналогичной твоей старой — free-for-free.
Просто работы сейчас много а не до конца сделанную библиотеку не хочу выставлять. Да и пару статей на тему как пользоваться хорошо бы написать.
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, dmitry_npi, Вы писали:
OE>>>аналогично _>>Где именно в свойствах файла вы нашли такие настройки??? _>>(WinXP Pro SP2)
OE>
Нету такого. Может надо что-то включить?
А в чем заключается эта разблокировка? Может, её можно сделать по-другому?
Здравствуйте, dmitry_npi, Вы писали:
_>Нету такого. Может надо что-то включить? _>А в чем заключается эта разблокировка? Может, её можно сделать по-другому?
Для любого файла который ты скачиваешь с использованием IE создается на NTFS диске так называемый stream. В данном случае он хранит информацию о зоне с которой был получен файл. Вот что выдала на этот файл утилита Streams
С помощью утилиты можно также массово удалить их. Позавчера дома после чистки диска D свободное место увеличилось на 9 мегабайт
Когда ты в свойствах файла делаешь Unblock ты по сути удаляешь ассоциированный с ним stream.
Здравствуйте, Magic_Max, Вы писали:
M_M>попробовал и в рус.папке и в англ. папке — открывается, но нет контента в форме справа — пишет "Action canceled" и "The page cannot be displayed"... Вин ХР СП2 англ.