Что нового

Развитие русской справки

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Лично для себя я перевёл это так (свободный перевод):
- Не только объявленная переменная может быть в качестве аргумента ByRef, но и временная переменная, которая создаётся в качестве возвращаемого значения функции.

Код:
$a = 10
$b = 20

_Minus(_Sum($a, $b), $b)
ConsoleWrite(StringFormat("> $b - ($a + $b) = %s\n", $b))

Func _Sum($a, $b)
	Return $a+$b
EndFunc ;==>_Sum

Func _Minus(ByRef $a, ByRef $b)
	$b-=_Sum($a, $b)
EndFunc ;==>_Minus
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO
У меня не работает извлечение файлов в CHMtoOnLine.7z, там видимо старая версия 7z.exe, на моей системе выдаёт ошибки.
Рабочая версия есть тут.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO
Да и ещё, можно как то сделать ссылку на возврат в главное меню справки из каждой функции?
В онлайн варианте будет полезно.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Я кажется придумал как привязать стиль справки к выбранной теме оформления на форуме :laugh:...
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
CreatoR [?]
Да и ещё, можно как то сделать ссылку на возврат в главное меню справки из каждой функции?
Можно заменить текст "Описание функции" вместе с тегами на саму себя с добавлением префикса в виде ссылки. С другой стороны зачем делать слишком юзабельной онлайн-справку? Будет напряг для сервера. Лучше для новичков дать ссылку как пример, но в итоге направить к офлайн-справке - CHM.


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

Garrett
У вас красиво переведено, но мне кажется даже в самом англ. варианте уже заложено противоречие. Любая переменная является объявленной, даже временная, поэтому противопоставление выглядит не совсем удачно. Во вторых для новичка такая заранее продуманная конструкция специального возврата во временную переменную будет не понятна по причине не опытности. Единственная функция, которая построена на временной переменной _PathSplit, может ещё есть, но я не припомню. Когда новичок приобретёт опыт он сам поймёт, что можно создать временную переменную для возврата, и это будет не по тому что это написано в описании к ByRef, а по обычному правилу переменных. Я могу создать переменную и возвратить в неё всё что угодно, без описания всех вариантов использования переменных.

Может просто удалить строку
безымянные временные переменные, такие, как значения, возвращённые функциями, также могут быть переданы в качестве параметра ByRef
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO
К справке чёрного стиля, патч применять нельзя?
Я в скрипт генерации онлайн справки добавил скачивание справки с твоего ресурса, также сделал генерацию и для чёрного стиля, но я так понимаю что там вместо default.css должен быть style.css (от black)?
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
CreatoR сказал(а):
AZJIO
К справке чёрного стиля, патч применять нельзя?
Я в скрипт генерации онлайн справки добавил скачивание справки с твоего ресурса, также сделал генерацию и для чёрного стиля, но я так понимаю что там вместо default.css должен быть style.css (от black)?
Там только заменить default.css ну и некоторые картинки. Но так как патч содержит default.css то он опять вставляет белый цвет. Поэтому просто после патча нужно из чёрной темы взять default.css и справка станет чёрной. А style.css он же внешний и при его наличии JavaScript вставит новую строку стиля. Чтобы сделать онлайн выбор стиля через cookies, для этого есть специальный JavaScript с сохранением выбора, при этом при каждом открытии странички скрипт читает из cookies значение выбора и вставляет соответствующую тему. Выбор темы осуществляется на главной странице. Как сделать выбор через форум я не знаю. В теории нужно при активизации механизма выбора темы прописывать запись в cookies, иначе вроде не получится.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO [?]
style.css он же внешний и при его наличии JavaScript вставит новую строку стиля
Что значит внешний, куда его поместить чтобы он подцепился?
На данный момент я просто переименовал его в default и кинул в папку css.


AZJIO
Как сделать выбор через форум я не знаю
Я сделал, в Geshi просто указал чтобы ссылки генерировались в соответствии с текущей темой (в папке autoit_docs лежат 3 папки с названиями тем форума, в каждой из них справка с соответствующими стилями).
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
CreatoR
В каком то смысле даже без заморочек. Только CSS белый я не зря под онлайн-справку подстраивал, сейчас шрифт мелкий, надо будет чёрную тему тогда подстроить тоже.


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

default.css для онлайн-справки, чёрная
http://rghost.ru/55359295
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Обновлён UDFs3.chm. Функции _IE... ещё 8 описаний и 12 примеров
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO
Можно обновить полный комплект?

AZJIO [?]
CSS белый я не зря под онлайн-справку подстраивал, сейчас шрифт мелкий, надо будет чёрную тему тогда подстроить тоже.
Я немного запутался что из них и где использовать...
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
CreatoR
Я немного запутался что из них и где использовать...
default.css, который я выложил отдельно надо использовать в онлайн-справке для чёрной темы.

Можно обновить полный комплект?
Зачем? Я каждый день что-то подправляю, и перезаливать после каждой правки как-то не рационально. Я поставил планку - 50-100 листов попровил/перевёл, тогда обновляю. Я засекал, не менее 2 часов уходит, чтобы выложить комплект (сборка, перепаковка, копирование примеров, отписка обнов в Readme и на 3-х ресурсах)
 

Naisho

Знающий
Сообщения
86
Репутация
12
CreatoR сказал(а):
AZJIO [?]
Просто онлайн справка на данный момент устаревшая (вроде?).

