Что нового

Генерация HTML/CHM для WinAPIEx.au3

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
CreatoR [?]
Это нужно для процесса раскраски в процессе генерирования файлов справки, после компиляций уже ничего не нужно.
так я про че и говорю. я скачал готовый chm, он не разукрашен. после чего я и написал. а мне Yashied ответил, что для корректного отображения надо скайт поставить. вообще дефолтный scite4autoit у меня стоит.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
Сделай пож. для всех разделов.
А зачем оно к примеру в Related, или в Remarks даже?


Kaster [?]
я скачал готовый chm, он не разукрашен. после чего я и написал. а мне Yashied ответил, что для корректного отображения надо скайт поставить
Что то я не могу найти где он тебе посоветовал поставить scite для корректного отображения. Он писал про необходимость этого редактора для корректной раскраски, а от того что scite поставишь после компиляций, ничего не изменится ;D

дефолтный scite4autoit у меня стоит
кхм...кхм...
[?]
Что показывает ConsoleWrite($sSciTEDir) если поместить это после «#EndRegion Global Variables»?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Kaster сказал(а):
хм. а у меня нет никакой раскраски. просто бледно синий текст в примерах

Ну я же не знал, что ты запускал готовый .chm.

:smile:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Yashied [?]
Ну я же не знал, что ты запускал готовый .chm
ну да. не написал, виноват ;D
просто я запостил это сразу под твоим сообщением, где ты давал ссылку на chm. а готового, разукрашенного пока нет получается?
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
gregaz сказал(а):
Так все же что нужно чтобы поиск работал ?.
У меня не пашет

Давай по порядку. Не пашет где? Если в том .chm, что я выложил, то я не знаю почему. Если работает в любом другом .chm (в том числе и в AutoIt), то должен и здесь работать. Если не работает в файле, который ты сам скомпилировал (или с помощью программы CreatoR'а), то см. выше, где я написал, какого файла там не хватает. Надеюсь CreatoR это пофиксит. У тебя какой случай?
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Yashied [?]
то см. выше, где я написал, какого файла там не хватает.
Компилировал программой CreatoR'а.
После установки itcc.dll Вроде поиск заработал. Спасибо .
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
После компиляции этот файл не нужен.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
После регистрации dll - конечно заново компилировал.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
А, как то можно к официальной справке прикрепить полученный chm файл? что бы в редакторе SciTe не только синтаксис подсвечивался? но и по клавише F1 вызывался полученный файл справки? :whistle:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Я не знаю, может CreatoR скажет. Я вот жду обновленную версию его супер генератора, с фиксом "|", а то в 0.4 тоже самое. Или он ее еще не поправил...

:smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Guezt [?]
что бы в редакторе SciTe не только синтаксис подсвечивался? но и по клавише F1 вызывался полученный файл справки?
Можно...

В папку рядом с «AutoIt3Help.exe» помещаем файл «WinAPIEx.chm» (наш файл справки), сам файл «AutoIt3Help.exe» переименовываем в «~AutoIt3Help.exe», и пишем в этой же папке следующий скрипт:

Код:
If $CmdLine[0] = 0 Then
	Run(@ScriptDir & '\~AutoIt3Help.exe')
	Exit
EndIf

$iRunWinAPIEx = 1
$aFuncs = _AU3Lib_GetFuncsNames(@ScriptDir & "\Include\WinAPI.au3")

For $i = 1 To UBound($aFuncs)-1
	If $aFuncs[$i] = $CmdLineRaw Then
		$iRunWinAPIEx = 0
		ExitLoop
	EndIf
Next

If $iRunWinAPIEx And StringLeft($CmdLineRaw, 7) = "_WinAPI" Then
	_OpenChm(@ScriptDir & "\WinAPIEx.chm", "funcs/" & $CmdLineRaw & ".htm")
Else
	Run(@ScriptDir & '\~AutoIt3Help.exe ' & $CmdLineRaw)
EndIf

Func _AU3Lib_GetFuncsNames($sIncludeFile)
	If Not FileExists($sIncludeFile) Then Return -1
	
	Local $aFileRead = StringSplit(StringStripCR(FileRead($sIncludeFile)), @LF)
	Local $aRetFuncsNames[$aFileRead[0]+1]
	
	For $i = 1 To $aFileRead[0]
		If StringLeft($aFileRead[$i], 5) = "Func " Then
			$aRetFuncsNames[0] += 1
			$aRetFuncsNames[$aRetFuncsNames[0]] = StringRegExpReplace($aFileRead[$i], "(?i)Func(?:\s+)?(.*?)\(.*$", "\1")
		EndIf
	Next
	
	ReDim $aRetFuncsNames[$aRetFuncsNames[0]+1]
	Return $aRetFuncsNames
EndFunc

Func _OpenChm($sFile, $sHtm_Path = '')
	Local $sHH_File = 'hh.exe'
	
	If $sHtm_Path <> '' Then $sFile &= '::/' & $sHtm_Path
	ShellExecute($sHH_File, $sFile, StringRegExpReplace($sFile, "\\[^\\]*$", ""), "open")
EndFunc


компилируем его с именем «AutoIt3Help.exe» и всё.

Теперь при вызове справки для выделенных функций WinAPIEx будет вызываться внешняя справка, для всего остального как и раньше. Определение, является ли выделенная функция частью библиотеки WinAPIEx, я сделал методом проверки всех функций оригинальной библиотеки («WinAPI.au3»), и если совпадения нет, и при этом имя функций начинается с «_WinAPI», то запускается внешняя библиотека «WinAPIEx.chm».


Добавлено:
Сообщение автоматически объединено:

OffTopic:
Yashied
Я только что вернулся с соревнований, сейчас займусь всеми замечаниями...
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
А еще можно интегрировать WinAPIEx.chm в AutoIt3.chm и тогда будет полноценная справка в одном "флаконе". Вот только не знаю хорошо это или нет.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Yashied [?]
Вот только не знаю хорошо это или нет.
а когда уже включат твою либу в список нативных UDF? 8)
тогда это будет вполне закономерным шагом
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Kaster сказал(а):
Yashied [?]
Вот только не знаю хорошо это или нет.
а когда уже включат твою либу в список нативных UDF? 8)
тогда это будет вполне закономерным шагом
Ну, для начала нужно разработчикам предложить её включить. :smile:
Давайте выйдем с предложением на офф. сайт?!
Кто-нибудь, из знающих хорошо английский, озвучит, а всё сообщество поддержит!
Думаю, что на девяносто процентов, успех обеспечен!
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
Предложи Jon'у свою кандидатуру, на пост управляющего всем что связанно с UDF :smile: (это должность Garry если я не ошибаюсь).
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
CreatoR сказал(а):
Предложи Jon'у свою кандидатуру, на пост управляющего всем что связанно с UDF...

Надо подумать...

:smile:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Кстати, если кому интересно, то вот генераторы au3.user.calltips.api и au3.userudfs.properties для WinAPIEx.au3. Можно легко переделать под любой другой UDF.
 
Верх