Что нового

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

Velmor

Новичок
Сообщения
27
Репутация
0
CreatoR
Да, я прочитал Ваш ответ, спасибо. А написал потому, что если кто-то столкнётся с этим моментом - то сможет найти в поиске по форуму (до этого не было результатов).
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Планируется обновление под 3.3.14.2?
 

support

Новичок
Сообщения
1
Репутация
0
Добрый день.
На странице http://autoit-script.ru/autoit3_docs/functions/StringRegExp.htm возможно есть ошибка в описании примера конструкции. В начале не хватает открывающей скобки.


Неверно: Найти [A-Za-z0-9._-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}) - найти почтовые ящики
Верно: Найти ([A-Za-z0-9._-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}) - найти почтовые ящики
 

Frostov

Новичок
Сообщения
3
Репутация
0
Добрый день.
Хочу выразить свою признательность разработчикам и переводчикам русской справки. Спасибо вам, энтузиасты!
Волнует вопрос - русская справка продолжает развиваться вместе с языком Autoit? И в чем сложности в настоящий момент?

Еще раз спасибо за уже проделанную работу!
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,894
Репутация
1,196
Кому интересно, статистика по скачиванию.
911caa6ea361.png

65d7b854b0f4.png
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,894
Репутация
1,196
Интересно было обнаружить что многое нужно снова переделывать. Например открыл "Стили" и понял что ничего не понятно, не понятно для каких целей и в каких комбинациях используется тот или иной стиль. Та информация, что там имеется во многом не раскрывает сути, если я не понимаю для чего, то это заставляет меня вновь экспериментировать. Например делал GUI внутри GUI не по справке, а по поиску в примерах на форуме.
Также открыл шифрование файла и оно не переведено и ещё много... вообщем некогда делать, но имеет смысл это всё переделать.
 
Сообщения
137
Репутация
-2
Русская справка - Функция Send
При запуске примера у меня не вызывается окно блокнота вообще, а буква "к" вписывается прямо в тело скрипта после чего появляется окно 'Окно не найдено, завершаем работу скрипта'.
Код:
; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.

; в англоязычном примере окно называется Run
$hWnd = WinWait("Запуск программы", "", 5)
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf
Sleep(100)

; Эмуляция ввода текста notepad.exe и нажатие Enter
Send("notepad.exe{Enter}")

; Ожидание 5 секунд до появление окна блокнота
$hWnd = WinWait("[CLASS:Notepad]", "", 5)
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf

Send("Сегодняшняя дата и время {F5}")

Sleep(1000)

; Закрывает блокнот.
WinClose($hWnd)

; При закрытии появится окно с предложением сохранить файл, classname вызываемого окна "#32770", эмулируем нажатие "TAB" для перемещения фокуса на вторую кнопку и "ENTER", чтобы отказаться от сохранения.
WinWaitActive("[CLASS:#32770]")
Sleep(500)
Send("{TAB}{ENTER}")


$hWnd = WinWait("Запуск программы", "", 5) - эта строка мне вообще непонятна для блокнота.
Здесь ошибка или я всё делаю не так?
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,894
Репутация
1,196
Dessan

Чтобы всё работало нужно для каждого делать определённую справку, под его систему, под его версию AutoIt, под его какие то настройки текущей раскладки клавиатуры и интерфейс системы. Так много вариантов, что для каждого лично не сделаешь. Сможешь разобраться и ладно, на этом упор, выложить максимальные пояснения в сложных местах. Я делал под WinXP, хотя в разделе "контрол" (внутри раздела "окна") есть примеры учитывающие систему.
Alofa
Нужно не толпу а желание и время. если всё это есть, каждо-дневно двигается. А ставить планы, чтобы успеть под 15, это вообще запредельно. Когда я начинал, была ещё 3.3.6.1 и когда уже прошла версия 3.3.8.1 в небытиё и пошли следующие версии, справка всё равно не была переведена.
 
Сообщения
137
Репутация
-2
Не совсем тот ответ, который я ожидал. У меня все примеры работают исправно. Здесь же вообще непонятный код, хотя элементарный пример. Меня бы больше удовлетворил ответ типа: "Код шикарен, пример рабочий,проверил всё лично только что, проблема у вас либо с виндоус, либо с мозгами". Я, конечно, мог бы написать на это, что в справке можно было б побольше сделать примеров и пояснений, пожаловался на непонятный разброс кода...вообщем, диалог был бы, а так...даже возразить нечего
 
