Страница 2 из 4
Добавлено: Вс авг 07, 2016 10:55
Avada
Flasher
С первой проблемой, да, помогло. После чего и на 32-битном TC вылезла вторая проблема. А URL произвольный — хоть,
http://wincmd.ru/, например. хотя текущая страница на форуме. Иногда отображается правильное предупреждение, но гораздо чаще вот это самое.
Добавлено: Вс авг 07, 2016 11:02
Flasher
Вахмурка
Не проще. У тебя по-прежнему имя ручками вводится.
Avada
Ты же писал, что "в буфере нет искомой информации", а не то, что URL произвольный. Как копируешь его?
Добавлено: Вс авг 07, 2016 11:16
Avada
Flasher
Когда URL есть (любой), всё теперь вставляется. Когда буфер пуст, происходит вышеописанное.
Добавлено: Вс авг 07, 2016 11:24
Flasher
Avada
Удивительно. А если в буфере не ссылка, а что-то иное?
Добавлено: Вс авг 07, 2016 11:26
Avada
Flasher
Выводится нормальное предупреждение, что буфер не содержит гиперссылки.
Добавлено: Вс авг 07, 2016 11:29
Flasher
Avada
Не понимаю тогда. Такой скрипт выведет истину?:
Код: Выделить всё
Test = Left("", 4)
If Test <> "www." And Test <> "http" Then MsgBox True
Добавлено: Вс авг 07, 2016 11:31
Avada
Flasher
Истина.
Добавлено: Вс авг 07, 2016 11:40
Flasher
Avada
Тогда описанное для скрипта поведение совсем неординарное. Это со всеми комбинациями битностей ТС и системы так?
Попробуй ещё заменить 12,13 строки на эти:
Код: Выделить всё
If Test = "" Or (Test <> "www." And Test <> "http") Then MsgBox "Буфер " &_
"обмена не содержит гиперссылки!", 4144, " Создание URL-ярлыка" : WScript.Quit
Добавлено: Вс авг 07, 2016 11:50
Avada
Flasher
Вот теперь везде при пустом буфере правильное сообщение. Все битности TС на указанных ранее версий на Win7 x64 (другой у меня ближайшие две недели не будет).
Добавлено: Вс авг 07, 2016 11:55
Flasher
Avada
ОК. Внёс обе правки в скрипт.
Добавлено: Вс авг 07, 2016 13:13
Вахмурка
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:19
Skif_off
Flasher писал(а):Не проще. У тебя по-прежнему имя ручками вводится.
Имя не может оказаться слишком длинным?
Добавлено: Вс авг 07, 2016 13:30
Вахмурка
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 засады ждать не стоит. А ограничения ОСи известны; если нужно, пользуемся строковыми функциями.
Поставленная задача (вытаскивание адреса из браузера) лично мне неинтересна и непонятна - ведь есть закладки (с комментариями, иерархией, частотой доступа и прочим). Просто хотел показать, что эта задача решаема. А вот скриптом для локальных путей, глядишь, и воспользуюсь как-нибудь
Добавлено: Вс авг 07, 2016 14:14
Flasher
Skif_off писал(а):Имя не может оказаться слишком длинным?
Может. Могу, в принципе, через скрытый cmd обойти, если кому надо.
Вахмурка писал(а):Ну, это вообще не проблема:
Так это домен, а не заголовок страницы. И откуда он его тащит? Браузеров разных может быть сколько угодно открыто или не открыто вообще.
Вахмурка писал(а):Поставленная задача (вытаскивание адреса из браузера)
Адрес - это не заголовок. В поставленной задаче он не фигурировал.
Добавлено: Вс авг 07, 2016 14:24
Skif_off
Вахмурка
Я вот про это:
где
FN = Title & ".url". Длина Title вроде не контролируется.
Добавлено спустя 8 минут:
Flasher
Не знаю, нужно ли, я бы подстраховался. Может быть, Len() + предупреждение?