Скрипт для записи в HTML-файлы информации о файлах JPG

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

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

berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

при первом использовании скрипта нумерация разная, после добавления файлов - имеется дубляж номеров - jpg - jpeg
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так, а сейчас?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

так годится, спасибо
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

Адаптировал скрипт под свои нужны и заметил одну непонятную для меня вещь, то ли баг, то ли я гоню.

https://dl.dropbox.com/u/11634001/maket.rar - тут находятся 4 файла.

maket.vbs - адаптированный под мои нужны скрипт
1.jpg - изображение которое обрабатывается
1.html - файл создаваемый скриптом
1+.html - копия файла 1.html

Весь вопрос в файлах 1.html и 1+.html
Визуально в редакторе они абсолютно идентичны. Но:
если запустить их в браузере то в 1.html вертикального скролинга не будет, а в 1+.html он будет и это будет правильно.

Кроме того размеры файлов различаются на 2 байта.

Как я получил 1+.html - просто переписал кусочек кода в котором присутствует высота изображения, которую создает скрипт http://joxi.ru/RC0PiHN

У меня возникло подозрение, что скрипт после цифр втыкает непечатаемый символ, который и не нравится браузеру. При переписывании руками этого куска, этот непечатаемый символ затирается и браузер правильно отображает изображение, появляется вертикальный скролинг.

Сравнение файлов в ТС в кодировке UTF-8 показало наличие запятой или знака похожего на него http://joxi.ru/MZtTTkzk


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

Сообщение Flasher »

Берётся из функции GetDetailsOf. Под Size = вставь Size = Left(Size, Len(Size) - 1)
Кстати, я там неправильный цикл сделал. Нужен Until вместо While.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

А можно подкорректированный скрипт?
Буду очень признателен!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Yurbanizator
Не пойму, в чём сложность подстановки одной строки?
А цикл не я из скрипта убрал. Чего там корректировать?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

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

Сообщение Flasher »

Yurbanizator писал(а):Это где?
В исходнике.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

А как изменить скрипт, что бы продолжал нумерацию в случае если уже есть файлы 1.html и т.д. http://joxi.ru/nAm8SGhd
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Логична проверка по jpg, она в исходнике и есть. На скриншоте таких файлов столько же, сколько html. Поэтому нужно вернуть цикл обратно.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Olejko
Сообщения: 13
Зарегистрирован: Пт май 23, 2014 13:57

Сообщение Olejko »

Добрый день!
Как с помощью ТС можно получить в буфер обмена список выделенных файлов, обрамленных в HTML-код для последующей вставки в страницу с использованием уникального имени каталога?
Т.е., по шагам задача такая:
1. Выделяем нужные файлы.
2. Нажимаем на магическую кнопку, которая:
2.1. запрашивает имя уникального каталога.
2.2. обрамляет определенным HTML-кодом выделенные файлы и подставляет имя уникального каталога в качестве переменной в этом коде.
Например, имеем файлы img_01.jpg, img_02.jpg, ..., img_NN.jpg
Выделяем эти файлы, запускаем функцию, которая спрашивает нас об уникальном каталоге, пишем имя этого каталога (в моем случае, это 14102014-01) и на выходе в буфере обмена имеем следующий код:

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

<a href='/images/news/b/14102014-01/img_01.jpg' rel='lightbox[zero]' ><img src='/images/news/m/14102014-01/img_01.jpg' width='140' height='93' style='border:1px solid black; margin: 2px;'  ></a> 
<a href='/images/news/b/14102014-01/img_02.jpg' rel='lightbox[zero]' ><img src='/images/news/m/14102014-01/img_02.jpg' width='140' height='93' style='border:1px solid black; margin: 2px;'  ></a> 
<a href='/images/news/b/14102014-01/img_03.jpg' rel='lightbox[zero]' ><img src='/images/news/m/14102014-01/img_03.jpg' width='140' height='93' style='border:1px solid black; margin: 2px;'  ></a> 
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Olejko
В общем-то, ничего сложного. Хочу прояснить пару моментов.
1) Система какая?
2) Нужно возвращать имена без путей к ним? Вот эти куски - "/images/news/b/", "/images/news/m" - являются константами?
Например, можно устанавливать нужные куски в параметрах:
<1 кусок> <файл из списка> <2 кусок> <файл из списка> <3 кусок>
Или сразу в код прописать?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Olejko
Сообщения: 13
Зарегистрирован: Пт май 23, 2014 13:57

Сообщение Olejko »

Flasher писал(а):Olejko
В общем-то, ничего сложного. Хочу прояснить пару моментов.
1) Система какая?
2) Нужно возвращать имена без путей к ним? Вот эти куски - "/images/news/b/", "/images/news/m" - являются константами?
Например, можно устанавливать нужные куски в параметрах:
<1 кусок> <файл из списка> <2 кусок> <файл из списка> <3 кусок>
Или сразу в код прописать?
2 Flasher:
1. Система - Windows 7/8.
2. Возвращать имена без путей, "/images/news/b/" и "/images/news/m/" - это константы. Переменная - это та дата-счетчик, которую надо вводить руками (она уникальна, поэтому только ручной ввод), вставляется она в конец двух констант перед именем файла.
Вот так:
<a href='/images/news/b/14102014-01/img_01.jpg' rel='lightbox[zero]' ><img src='/images/news/m/14102014-01/img_01.jpg' width='140' height='93' style='border:1px solid black; margin: 2px;' ></a>
Жирным выделил переменную, курсивом и подчеркиванием - имена файлов.
Все остальное - это неизменный текст.
В код не оформлял - там не действуют теги жирный и курсив/подчеркивание.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Olejko писал(а):1. Система - Windows 7/8.
2. Возвращать имена без путей, "/images/news/b/" и "/images/news/m/" - это константы.
Этого достаточно, остальное я не спрашивал.

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

'============================================================================
' Занести в буфер обмена заданные HTML-строки, включая имена выбранных файлов
' Имя родительского каталога файлов в путях задаётся в окне

' Параметр: %WF
'============================================================================
If WScript.Arguments.Count = 0 Then WScript.Quit
Dir = InputBox(String(5, vbnewline) & "Введите имя родительской папки:")
If Trim(Dir) = "" Then WScript.Quit

Set FSO = CreateObject("Scripting.FileSystemObject")
Set List = FSO.OpenTextFile(WScript.Arguments(0),,,-1)
Do Until List.AtEndOfStream
  File = List.ReadLine
  If File <> "" Then
    Buff = Buff & vbNewLine & "<a href='/images/news/b/" & Dir & "/" & File & _
     "' rel='lightbox[zero]' ><img src='/images/news/m/" & Dir & "/" & File & _
    "' width='140' height='93' style='border:1px solid black; margin: 2px;'  ></a>"
  End If
Loop

With CreateObject("WScript.Shell")
  TempFile = CreateObject("Shell.Application")._
  NameSpace(.ExpandEnvironmentStrings("%TEMP%")).Self.Path & "" & FSO.GetTempName
  FSO.OpenTextFile(TempFile, 2, True, -1).Write Mid(Buff, 3)
  .Run "%comspec% /c clip < """ & TempFile & """", 0, True
End With : FSO.DeleteFile TempFile, 1
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить