Обсуждение памятки новичку по скриптам

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Обсуждение памятки новичку по скриптам

Сообщение Tol!k »

Предлагаю редакцию

Основной скриптовый язык данного раздела - VBScript (комментарии начинаются с ' / расширение файлов скриптов – .vbs). Также встречаются: JScript (// / .js), язык командной оболочки cmd.exe в виде пакетных файлов (rem или :: / .cmd / в подавляющем большинстве случаев код начинается с @echo off) или кнопок (код начинается с TOTALCMD#BAR#DATA), AutoIt (.au3), AutoHotKey (.ahk), язык сценариев PowerPro (.txt).

[mod="Avada"]Ссылка на памятку.[/mod]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k
Описание нюансов языка, включая комментарии, я предлагаю выносить в тематические топики, которые по возможности тоже можно будет подклеить в шапку подфорума. Всех описаний по каждому языку в одной теме не напасёшься, поэтому я и не стал конкретизировать на языковых особенностях. Символы комментирования в некоторых языках могут совпадать. Описание синтаксиса кнопок даны сам знаешь где. txt - не единственное расширение для PowerPro, также есть одноимённое (powerpro), к тому же в кнопку\команду сами расширения не прописываются, это может ввести в заблуждение новичков. Да и PP-скрипты тут не выкладывают, а дают ссылку. Пусть лучше обращаются к существующей информации на нашем сайте и сайтах Вахмурки, через поиск всё легко находится.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):
Flasher писал(а):прежде чем работать с важными файлами, перед применением скрипта обычно упражняются на ненужных копиях, такой подход должен быть в подкорке заложен.
Не пора ли подобный совет добавить в памятку новичку по скриптам?
Верная мысль. Сформулируем.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

язык сценариев PowerPro (.txt).
Предлагаю "txt или powerpro".
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Я это обсуждение затеял не столько ради расширений (PowerPro же будет работать и так, и так ;) ),
а чтоб помочь новичкам понять, что делать с кодом. Они же постоянно сохраняют кнопки с расширением .vbs; VBScript – с расширением .bat; батники пихают на панель...
А различить язык кода, кажется, проще всего по комментариям. Так что, владеющие языками, не стесняйтесь, подсказывайте, как надёжнее отличить ваш язык от других.
Flasher писал(а):Описание нюансов языка, включая комментарии, я предлагаю выносить в тематические топики, которые по возможности тоже можно будет подклеить в шапку подфорума. Всех описаний по каждому языку в одной теме не напасёшься, поэтому я и не стал конкретизировать на языковых особенностях.
Сомневаюсь, что администрация потерпит 10-к тем по 1 сообщению :D
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Tol!k писал(а):Сомневаюсь, что администрация потерпит 10-к тем по 1 сообщению
10-ка и не будет. Напишем штучки 3-4 и порядок. Ты пишешь по батноязыку, я по VBS/JS/LangMF, Вахмурка по PP (кратко, не статейно), Loopback по Автоиту, mf-zl по AHK, все довольны - все спят спокойно. 8)

Да и вообще сам факт существования пямятки - большой плюс, который кроме Avada никто пока и не отметил. За столько лет уж сколько раз можно было написать, а то вдруг узнаётся, что только сейчас нужно
Tol!k писал(а):помочь новичкам понять, что делать с кодом
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Каких-то ярких отличий у скрипта PowerPro (типа "@echo off" у батников) нет. Насчет расширения - конечно, пашет и так и сяк, и даже в документации об этом сказано. В каком-то смысле именно поэтому (чтобы не путать скрипты с обычными информационными файлами), и придумано специальное расширение "powerpro". А то новичок скачает где-нибудь скрипт с расширением powerpro и решит, что это что-нибудь другое.
Ссылка на подробное руководство отсюда и отсюда уже есть.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вахмурка писал(а):Каких-то ярких отличий у скрипта PowerPro (типа "@echo off" у батников) нет
А как же local, flag, конструкции for и т.п.? У всех языков есть свои особенности, по которым легко можно определить принадлежность.
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Flasher писал(а):Да и вообще сам факт существования пямятки - большой плюс
Памятка обязательно нужна. Автоматизация Total Commander тесно связана с использованием различных скриптов. Здесь, как я понял, пока собирается информация - внесу свой небольшой опыт. Открыв на одном из сайтов Тему "скрипты.." стали приходить сообщения о помощи в их использовании.
Пришлось написать небольшую инструкцию, после которой таких вопросов стало гораздо меньше. Если писать для разных языков, то нужен один понятный шаблон
1. В какое расширение сохранять код
2. Как создать кнопку (vbs - просто, au3 - нужен AutoIt3.exe)
3. Параметры, что вставлять, как, пробелы, кавычки...
(Кстати, про параметры тотала написано в справке, но лучше описать здесь - на форуме - дать описание в дополнительной теме "Использование параметров" - параметр и пример - это облегчит общение. Лучше дать ссылку, чем отослать к справке)
4. Дополнительные действия
5. Обязательно примеры и не один

Кроме того, по каждому языку хорошо бы собрать базу справок для скачивания, которую пополнять, для развития.
В своё время я таковой здесь не нашёл и пошёл бродить по интернету...
Конечно, это не всё - каждый внесёт свою лепту
Есть ещё пару нюансов, я не программист, учился у вас, и не знаю как правильно, но есть предложение:
При выкладывании кода вносить в шапку одинаковые данные, хотя бы эти:
Автор:
Версия:
Дата создания:
Тем самым было бы удобнее оперировать информацией

И ещё одна идея: разбить сотни разбросанных кодов по темам - всем будет проще - и пользователю, и профессионалу - одним для ознакомления, другим для обмена опытом. Не надо дублировать сами коды, просто собрать ссылки на них в одной или нескольких темах
Последний раз редактировалось Andrey_A Вт янв 17, 2012 19:32, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