На официальном форуме Jos сделал автоматическую генерацию онлайн справки из *.chm
http://www.autoitscript.com/forum/topic/160435-new-scite4autoit3-available-with-scite-v341/page-9#entry1172792
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Naisho
В теории извлечь архив из CHM вот и вся генерация, а на практике обработать особенности каждого отдельно взятого CHM и под отдельно взятые особенности сервера. Например "narod" не позволял символы "_" и "$", "ucoz" требует UTF-8 и это мелочи, иногда относительные ссылки на вложенные страницы не работают. Кроме того в отличии от CHM онлайн справка может содержать список файлов текущей директории в index.htm, открывающийся при указании не страницы, а "папки". В общем если это работает для справки SciTE, то не обязательно будет работать для справки AutoIt3.

CreatoR
Ок, хотя это не так страшно. там просто в index.htm файлах некоторые описания будут на англ. языке. А как открыть эти описания не каждый догадается. Это у меня привычка затирать путь в адресной строке, чтобы поднятся на уровень выше.


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

Обновлены промежуточные версии.
Удалены ссылки, если они переходят на ту же страницу, на которой находятся.
В CustomUDFs.chm добавлены ссылки на пользовательские функции в пределах этого CHM.
FileCopy - улучшен пример и описание.
CHMtoOnLine.7z - обновлён.

CreatoR
Твой 7z.exe у меня не работает. Может он от x64? Я только обновил до 9.20, оставив от x86. Чёрная тема - default.css в комплекте.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO [?]
CHMtoOnLine.7z - обновлён.
Что именно в нём обновлено?
Дело в том что я немного модифицировал скрипт генерации, он теперь скачивает файлы справке в случае если они обновлены.

Твой 7z.exe у меня не работает. Может он от x64?
Возможно. Нужно видимо две версии оставлять, и запускать в соответствии с разрядностью.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
CreatoR
Что именно в нём обновлено?
Код:
$html = StringRegExpReplace($html, '\s*<script language="javascript" src="[./]*css/external.js" type="text/javascript"></script>', '') ; удалит тег script для смены темы
		$k += @extended

Это строка для CHM-справки, для принятия внешнего файла темы.

Добавь в _Processing этот код
Код:
If Not $Tr Then $html = StringReplace($html, '<p class="header">Описание ключевого слова</p>', '<p class="header"><a href="../index.htm"> &uarr; </a><a class="le" href="index.htm"> &larr; </a> Описание ключевого слова</p>')
		$html = StringReplace($html, '<p class="header">Описание функции</p>', '<p class="header"><a href="../index.htm"> &uarr; </a><a class="le" href="index.htm"> &larr; </a> Описание функции</p>')


Ещё раз перезалил, убрал подчёркивание в ссылках в списках функций (в папке Patch).

И добавил ссылку к списку текущей папки? То есть две ссылки...


Варианты для заголовочного описания функции FileFindFirstFile:
Инициализирует дескриптор поиска, определяемый с помощью пути и маской файла.
Создаёт объект для начала поиска, хранящий путь, маску и позицию для получения следующего файла.
Обновлена AutoIt3.chm и UDFs3.chm, поправки в разделе File..., ссылки на функции в описаниях UDF.
 

gora

Знающий
Сообщения
315
Репутация
19
AZJIO [?]
Варианты для заголовочного описания функции FileFindFirstFile:
1 Инициализирует дескриптор поиска, определяемый с помощью пути и маской файла.
2 Создаёт объект для начала поиска, хранящий путь, маску и позицию для получения следующего файла.
Если вариант 1, то наверное нужно поправить:
Инициализирует дескриптор поиска, определяемый с помощью пути и маски файла.
Почему в варианте 2 идет речь о "следующем" файле!? В названии, да и по сути, речь идет о "первом" найденном файле.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
gora [?]
да и по сути, речь идет о "первом" найденном файле.
Вот тут-то собака и зарыта. Мы с точностью 100% не можем утверждать что функция ставит позицию на первый файл. А вдруг я отказался от поиска и зачем было делать холостой ход? Да и по сути о каком первом файле идёт речь? Первый файл будет получен вызовом FileFindNextFile. Так что ничего кроме дескриптора эта функция не возвращает. Она просто подготавливает буфер-структуру для хранения настроек поиска, о чём я и попытался указать в главной определяющей строке описания.
Кстати в FileFindNextFile я добавил своё описание "Механизм работы ....". Но пока я его писал, в оригинальной новой англ. справке появилось тоже некое описание. Но если честно, то оно не раскрывает вообще ничего, а повторяет уже выше сказанную инфу. То есть описание параметра говорит "Дескриптор поиска, возвращённый функцией FileFindFirstFile()." Из этого ясно что требуется делать вызов FileFindFirstFile, чтобы использовать её дескриптор, зачем ещё в описании повторять это опять, а самого главного не сказать? Также в этом описании повторяется инфа об ошибке.
Поэтому я оставил своё описание, оно основывается на предположении, но это предположение слишком очевидно, чтобы сомневаться. А для новичков сразу раскрывает смысл функции.
 

gora

Знающий
Сообщения
315
Репутация
19
AZJIO [?]
Мы с точностью 100% не можем утверждать что функция ставит позицию на первый файл.
Да, не можем. Но и Ваши предположения, лишь предположения, а не истина. Но не это главное. Если автор использует в названии функции слово First, то ему наверное виднее. А почему не может быть, что этот указатель действительно указывает на первый файл, а FileFindNextFile получает этот файл и затем инкрементирует этот указатель? Разве так не может быть?

AZJIO [?]
А вдруг я отказался от поиска и зачем было делать холостой ход?
А в чем холостой ход? FileFindFirstFile должна возвратить ошибку, если указанного файла (файлов) не существует. А не имея указателя на этот файл проверить его существование все равно не удастся. Значит ход не холостой, а вынужденный.
 
Верх