Как создать ярлык для URL?

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

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

Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
С первой проблемой, да, помогло. После чего и на 32-битном TC вылезла вторая проблема. А URL произвольный — хоть, http://wincmd.ru/, например. хотя текущая страница на форуме. Иногда отображается правильное предупреждение, но гораздо чаще вот это самое.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вахмурка
Не проще. У тебя по-прежнему имя ручками вводится.

Avada
Ты же писал, что "в буфере нет искомой информации", а не то, что URL произвольный. Как копируешь его?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Когда URL есть (любой), всё теперь вставляется. Когда буфер пуст, происходит вышеописанное.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Удивительно. А если в буфере не ссылка, а что-то иное?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Выводится нормальное предупреждение, что буфер не содержит гиперссылки.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Не понимаю тогда. Такой скрипт выведет истину?:

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

Test = Left("", 4)
If Test <> "www." And Test <> "http" Then MsgBox True
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Истина.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Avada
Тогда описанное для скрипта поведение совсем неординарное. Это со всеми комбинациями битностей ТС и системы так?
Попробуй ещё заменить 12,13 строки на эти:

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

If Test = "" Or (Test <> "www." And Test <> "http") Then MsgBox "Буфер " &_
"обмена не содержит гиперссылки!", 4144, " Создание URL-ярлыка" : WScript.Quit
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Вот теперь везде при пустом буфере правильное сообщение. Все битности TС на указанных ранее версий на Win7 x64 (другой у меня ближайшие две недели не будет).
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

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

Flasher писал(а):Не проще. У тебя по-прежнему имя ручками вводится
Ну, это вообще не проблема:

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

args Path
local Name = browserDomain

if(not Name)
   quit

local Target = "http://" ++ browserDomain

local fh = file.open(Path ++ "" ++ Name ++ ".url", "w")

if(fh <= 0) do
   messagebox("ok error", "File not opened", "FILE plugin error #1")
   quit
endif   

fh.writeline("[InternetShortcut]")
fh.writeline("URL=" ++ Target)
fh.close
Последний раз редактировалось Вахмурка Вс авг 07, 2016 13:32, всего редактировалось 1 раз.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

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

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

Skif_off писал(а):Имя не может оказаться слишком длинным?
file plugin help писал(а):The plugin can handle long lines of text. You specify the maximum line length with file.setmaxline; the default starting maximum line length is 4K characters
Так что со стороны PowerPro засады ждать не стоит. А ограничения ОСи известны; если нужно, пользуемся строковыми функциями.
Поставленная задача (вытаскивание адреса из браузера) лично мне неинтересна и непонятна - ведь есть закладки (с комментариями, иерархией, частотой доступа и прочим). Просто хотел показать, что эта задача решаема. А вот скриптом для локальных путей, глядишь, и воспользуюсь как-нибудь
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off писал(а):Имя не может оказаться слишком длинным?
Может. Могу, в принципе, через скрытый cmd обойти, если кому надо.
Вахмурка писал(а):Ну, это вообще не проблема:
Так это домен, а не заголовок страницы. И откуда он его тащит? Браузеров разных может быть сколько угодно открыто или не открыто вообще.
Вахмурка писал(а):Поставленная задача (вытаскивание адреса из браузера)
Адрес - это не заголовок. В поставленной задаче он не фигурировал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Вахмурка
Я вот про это:

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

WSH.CreateShortcut(FN)
где FN = Title & ".url". Длина Title вроде не контролируется.

Добавлено спустя 8 минут:

Flasher
Не знаю, нужно ли, я бы подстраховался. Может быть, Len() + предупреждение?
Ответить