1. +
2. +/- Только указать на нюансы с использованием интерпретатора, остальное и так есть.
3. - Как - это совсем уж справочная информация. + Ссылку дать - да, можно.
4. Не понял.
5. - Это лишнее, только описание особенностей синтаксиса, за примерами в поиск или на специализированные сайты.
Andrey_A писал(а):Кроме того, по каждому языку хорошо бы собрать базу справок для скачивания, которую пополнять, для развития.
Справки могут обновляться, а посты блокироваться, за этим должен кто-то власть имущий следить персонально. И про все языки на данном этапе говорить смысла нет, если, конечно, совсем фанатично не подойти к вопросу. Ты готов, например?
Тут всё же цель не в обучении других языку, а в объяснении пользователю, как ему правильно поступить при получении кода, а точнее, уж чего греха таить, в избавление, насколько это возможно, от однотипных вопросов. Это первопричина появления памятки.
Andrey_A писал(а):При выкладывании кода вносить в шапку одинаковые данные, хотя бы эти:
Автор:
Версия:
Дата создания:
Тем самым было бы удобнее оперировать информацией
Какой информацией? Версии для маленьких скриптов - это что-то с чем-то. Меня лично ни дата создания, ни версия не интересуют, авторство - постольку-поскольку.
[color=grey][size=84]Andrey_A[/size][/color] писал(а):И ещё одна идея: разбить сотни разбросанных кодов по темам - всем будет проще - и пользователю, и профессионалу - одним для ознакомления, другим для обмена опытом
Ну, это идея не нова, сам знаешь, откуда ноги растут, только вот тут чисто административный вопрос, а какой он у нас на форуме всем давно известно, иначе бы ты с концами на Grey, по всей видимости, не съехал.
Саму идею я миллиард раз поддерживаю, только что от этого толку...
Последний раз редактировалось Flasher Вт янв 17, 2012 21:21, всего редактировалось 1 раз.
Аватара пользователя
Lev
Сообщения: 392
Зарегистрирован: Ср мар 02, 2005 16:34

Сообщение Lev »

Tol!k писал(а):А различить язык кода, кажется, проще всего по комментариям.
Какой-нибудь автомат сгенерирует vbs скрипт с "rem" вместо апострофов в качестве комментария. Кто-то скопипастит код на форум без расширения. И отнесут его к cmd по этому описанию. :)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lev
Я в первом посте как раз писал об этом:
Flasher писал(а):Символы комментирования в некоторых языках могут совпадать.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вахмурка писал(а):Насчет памятки: дело ты сделал хорошее, спору нет. Да вот только сомневаюсь, что все новички сначала прилежно изучают справку ТС, потом - вики, потом - все прилепленные темы, потом - общий поиск по форуму, и лишь затем, не найдя ответа, задают вопрос. Будь оно так, на форуме была бы тишь да гладь: все все знают, спрашивать и отвечать не о чем. Вопрос об обязательном предварительном изучении всех упомянутых справочных материалов поднимался не раз, а воз и ныне там.
Решил тут ответить. Я согласен, что на всех новичков рассчитывать не приходится. Мы не в Либрии и прозиум не кушаем, и, естественно, не все живут по чьей-то принятой системе убеждений, это понятно. Но факт того, что вопросов с появлением памятки стало и станет значительно меньше с твоим возом не вяжется. Соответственно, я не считаю, что сделал бесполезный для форума справочный инструмент, хоть как-то отражающий механизм работы Тетраграмматона.
Изображение
Аватара пользователя
LonerD
Сообщения: 1173
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Краткая справка по скриптовому языку AutoHotkey

AutoHotkey - утилита и язык программирования сценариев (скриптов) с широчайшими возможностями автоматизации, особенно в плане управления окнами, файлами и каталогами, работе с горячими клавишами и мышью.

Для работы скриптов AutoHotkey необходимо скачать интерпретатор языка. Предпочтительно использовать самую свежую стабильную Unicode 32-bit версию, указанную на странице скачивания в разделе Current Release. (альфа-версия 2.0-а имеет изменённый синтаксис и несовместима с большинством скриптов).
Утилита полностью портабельна, необходим один-единственный исполняемый файл AutoHotkey.exe.
Скрипты представляют собой текстовые файлы с расширением «.ahk», сохранять их желательно в кодировке UTF-8.

Обратите внимание! При использовании скрипта в кнопке на Панели инструментов или в пользовательских командах - его нужно записать в одной строке с интерпретатором. Путь к скрипту при наличии пробелов в путях следует брать в кавычки.
Пример кнопки:

Код: Выделить всё

TOTALCMD#BAR#DATA
%commander_path%\AutoHotkey\AutoHotkey.exe "%commander_path%\Scripts\MyScript.ahk"
Parameter
wciconex.dll
MyScript


-1
То же самое касается и пользовательской em-команды

Код: Выделить всё

[em_AHK_command]
cmd=%commander_path%\AutoHotkey\AutoHotkey.exe "%commander_path%\Scripts\MyScript.ahk"
param=Parameter
При желании можно воспользоваться компилятором и получить автономный exe-файл, размером около 1Мб.
Последний раз редактировалось LonerD Сб май 02, 2015 04:55, всего редактировалось 2 раза.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD
Понимаешь какое дело, если интерпретатор установлен в системе, то ничего указывать не требуется. Выделять отдельный абзац именно для AHK не вижу смысла. У нас тут и Monad Shell засветился (там тоже есть свои нюансы). Общую информацию об интерпретаторах, думаю, что добавить стоит. Позже подумаю как оформить.
Если же давать описания отдельно для каждого языка, то нужно все потенциально возможные описывать и прятать под спойлеры.
Ответить