A

Alofa

Гость
Dessan
[box]История перевода справки
--------------------------------------------------------------------------------
В 2009 г. состоялось моё (AZJIO) первое знакомство с AutoIt v3.3.0.0. На тот момент уже существовала русская справка (версии v3.2.5.4), автором которой является Валерий Викторович Иванов. В конце 2010 года уровень знаний достиг понимания несоответствия русской справки с нововведениями существующей на тот момент версии 3.3.6.1. При обсуждении обновления перевода справки выяснилось, что автор существующей на тот момент русской справки не дал добро на редактирование своей справки или использование её как основы для продолжения работы над переводом другими активными участниками форума AutoIt. Когда я подключился к работе над справкой ведущим был SyDr, и на тот момент было переведено примерно половина нативных функций (в AutoIt3.chm), а функции UDF не переведены совсем (кстати, даже переведённую на тот момент половину я многократно переписывал в последствии). Я сразу перевёл строковые функции, потом раздел GUI. Не хотелось ожидать компиляции, поэтому я спросил у SyDr имеющиеся у него скрипты компилирования и начал сам выкладывать CHM-файлы, взяв инициативу на себя.
Справка активно переводилась мной с конца 2010 по конец 2013 г. За это время полностью были переведены нативные функции (AutoIt3.chm), и наиболее популярные функции UDF (UDFs3.chm) и выполнен переход справки с версии 3.3.6.1 на версию 3.3.8.1. Во время перевода gora постоянно находил орфографические ошибки, поэтому был написан скрипт, который экспортирует русский текст в отдельный файл, что позволило легко проверить орфографические ошибки и исправить их все (их было много). Кстати, благодаря ему было также исправлено много смысловых ошибок, мы общались через ICQ. Redline перевёл раздел SQLite и раздел _Date (на тот момент только популярные 17 функций были переведены мной в _Date). В последствии в SQLite мной были переведены ещё 2 функции при переходе на 3.3.8.1 и исправлены орфографические ошибки и сделана ревизия примеров. RUVATA перевёл раздел Excel, мне пришлось исправить множество орфографических ошибок в нём и заменить слово колесия на коллекция.
Страница "Лицензия" перевёл at
Страница "Описание Obj/COM" перевёл hunterxxx
В процессе работы над справкой находилось множество ошибок в оригинальной англоязычной справке. Чтобы разруливать эту ситуацию и сделать перевод ближе к оригиналу я стал отписывать все найденные недочёты на официальном форуме AutoIt.
На официальном форуме было найдено много интересных UDF, и я решил сделать дополнение к справке в виде CustomUDFs.chm. Это не перевод какой либо справки, это с нуля созданная мной справка и на данный момент содержит 346 функций и 26 статей. В раздел "Обучения" добавлены уроки регулярных выражений от Redline. В последствии я сделал ещё 6 своих заметок по регулярным выражениям.

В процессе работы над справкой модернизировались и скрипты обработки страниц. Была добавлена подсветка элементов кода в описании функций. Макросы, функции, переменные отображаются в описании тем же цветом, что и в коде примеров. Это позволило легко различать специальные элементы кода в описании. В синтаксическом блоке также добавлена подсветка. Числовые параметры подсвечены, а значения по умолчанию подсвечены особым цветом. В примерах элементы кода (функции, ключевые слова, операторы, макросы) являются ссылками на свои описания. Так что легко можно кликнув перейти на страницу непонятной функции, а боковой кнопкой мыши или клавишей BackSpace или кнопкой "Назад" на панели инструментов возвратится к просматриваемому прежде примеру. В описании функций подсвеченные элементы кода также являются ссылками. Исключением являются только те элементы, страницы которых в данный момент просматриваются. Был написан скрипт, которым проверил, чтобы все упоминания функций, макросов, ключевых слов соответствовали регистру букв. Был написан скрипт, которым проверил синтаксис и отступы в синтаксическом блоке. С помощью регулярных выражений были получены значения для таблицы языков в приложении. [/box]
Вы понимаете какой объем работ был проведен и сколько лет(!) на это ушло. И все на чистом энтузиазме.
Цените то, что есть.
Dessan сказал(а):
... Я, конечно, мог бы написать на это, что в справке можно было б побольше сделать примеров и пояснений, пожаловался на непонятный разброс кода...
Пожалуйста, займитесь - исправьте все недочеты. Уверен, уж у вас-то получится намного лучше и быстрее. :rofl:


И еще, вы по-видимому не в курсе вот Этой утилиты (или ее Альтернативы).
Если это так, то автоматом следует, что вы не читали:
- Заголовки и текст окон (основы)
- Заголовки и текст окон (расширенные)
- Элементы управления.
 
Сообщения
137
Репутация
-2
Я на форуме 2 недели,c данными утилитами знаком, примеры проверил. За это время я ещё и порядком подлистал русскую справку (толку мало , конечно, но тем не менее ), английскую и пару немецких форумов. Я так понимаю, проблема не столько в переводе, а в исправлении ошибок оригинальной справки и последующей правильной компиляции(вёрстки) русской. К сожалению, мой уровень знания AutoIt не позволяет мне исправлять ошибки кода. Это больше для Гуру AutoIt.
И я ни в коем разе не говорил, что справка написана плохо, я только спросил по поводу примера - рабочий он или нет.
 
A

Alofa

Гость
OffTopic:
Dessan сказал(а):
... по поводу примера - рабочий он или нет.
А вы выполните:
Код:
; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.

... и посмотрите окно, с каким заголовком всплывет.
Но сначала почитайте Это.
 
Сообщения
137
Репутация
-2
Это ж консоль виндоус, она вызывается при любой раскладке клавиатуры. У меня и 98 была и XP, и Millenium, и 2003 Server , и вот сейчас 7, а на втором ноуте 8 , и везде Win+R,независимо от раскладки, вызывает консоль.
Вообщем, пока не зашёл в английскую справку, не мог понять что же хочет автор, тем более при моём уровне знаний AutoIt...А с этими MsgBox - вообще первый раз страшно смотреть было на такой код. Набросал вот такой пример:
Код:
Example()

Func Example()
	; Эмуляция нажатия комбинации клавиш Win + R (вызов командной консоли Windows)

	Send("#r")

	; Ожидаем 5 секунд пока окно консоли не появится
	$hWnd = WinWait("Выполнить", "", 5)
	;-------------------Код блока вызова информационного окна при ошибке вызова консоли (удаление блока не отразится на работе скрипта)
	If Not $hWnd Then
		MsgBox(4096, 'Сообщение', 'Окно консоли не найдено, завершаем работу скрипта')
		Exit
	EndIf
	;-----------------------конец кода блока
	; Эмуляция ввода текста notepad.exe и нажатие клавиши Enter
	Send("n")
	; Задаём время ожидания для успешного ввода каждого символа
	Sleep(100)
	Send("o")
	Sleep(100)
	Send("t")
	Sleep(100)
	Send("e")
	Sleep(100)
	Send("p")
	Sleep(100)
	Send("a")
	Sleep(100)
	Send("d")
	Sleep(100)
	Send(".")
	Sleep(100)
	Send("e")
	Sleep(100)
	Send("x")
	Sleep(100)
	Send("e")

	Sleep(1000)
	; Эмуляция нажатие клавиши 'Enter'
	Send("{Enter}")
	; Ожидание 5 секунд до появление окна блокнота
	$hWnd1 = WinWait("[CLASS:Notepad]", "", 5)
	;-------------------Блок вызова информационного окна при ошибке открытия окна блокнота (удаление блока не отразится на работе скрипта)
	If Not $hWnd1 Then
		MsgBox(4096, 'Сообщение', 'Окно блокнота не найдено, завершаем работу скрипта')
		Exit
	EndIf
	;-----------------------конец кода блока
	; Эмуляция ввода текста "Дата и время" и нажатие клавиши 'F5' для ввода даты и времени в редакторе поля Блокнота
	Send("Дата")
	Sleep(100)
	Send("{SPACE}и{SPACE}")
	Sleep(100)
	Send("время")
	Sleep(100)
	Send("{SPACE}")
	Sleep(100)
	Send("{F5}")
	Sleep(3000)
	; Закрываем окно Блокнота, используя дескриптор, возвращённый от функции WinWait
	WinClose($hWnd1)

	; При закрытии появится окно с предложением сохранить изменения в файле, classname вызываемого окна "#32770"
	WinWaitActive("[CLASS:#32770]")
	Sleep(2000)
	;Эмулируем нажатие "TAB" для перехода на вторую кнопку, для которой нажатие на "ENTER" подтвердит отказ от сохранения файла.
	Send("{TAB}{ENTER}")

