Здравствуйте, в этой статье хотел бы поговорить немного о «липких» окнах. Да эффект в приложениях довольно распространенный и чаще всего встречается в каких-нибудь проигрывателях, например, Winamp. Так вот, когда я делал свой проигрыватель на основе bass.dll, то у меня возникла такая проблема (необходимо было организовать «липкое» окно). Проблему я эту решил очень не красиво и получилось очень не удобно и сильно «глючило». А все это я сделал через TTimer. То есть поставил Interval в 1 и потом по созданию формы я написал код, который будет к краю главной формы прилипать другую форму. То есть я просто на таймере задавал Left новой форме. Сейчас эту проблему я решил через обработку сообщений, которые посылаются при перемещении формы, эффект получился тот же, что и при версии с таймером, но зато не «глючил». Есть способы, которые делают «липкие» окна и другие, может более лучшие, но мне как-то свой способ и прижился. Давайте еще рассмотрим перед тем как делать «липкое» окна по отношению к другому, сделаем перемещение формы за любой ее элемент. Для этого мы будем использовать обработку сообщения WMNCHitTest.
Объявим процедуру в спецификаторе доступа private - procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;
Далее установим курсор на данную процедуру и нажмем Ctrl+Shift+C, после чего у нас появится заготовка нашей процедуры.
Метки: липкие окна, липкие окна в Delphi, работа с окнами в Delphi
Здравствуйте, давненько я ничего не писал в блог, сами понимаете работа, учеба, да и куча других дел есть, вот хотел бы наверстать упущенное и в этой статье вернуться к проекту VK API в Delphi. А точнее если быть мы закончили на том, что получали список идентификаторов видео файлов из социальной сети вконтакте. Теперь же мы получим информацию о данном видео файле. То есть результатом будет массив из количество найденных видеозаписей и объектов. Мы получим примерно следующие данные — название, описание, ключевые слова, дата создания, картинку и так далее. Конечно не обязательно все данные парсить и получать, а только те, которые Вам необходимы. Теперь перейдем к самому методу API, который называется
- video.get
Скажу сразу, чтобы использовать данный метод необходимо, если у приложения установлены права доступа с битовой маской не меньше 16. Теперь приступим к описанию самих параметров данного метода.
- api_id — идентификатор приложения
- sig - подпись безопастности
- v - версия API, текущая 3.0, в документации ВК — 2.0
- videos - идентификаторы пользователя с идентификаторами видеозаписей, перечисленные нижним подчеркиванием. Пример — 4363_136089719
- uid - идентификатор пользователя, видеозаписи которого необходимо вернуть, если задан параметр videos, то uid не учитывается
- width - требуемая ширина, получаемых видеозаписей
- count - количество возвращаемых видео записей
- offset - смещение отностительно первой найденной видео записи для выборки определенного подмножества данных о видеозаписях
- format - формат возвращаемых данных (XML или JSON)
- test_mode — если равен 1, то разрешает тестовые запросы к данным приложения.
Метки: API, Idhttp, VK API, vkontakte, vkontakte API, вконтакте API
В прошлой статье по работе с базой данных MySQL c использованием Denwer мы рассмотрели какие компоненты можно использоваться для этого, а также рассмотрели простую работу подключения к данной БД, кроме этого необходимые компоненты были приложены в данной статье. В этой статье я хотел бы немного продолжить разговор и немного усовершенствовать наш проект, добавив в него потоки, чтобы можно было подключаться к нашей БД через поток, все таки, некоторые хостинги отвечают на подключение очень медленно и чтобы не вводить в заблуждение нашего пользователя, когда будет происходить подключение к нашей БД, если будет указан неверное логин и пароль, то естественно программа без потока зависнет на время подключения, только после того, как получит ответ от сервера выдаст ошибку, что пароль неверный. Кроме добавления потока в нашу программу, еще хотел бы написать пару запросов к нашей таблице.
В этой статье я хотел бы поговорить как можно использовать базу MySQL из «джентльменского набора» Denwer. Многие знают, что там есть MySQL, так вот, чтобы, например, написать софт с использованием базы MySQL на Delphi не обязательно качать отдельный сервер базы MySQL, а если уже у кого-то установлен Denwer, то можно использовать его, или на крайний случай если есть хостинг, то и его. Только с хостингом могут быть не большие проблемы, например, некоторые хостинги запрещают подключение сторонних клиентов и поэтому дополнительно в вашей панели управления хостингом необходимо поставить галочку, что разрешать подключение, либо поставить фильтр на ip-адресса тех, кто может подключаться к данному хостингу. Ну для начала давайте запустим сам сервер и создадим в MySQL базу данных и пользователя с таблицей. Итак у меня вышли следующие данные
- Сервер — localhost
- Имя пользователя — test
- Пароль — test
- Имя БД — test
Порт указывать тут не требуется, если потребуется на хостинге, то в свойстве Port укажите нужный порт.
Этой статьей я хотел бы начать работу с видеозаписями в ВК. Ближайшая серия статей будет посвещена именно работе с видеозаписями, то есть будем искать видеозаписи по определенному запросу, получать список видеозаписей на которых отмечен пользователь, работать с комментариями к видеозаписи и много другое. В этой статье мы рассмотрим как можно найти видеозаписи по определенному запросу. Итак, что для этого нам понадобится, во-первых как всегда создадим в нашем проекте новую вкладку и зададим ей Caption — «Видеозаписи». Далее на ней мы расположим следующие компоненты
- TButton
- TEdit
- TListBox
В TListBox мы будем размещать после парсинга, например, идентификаторы видеозаписей или полное название, найденной видеозаписи. Итак теперь перейдем к самому методу
- video.search
Для, того, что его использовать у приложения должны быть права минимум с битовой маской 16. Итак теперь рассмотрим параметры данного метода
- api_id - идентификатор приложения
- sig - подпись безопасности
- v - версия API, версия в документации ВК — 2.0, а на самом деле текущая версия API — 3.0
- q - строка поискового запроса. То есть то, что мы будет искать по всем видеозаписям
- sort — вид сортировки видеозаписей в ответе с сервера, 1 — по длительности видеозаписи, 0 — по дате добавления
- hd — если не равен нулю, то поиск будет осуществляться по видеозаписям только высокого качества.
- count - количество возвращаемых видеозаписей, но не больше 200
- offset - смещение для выборки определенного подмножества
- format - формат, возвращаемых данных XML или JSON
- test_mode - если равен 1, то разрешает тестовые запросы к данным приложения
Первые четыре параметры являются обязательными при составлении запроса.
Метки: API, Idhttp, VK API, vkontakte, vkontakte API, вконтакте API