Упрощаем блоггинг. Картинки. (и программирование заодно) часть II

picИтак, вернёмся к программированию. Давайте продолжим выполнение вот этой задачи.

Мы выяснили, что нам надо:
1) посмотреть появились ли в папке какие-то новые файлы
2) если нет – то ничего не делать
3) если да – начать работу:
4) взять файл и проверить картинка ли это сравнивая с известными расширениями (jpg, png, gif, bmp)
5) создать картинку предпросмотра (thumbnail)
6) сформировать ссылку и закинуть её в clipboard
7) переместить файл в какую-то другую папку (например ARCHIVE)
8) повторить для каждого нового файла в директории.

Начнём с самого первого пункта.

Поехали это реализовывать ничего не зная о программировании

Во первых надо установить этот самый AutoIt. Проблем не должно возникнуть. Просто качаем самое верхнее, устанавливаем по типу “Next\Next\Next” и получаем готовую среду. Есть свой редактор, есть … в общем практически всё что нам надо для самого начала.

Давайте пойдём по шагам.
1) надо посмотреть появились ли в папке файлы.

Запускаем SciTe AutoIt Script Editor (в комплекте).
Открываем так же Help
logo

(Можно скачать и русский Help)

Смотрим что могло бы нам помочь и находим раздел посвящённый операциям с диском:
logo

Раздел посвящённый файлам навскидку ничего нам не даёт. Непонятно что из этого использовать для просмотра файлов в директории.

Можно перебрать все функции, но … оно нам надо? Есть волшебный гугль. Набираем вот такой вопрос: “autoit как просмотреть список файлов в директории” Вот так

logo
и первая же ссылка даёт нам ответ “куда смотреть”
logo

Упоминается функция FileFindFirstFile. Посмотрим что на неё есть в Help. (Напоминаю, что он есть и на русском языке!)

Смотрим что же нам даст Help:
logo

Да это же готовый кусок! Давайте ка его просто перенесём в наш редактор. Что умеет этот кусок?

; Shows the filenames of all files in the current directory.
Local $search = FileFindFirstFile("*.*")
; Check if the search was successful
If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Exit
EndIf
While 1
    Local $file = FileFindNextFile($search)
    If @error Then ExitLoop
    MsgBox(4096, "File:", $file)
Wend
; Close the search handle
FileClose($search)

Он умеет найти какие-то файлы в директории. Если их нет – покажется диалог с надписью, что файлов нет. Если они есть – покажется диалог с названием каждого файла в диретории. В смысле сколько файлов – столько и диалогов покажется…

Давайте посмотрим что нам надо поменять. Во первых надо указать какую, собственно директорию смотреть.
Поместим, скажем, в директорию c:\FCHECK один файл (любую картинку). Например, 1.png

Перепишем код вот так:

Local $search = FileFindFirstFile("c:\fcheck\*.*")

И просто запустим.
logo

На экране появится, ожидаемый Диалог (MessageBox) с названием файла.
logo

Вот так потратив всего 10 минут и ничего не зная о программировании уже имеем программу, которая “умеет” посмотреть что есть в какой-то директории и показать нам названия файлов…

Дальше будут следующие пункты из требующихся. И вы увидите, что любой способен делать такие несложные вещи…

Если что-то непонятно – обращайтесь. Расскажу, покажу, объясню по другому.

P.S. Желательно включать мозг и читать что же вы собираетесь сделать. Скажем избегать “экспериментировать” с чем-то, что имеет в названии “Delete”, “Erase” и так далее. Просто читаем описание того, что используем перед тем как пробовать!


цифровые фоторамки (http://www NULL.sotmarket NULL.ru/category/fotoramki NULL.html)