EndFunc   ;==>Example


Единственное что, никак не хотело вписывать ни "notepad.exe" ни "время и дата "одной строкой кода. Постоянно теряло половину букв, может кто подскажет почему так? Пришлось практически по буквам вписывать.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,894
Репутация
1,196
Dessan
Попытка две недели изучать AutoIt, немного покритиковать справку, чтобы тот кто над ней работал временно побыл учителем оправдываясь и расписывая по деталям что он имел ввиду... Этот подход мне известен, иногда самому хочется его применить на англоязычном форуме к специалистам. Эта тема обсуждения справки, а не разбор примеров для новичков. Если нравится английская, пользуйся ей. Хотя и в ней я не раз просил авторов указать что такое лексикографическое сравнение или алгоритм распознавания цифр в функции Number или почему SetError возвращает по умолчанию 1, а не ожидаемое 0. Полистай темку, посмотри сколько пачками приходилось отписывать, не спрашивать, а навязывать готовое. Даже было дело для WinAPI выложил 20 рабочих примеров, не принимают ни в какую, перепиши по стандарту справки и всё. С какой стати? Я ей вообще не пользуюсь выложил по доброте, перепиши для себя и добавь в справку... Вот так.
 
Сообщения
137
Репутация
-2
Спасибо за ссылку - мне теперь понятно как справка писалась и почему она такая.
немного покритиковать справку, чтобы тот кто над ней работал временно побыл учителем оправдываясь и расписывая по деталям что он имел ввиду... Этот подход мне известен
- Ох,как я коварен! На самом деле я шпион с английского форума AutoIt и здесь с целью внедрения в доверие и похищения русской справки.
Не в обиду, но,будь вы трижды талантливей Билла Гейтса, с такой подачей справки,лично я бы вас учителем не взял и я объясню почему. Ключевая фраза
Я ей вообще не пользуюсь выложил по доброте
- правильно, вы не пользуетесь, вам не нужно, и половине форума, с пометкой Гуру AutoIt, тоже не нужно. Справку-то пишут и не для них, а для людей без знаний языка программирования, не имеющих диплома программиста,а вы пишите справку как для себя. Она, чудесная, но написана не языком, доступным к пониманию простого смертного.
посмотри сколько пачками приходилось отписывать, не спрашивать, а навязывать готовое.
и
не принимают ни в какую, перепиши по стандарту справки и всё.
- Почитал форум и сразу понял "Почему". Посмотрите сюда ещё раз , пожалуйста
AZIJO, I like the regexp examples. I'm not sure about the If...ElseIf...Else...EndIf examples though. Although I like them too, I think that they could be a little simpler. For something so basic as this, it doesn't make sense to have more advanced stuff mixed in like logical operators and expressions such as MsgBox() = value.
И сюда от него же
True, but examples of more advanced conditional statements occur throughout the help file. An absolute beginner wondering what 'And' and 'Or' might imply, and why does MsgBox have a numerical value is likely to take longer to grasp If...ElseIf...Else...EndIf. I have seen many examples in the help file that are 99 percent about a different (often much more advanced) subject. If I didn't find myself so busy I would devote more time to looking into this. There are also many examples that appear to not do anything (if at all apparent) different from similar examples - especially in the UDF examples.
А потом пишет уже форумчанин с пометкой Developer (Разработчик)
Examples should demonstrate functionality and not confuse the user. I have to say that MsgBox would confuse me and raise questions in the forum.
и снова форумчанин
I agree. Sticking to the simplest code needed to illustrate exactly what a function does is much clearer, particularly for beginners. Obviously there needs to be some additional code for this stuff to be meaningful. :smile:
. Ребята пишут, что код загромождён,юзер смущён, код усложнён MsgBox,If Else, какими-то переменными и всё это в справке и примерах на самом начальном этапе знакомства с AutoIt, причём комментарии эти написаны ещё в 2012 году!Англичане, конечно, консерваторы ещё те, но на ошибках нужно учиться вроде как.
Теперь есть русская справка, которая никак не ограничивает автора...Теперь смотрите мои комментарии и,как говорится, найдите 3 отличия ( при том, что английский форум я не читал ещё):
не мог понять что же хочет автор, тем более при моём уровне знаний AutoIt...А с этими MsgBox - вообще первый раз страшно смотреть было на такой код.
В английском варианте такого вообще нет!
При этом я не говорю, что она написана плохо, просто вы определитесь для какого уровня пользователей AutoIt она пишется.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Dessan
Функция SEND - это большое недоразумение в языке. Но она примитивная и забагованная до ужаса, в стартовых условиях, она печатает все в активное окно и так, как будто английская раскладка стоит по умолчанию. А если особо везет, то она напечатает даже все, без пропусков и в правильно регистре. Здесь на форме есть темы решающие все проблемы с send.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,894
Репутация
1,196
Dessan [?]
А потом пишет уже форумчанин с пометкой Developer (Разработчик)
Кто именно? guinness? Ты просто никого из них не знаешь, а я с ими маленькую жизнь прожил. Мне просто не хочется вводить тебя в курс дела, чтобы не выглядеть меркантильным, по поводу кто есть кто.
- правильно, вы не пользуетесь,
не пользуюсь англоязычной справкой для которой меня хотели раскрутить на обработку примеров, и даже хуже, я слегка чувствовал неуважение. Если ты (не ты лично) считаешь, что должен изменить пример, в каком то формате то делай как ты это видишь, потому что я уже сделал идеально как я это вижу.
а для людей без знаний языка программирования, не имеющих диплома программиста,а вы пишите справку как для себя
Во первых нет у меня диплома. Во вторых пишу для себя с учётом мнения других, в третьих, когда ты разберёшься, поймёшь, что именно так и надо писать не для нулевого уровня, а для среднего включая нулевой, потому что я сам говорил что в справке должно быть и лёгкие и сложные примеры, иначе ты сложный никогда не увидишь, а если увидишь, то будешь пользоваться им, потомушта.

