===================================================================== AJPapps - ImageShack links 2.00 Линда Кайе 2011-2013. Посвящается Ариэль ===================================================================== Эта программа пригодится тем, кто хранит картинки на ImageShack.us. Она позволяет закачивать файлы картинок на сервер и хранит ссылки на закачки, а также уменьшенные копии самих картинок в своей базе. Это позволяет удобно их просматривать и быстро, без лишних обращений к сайту, вставлять код куда угодно: с блог, в письмо, в сообщение на форуме, в HTML файл. Также программа работает с фирменной панелькой ImageShack, позволяя импортировать недавно загруженные на сервер картинки. История создания ---------------- Давным-давно я установила себе панельку ImageShack, которую увидела ещё на скриншотах Internet Explorer 7, которые выкладывал L.P.M. Я тогда пользовалась Fotarea.ru, но сочетание жёлтых иконок с голубоватым интерфейсом Windows Vista так очаровало меня, что я скачала эту панельку, установила её и начала использовать. Fotarea.ru намного легче, но панелька удобнее... Позже я скачала панельку для Mozilla Firefox. Я никогда не использовала историю загрузок, поскольку это не совсем удобно и не всегда работает, поэтому постоянно забывала о ней. Но однажды я набрела на неё, и мне вдруг захотелось где-то отдельно её собирать и синхронизировать, чтобы история на разных машинах была одинаковая. Идея с синхронизацией в конце концов умерла, зато программа стала сама хранить ссылки и форматировать их как нужно. Например, в шаблоне с предпросмотром панелька ставит ссылку на страницу с рекламой, которая грузится чёрт знает сколько. Поэтому эту ссылку я заменила на ссылку на сам рисунок. Чуть позже, тестируя только что открытую функцию URLDownloadToFile(), я добавила скачку и вывод предпросмотров. Мне захотелось это сделать не только потому что надо было тестировать функцию, но и потому что так намного легче видеть, что это за картинка. Поначалу при загрузке всё блокировалось, но теперь я сделала так, что программа показывает прогресс загрузки. Но как только я добавила такую возможность, оказалось что очень скучно грузить каждый предпросмотр по отдельности. Поэтому я и добавила массовую загрузку, заодно добавив возможность скачивать и сами картинки ^^ История изменений ----------------- • 1.00.0017 Первый публичный релиз. • 1.00.0018 [+] Имя текущей картинки выводится в заголовке. [+] Двойной щелчёк в списке открывает картинку. [-] Теперь каталоги данных (XML, картинки) ищутся не в текущем каталоге, а в каталоге программы. [-] Исправлено выделение при перемещении по списку, когда фокус на одном из полей ввода текста. • 1.01.0020 [+] Появилась поддержка экспорта базы в файл синхронизации, проверки его и импорта из файла синхронизации. [+] В списке по нажатию правой клавиши мыши выводится меню. [+] Нажатие Enter открывает картинку на просмотр. [-] Запускается только одна копия программы. [-] Поправлена иконка программы в окне переключения программ. • 1.01.0021 [+] При загрузке картинки окно теперь не пропадает из списка переключения окон. [+] Для импорта и экспорта базы появились диалоги выбора файла. [+] Появился импорт отдельных картинок и предпросмотров. • 1.01.0022 [+] Теперь при импорте ссылок из реестра ставится домен в имени пользователя. • 1.01.0023 [-] При импорте картинки больше не выдаётся запрос на создание файла. [+] Для фильтра добавлены расширения DIB и JPEG. • 1.01.0024 [+] Перед изменениями структуры ссылок база автоматически сохраняется. • 1.01.0025 [-] Если картинка меньше предпросмотра, то программа не выводит пустую ссылку, а подставляет ссылку на саму картинку. [+] Появилась отмена загрузки картинки или предпросмотра. [+] Вместо URLMon.DLL используется WinInet.DLL. [+] Картинки больше не сохраняются в кэш. [+] Если загрузка картинки была прервана, имеющаяся картинка не трогается. [+] Вместо комментариев о ходе загрузки, выводится текстовый индикатор загрузки. • 1.01.0026 [-] Исправлен бэкап XML файла. Теперь он бэкапится перед сохранением. • 1.01.0028 [+] Картинки снова сохраняются в кэш, но загружаются всегда с сервера. • 1.02.0034 [+] Доработана загрузка картинок. [+] Теперь пакетную загрузку можно остановить. [+] Немного изменён интерфейс. [+] Появилась настройка прокси. [+] Данные теперь хранятся в Application Data. При первом запуске будет предложено перенести их. [-] База сохраняется после добавления ссылок. • 1.02.0035 [-] Исправлена ошибочная блокировка меню при первом запуске. [-] Исправлена разблокировка интерфейса при пакетной загрузке. • 2.00.0040 [+] Добавлена закачка картинок на ImageShack.us с авторизацией. • 2.00.0041 [+] Добавлен пункт меню "Удалить картинку". [+] Перед удалением предпросмотра или картинки выдаётся запрос подтверждения. [+] Появилась возможность скачивать отсутствующие картинки и предпросмотры начиная с текущего элемента. [+] Появилось несколько новых горячих клавиш. • 2.00.0042 [+] Теперь при загрузке картинки автоматом копируются в базу. [+] Появилась возможность загружать картинки по URL. • 2.00.0043 [-] Имена файлов выгруженных картинок иногда определялись неверно. • 2.00.0045 [+] Теперь HTML код формируется с атрибутом BORDER="0". • 2.00.0048 [-] На сервере были какие-то изменения, не дававшие залогиниться. • 2.00.0049 [+] Теперь введённый URL проверяется на правильность записи. [+] Появилась возможность вставки адреса или имени файла из буфера обмена. [+] Список закачек теперь сохраняется. • 2.00.0050 [+] Программа выкидывает кавычки из имени файла при вставке в список закачки. [+] При перезагрузке списка запоминается текущий элемент. [+] При перезагрузке списка запоминается положение списка. [+] Появился горизонтальный скроллбар в списке. [+] Появилась настройка таймаута. [+] Таймаут по умолчанию установлен в 180 секунд. • 2.00.0054 [+] Автоповтор при выгрузке при возникновении ошибок 50*. [+] Исправлено восстановление списка, если был выделен последний элемент. • 2.00.0056 [-] При перетаскивании текста в окно закачки программа аварийно завершалась. • 2.00.0058 [-] При получении файла нулевого размера программа зацикливалась. Зависимости ----------- Для работы этой программы нужны следующие компоненты: • AJPapps - AJPapps support library 1.00 Файл AJPappsSupport0100.DLL • AJPapps - Библиотека общих функций 3.01 Файл CommonFunctions0301.DLL • AJPapps - Panel control 1.00 Файл Panel0100.OCX • AJPapps - File I/O support 1.02 Файл FileIOSupport0102.DLL • MSXML 4.0 Файл MSXML4.DLL • Windows Common Controls ActiveX Control DLL Файл MSCOMCTL.OCX • Microsoft Visual Basic Virtual Machine Файл MSVBVM60.DLL Эти компоненты обязательны. Они уже включены в программу установки ^_^ Информация о разработке ----------------------- Язык: Microsoft Visual Basic 6.0 SP6 Платформа: Windows XP Professional SP3 Установка --------- Просто запустите Setup.ImageShackLinks.EXE, и программа установки сама создаст все необходимые ярлыки. Использование ------------- При запуске программа читает историю загрузок из файла Links.XML, который лежит в каталоге XML. Если файл отсутствует, то программа продолжает работать, но выводит пустой список. Чтобы прочитать информацию о загруженных текущим пользователем через фирменную панельку картинках, нажмите F5 или "Экспорт из реестра" в меню "База". При этом сначала информация будет загружена, а потом новые ссылки будут добавлены к имеющимся. Программа считает (и, кстати, обоснованно) что каждая картинка имеет свой уникальный адрес. Поэтому, если ранее были выгружены две картинки с одинаковым названием, то у них будут разные адреса. Вот по ним программа и будет искать все новые картинки. Сначала программа читает историю панельки для Internet Explorer, а потом - для Mozilla Firefox. Дело в том, что они хранятся в разных местах. Кстати, панелька ImageShack в истории хранит всего десять картинок, хотя разом может загрузить хоть двадцать. Поэтому если Вам нужно загрузить кучу картинок, лучше всего это делать по пять-восемь картинок за раз. Для надёжности. А после каждой загрузки дополнять базу. Также заметьте, что если картинка меньше размера предпросмотра (например, баннер, который меньше 150x150), то ImageShack не создаёт предпросмотр. В таком случае программа считает что картинка и есть предпросмотр и ссылается на тот же адрес. Если программа найдёт новые картинки, то сделает на всякий случай резервную копию файла Links.XML. После добавления ссылок в базу, файл Links.XML будет сохранён. Кстати, в полях со ссылками и шаблонами работают кнопки Вверх и Вниз - они переключают текущий элемент в списке. При выделении элемента в списке, программа ищет в каталоге Thumbs уменьшенную копию картинки. Если такой нет, то предпросмотр закрашивается чёрным. Но если картинка есть, но не загружается (например, если она повреждена), то предпросмотр закрашивается красным. Чтобы открыть локальную копию загруженной картинки, дважды щёлкните по предпросмотру или по имени картинки в списке. Также можно нажать Enter на клавиатуре. Картинка откроется в программе, назначенной по умолчанию. Сами картинки складываются в папку Pictures. Чтобы вызвать меню для загрузки картинок, нужно щёлкнуть правой клавишей по предпросмотру, списку картинок или вызывать меню "Картинка". Обратите внимание что при загрузке только отсутствующих картинок, будет проверяться только наличие файла. Если файл повреждён, но не будет закачан заново. Пункты "Скачать все отсутствующие предпросмотры с текущего" и "Скачать все отсутствующие картинки с текущей" нужны для того чтобы начать скачивание картинок не с самого начала списка, а с текущего выделенного элемента. Это может сэкономить время при больших списках. При загрузке картинки будет выведено окошко с информацией о загрузке и весёленьким индикатором загрузки. Числа в этом окошке означают количество скаченных байт и общий размер картинки. В случае если сервер почему-то не вернул общий размер картинки, вместо него будут вопросительные знаки. Отменить загрузку можно нажатием ESC. В этом случае не докаченная картинка не будет сохранена. Кстати, при загрузке картинка помещается в кэш Internet Explorer, но в следующий раз она снова будет читаться с сервера. Также в этом меню есть пункты для импорта картинки или предпросмотра в базу. Это может быть полезным если Вы только что загрузили на ImageShack несколько картинок, импортировали о них сведения в базу, а скачивать их не хочется. В этом случае можно просто указать где находится каждая картинка. Заметьте, что программа не проверяет правильность файла, и импортировать можно всё что угодно - оставляю это на совести пользователя ^^ Поле "Владелец" сделано для сведения. В него заносится имя пользователя, который выгрузил на сайт картинку. Оно формируется из имени домена (или локальной машины) и имени пользователя. При этом в Windows 9x имя домена ставится правильно только если определена переменная окружения USERDOMAIN. Если у Вас программа установлена на нескольких компьютерах, то Вам пригодится функция синхронизации. Найти команды, связанные с ней, можно в меню "База". "Экспорт файла синхронизации" выводит диалог сохранения файла синхронизации. По умолчанию файлу уже задано имя, но его всегда можно сменить. Суть файла синхронизации заключается в том, что все картинки и XML из базы пакуются в большой файл, который потом можно будет прочитать на другом компьютере. В файл копируется всё, что есть в каталогах данных, включая лишние файлы (которые могут там появится благодаря нерадивому пользователю), так что в итоге он может получиться достаточно большим. "Проверка файла синхронизации". Эта опция проверяет файл синхронизации на предмет ошибок и того что файл может и не являться файлом синхронизации. "Импорт файла синхронизации". Эта опция сначала проверяет файл как предыдущая, а затем импортирует файл. Работает всё также как и дополнение базы из реестра, за исключением того что файл синхронизации будет распакован во временный каталог, и данные будут загружены из распакованного XML файла. В базу будут импортироваться только новые записи, а вот картинки будут скопированы для каждой записи. Все лишние файлы будут проигнорированы. Загрузка картинок ----------------- Во второй версии программы появилась долгожданная закачка картинок на сервер. При этом поддерживается авторизация, если у Вас есть профиль на ImageShack. Кроме того, разом можно закачать больше десяти картинок, и все они сразу попадут в список картинок. Чтобы открыть окно закачки нужно в меню "База" выбрать "Закачать на сервер". Появится диалоговое окно с пустым списком. В строке состояния будет отображаться ход загрузки и авторизации. На панели инструментов расположены кнопки, которыми управляется список и стартует закачка. Горячие клавиши отображаются во всплывающих подсказках каждой кнопки. Зелёный плюс добавляет один файл в список. При этом по расширению определяется его MIMI тип. Заметьте, что файл не проверяется, и о том, правильная ли это картинка или нет, решает сервер. Также рядом с плюсом есть меню, в котором можно выбрать добавить картинку или её адрес. Первый случай идентичен нажатию на кнопку. Во втором случае в список будет добавлен только адрес картинки без каких-либо данных о том, правильный он или нет. Также тут имеется третий пункт, с помощью которого закачка вставляется из буфера обмена. При этом программа сама определяет, находится там имя файла или адрес. Красный крестик удаляет выделенный файл из списка. Если ни один файл не выделен или список пуст, кнопка ни чего не делает (да, мне было лень её блокировать). Зелёный треугольник стартует закачку. При этом картинки закачиваются по списку сверху вниз. Те, что успешно закачались, немедленно удаляются. Если в процессе закачки произойдёт ошибка или пользователь отменит закачку, будет выведено окно сообщения, и все ещё не закаченные картинки останутся в списке. При закачке локальных файлов каждый успешно закаченный файл будет добавлен в базу, таким образом Вам не придётся потом импортировать каждый из них. Предпросмотры при этом не получаются и не импортируются. При закачке ссылок сервер сам скачает картинку и добавит в галерею. Имя файла картинки вернёт сам сервер и скорее всего оно будет немного изменено, но именно его будет использовать программа. Также при закачке ссылки картинка не будет скачена автоматом и не будет скопирована в базу - в базу попадёт только ссылка с ImageShack. Такой метод полезен если Вы только что скачали большую картинку, знаете адрес и хотите закачать её на ImageShack, но Вам жалко трафика, чтобы закачивать всю картинку. Если картинка открыта в броузере, можно узнать её адрес щёлкнув правой клавишей на ней и выбрав что-то вроде "Image properties" или "Свойства". В появившемся окне будет адрес рисунка. Красный кирпич останавливает закачку. Среди столбиков в списке файлов есть столбик "Флаги". Здесь указываются дополнительные опции. Буква P означает, что картинка не будет доступна при просмотре ваших картинок другими пользователями. Включается и выключается этот флаг нажатием P на клавиатуре. Буква B означает, что у предпросмотра будет строка с указанием размеров картинки. Включается этот флаг клавишей B. По умолчанию оба флага выключены, так что будьте внимательны ^^ Заметьте, что ссылки будут добавлены в список только после закрытия окна закачки. За раз можно закачать картинки сколько угодно раз. Также заметьте, что во временном каталоге появился подкаталог "{FC48249E-44AC-4141-A6B4-E910D7AB87BC}", в который сохраняются на всякий случай заголовки запросов и данные, которые возвращает сервер. Их можно удалять, в состав файла синхронизации они не входят. Чтобы закачать картинки в свой профиль, в главном окне программы нужно в меню "Настройки" выбрать "Параметры авторизации". В появившемся окне нужно ввести данные, которые Вы вводите на сайте, когда логинитесь ^^ Вот и всё. Каждый раз при закачке картинок программа сначала авторизуется на сервере, а потом только закачивает. Заметьте, что если отсутствует имя пользователя или пароль, программа не авторизуется и закачивает картинки анонимно. При закрытии окна список закачек сохраняется и при следующем открытии этого окна все ещё не загруженные картинки появятся здесь вновь. Правда, при этом программа проверяет, остались ли файлы на своих местах или нет, и если какого-то локального файла не будет на месте, программа не добавит его в список. Файлы данных ------------ Программа хранит свою базу в каталоге Application Data. Тоесть, например, для Windows XP это будет каталог "C:\Documents And Settings\UserName\Application Data\HalfMoon Studios\ImageShack Links". Самый простой способ выяснить расположение файлов данных - открыть картинку из программы и посмотреть её свойства (если программа просмотра поддерживает такую возможность). Удаление -------- Удаление самой программы производится обычным способом - через Установку и удаление программ. Однако файлы с данными не удаляются, поэтому Вам придётся самостоятельно удалить папку данных программы. Маленький копирайт ------------------ 1. Программа распространяется бесплатно. 2. Вы имеете право распространять её на тех же условиях. 3. При распространении вы не имеете права менять авторство программы, присваивать его себе или каким-либо иным способом искажать его. 4. Разрешено коммерческое использование программы (в офисе, на производстве) за исключением её платного распространения или сдачи в аренду. 5. Программа распространяется как есть. Автор не несёт ответственности за любые трагедии или несчастные случаи, вызванные использованием программы. 6. Вы имеете право использовать ActiveX компоненты, поставляемые с программой, в собственных программах. При этом автор не гарантирует совместимость будущих версий компонентов. 7. Для любого пункта данного соглашения может быть сделано исключение с разрешения автора программы. 8. По любым вопросам, связанным с данной программой, обращайтесь по адресу lindaoneesama@gmail.com Загружено с http://purl.oclc.org/Linda_Kaioh/Homepage/