Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Определение географического положения по IP-адресу

23.09.2009 | Категория: Web-мастеру и не только | Автор: ManHunter

Определение географического положения по IP-адресу

Определение страны и города посетителя сайта по его IP-адресу применяется во многих случаях. Например, автоматическая подстройка языка отображения сайта, более точный таргетинг рекламных или информационных блоков сайта, разграничение доступа к разделам сайта для разных источников трафика, а также для многих других целей. Наиболее полные базы географического положения IP-адресов в настоящее время предоставляет компания MaxMind в своей базе GeoLite City. Бесплатный вариант базы содержит данные с точностью до города, его можно скачать с сайта в бинарном формате (в распакованном виде около 30 мегабайт) и в формате CSV (в распакованном виде около 130 мегабайт). На сайте также можно оформить подписку на коммерческие варианты базы, содержащие данные с точностью до улиц и обновляющиеся еженедельно, но это только если вашему проекту действительно требуется такая точность. Обновления бесплатной базы выходят регулярно, обычно в первых числах каждого месяца. Пример работы скрипта с коммерческой географической базой можно посмотреть на сайте MaxMind. Там же на сайте можно скачать бесплатные базы стран мира, почтовые индексы некоторых стран и много других полезных данных. К сожалению, самые вкусности предоставляются только за деньги.

Читать статью целиком »
Просмотров: 17269 | Комментариев: 16

Готовим "Макаронных осьминожков"

21.09.2009 | Категория: А еще я туда ем! | Автор: ManHunter

"Макаронные осьминожки"

Подсмотрел в одном из интернетов это блюдо. Простейшее до невозможности, но при этом очень оригинальное. Решил тоже приготовить, и мне оно понравилось.

Читать статью целиком »
Просмотров: 7395 | Комментариев: 17

Концерт группы "Witchcraft" в клубе "Plan B"

20.09.2009 | Категория: Жизнь в оффлайне | Автор: ManHunter

Концерт группы "Witchcraft" в клубе "Plan B"

Хедлайнеры этого концерта - московская группа "Witchcraft" уже успели завоевать мое доверие своим дебютным альбомом и многолетней концертной деятельностью. А вот "спец.гостей" надо бы изучить получше, повнимательнее ознакомиться с их творчеством.

Читать статью целиком »
Просмотров: 5082 | Комментариев: 2

Исследование защиты программы Zip Password Tool

18.09.2009 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Zip Password Tool

Zip Password Tool от FDRLab Data Recovery Centre - программа для подбора паролей к ZIP-архивам. Позволяет подбирать пароли прямым перебором (Brute-force attack) и по заранее созданному словарю. По скорости работы, конечно, уступает лидерам в этой области, но со своей задачей вполне справляется, так что в можно держать в запасе на всякий случай. В бесплатной версии не показывает пароли длиннее 4 символов и не позволяет перебирать пароли по словарю. Это плохо, попробуем устранить эти недостатки.

Читать статью целиком »
Просмотров: 5183 | Комментариев: 3

Подсказки (tooltips) в диалоговых окнах

16.09.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Еще один способ придать вашим программам профессиональный вид - использование всплывающих подсказок (tooltips), которые появляются при наведении курсора мыши на какой-нибудь элемент диалогового окна. Готовые примеры на FASM или слишком громоздкие, или недостаточно гибкие, поэтому пришлось придумывать что-то свое. Причем с самого начала поставил себе задачу сделать функции работы с подсказками как можно более универсальными, чтобы в дальнейшем их можно было легко использовать в других проектах.

В сегменте данных определим все необходимые константы, переменные и структуры. Большая часть этих данных в FASM по умолчанию отсутствует, так что пришлось штудировать MSDN и другие источники и описывать их самостоятельно.
  1. ; Сегмент данных
  2. section '.data' data readable writeable  
  3.  
  4. hwndTip         dd ?    ; Хэндл окна подсказки
  5. TTipFlag        dd ?    ; Флаг активности подсказки
  6.  
  7. ; Структура TRACKMOUSEEVENT не определена, сделаем это сами
  8. struct TRACKMOUSEEVENT
  9.   cbSize        dd ?
  10.   dwFlags       dd ?
  11.   hwndTrack     dd ?
  12.   dwHoverTime   dd ?
  13. ends
  14.  
  15. ; Определяем нужные структуры
  16. tme     TRACKMOUSEEVENT
  17. pt      POINT
  18. ttip    TOOLINFO
  19. trect   RECT
  20.  
  21. oldX    dd ?    ; Сохраненные координаты мыши
  22. oldY    dd ?
  23.  
  24. ; Определяем нужные константы
  25. TTM_TRACKACTIVATE  = WM_USER + 17
  26. TTM_TRACKPOSITION  = WM_USER + 18
  27. TTM_SETMAXTIPWIDTH = WM_USER + 24
  28.  
  29. ; Сообщения окну подсказки
  30. TTF_SUBCLASS       = 0x0010
  31. TTF_TRACK          = 0x0020
  32. TTF_ABSOLUTE       = 0x0080
  33. TTF_TRANSPARENT    = 0x0100
  34.  
  35. ; Сообщение обработчика мыши
  36. TME_LEAVE          = 0x00000002
  37.  
  38. ; Максимальная ширина всплывающей подсказки
  39. TOOLTIP_WIDTH      = 200
  40.  
  41. ; Предустановленное количество элементов в массиве подсказок
  42. TOOLTIPS_COUNT     = 5
  43.  
  44. ; Массив данных для всплывающих подсказок
  45. ; Формат массива:
  46. ;   1 DWORD - сохраненный адрес обработчика
  47. ;   2 DWORD - адрес подсказки
  48. tt_data rd  (TOOLTIPS_COUNT*2)
Для добавления подсказок к элементам диалогового окна я написал отдельную процедуру, использующую субклассирование. Она же является процедурой, создающей исходное окно подсказки, если оно до этого не было создано. Окну подсказки присваивается максимальная ширина, определяемая константой TOOLTIP_WIDTH, и для большей изящности добавляется эффект тени.

Читать статью целиком »
Просмотров: 5973 | Комментариев: 10

01 ... 402 403 404 405 406 407 408 ... 439
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2026
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.1 сек. / MySQL: 2 (0.0314 сек.) / Память: 4.5 Mb
Наверх