Ребята пишут, что код загромождён,юзер смущён
Пока мы там спорили, да, заходили в тему новички ничего не понимающие и давали советы, но им скорее нужен был не вариант разных форм написания кода, а текущая их потребность в их непонимании. Но... справочник пишется не для того чтобы средне-статистический пользователь зашёл туда и сказал что ничего интересного там нет, а чтобы каждый раз заходя в справку ему открывались новые участки кода, что можно писать конструкции вложенными многократно, что есть особые приёмы удобные для чтения. То как ты видишь код в справке заставляет использовать именно так, поэтому многие привыкли писать код неправильно, так как они увидели это в примерах.
То что ты видишь в англ справке, частично является тем что я каждый день напоминал проблемы в ней. К примеру ссылки в ней появились потому что я сделал в русской и дал код. Указал что примеры неправильные, там где должен был Switch используется Select. Сейчас многие примеры выполнены внутри функции Example(), что как раз нагромождает код бесполезной конструкцией, тем более добавляет проблем с видимостью переменных, для новичка это неработающий код и лишние вопросы. Мне даже лень переписывать сюда годовой отчёт по критике англоязычной справки, которая теперь практически не имеет претензий. Просто открой версию 3.3.6.1 и сравни, что было то того как.
 

sh01q

Новичок
Сообщения
5
Репутация
0
Здравствуйте, не подскажите? Будет ли переведена документация v3.3.14.2, или Autoit потихоньку умирает(что то давно не выходили новые версии)?
 

BlagoYar

Русь Великая, Очнись! Поднимись с колен Родная!
Сообщения
99
Репутация
-1
Как можно помочь в развитии справки до актуальной версии AutoIt?
 
Верх