Блог по программированию в среде Delphi

Поиск по блогу

Есть идея по созданию интересной программы?

Опиши тут и я по возможности постараюсь это реализовать специально для тебя! Без $ ))

четверг, 31 марта 2011 г.

Стеклянная кнопка rkGlassButton (Delphi)

Компонент стеклянная кнопка для Delphi (устанавливал в Delphi XE версию 2 при перемещении бывают глюки, но это не беда компонент идет в исходниках в виде одного pas файла. Так что если есть желание и время можно это глюк пофиксить)

Скрин  rkGlassButton 2



История развития компонента rkGlassButton 1.5
  • Стал лучше рендеринг
  • Теперь компонент может отбрасывать тени
  • Можно изменить цвет тени
  • Регулируется уровень глянцевости
  • Изменение позиции изображения и разрыва текста
  • Работает как кнопки в Windows 7
История развития компонента rkGlassButton 1.75
  • Добавлена обработка клавиатуры
  • Добавлена стрелочка при нажатии которой появляется Pop up Menu
  • Новый фокус рендеринга
  • Добавлено состояние нажата
  • Пофиксены некоторые ошибки

История развития компонента rkGlassButton 2
  • Добавлено позиционирование текста (слева, по центру, справа)
  • Кнопка может быть плоской (Flat)
  • Альтернативный рендеринг стиль
  • Появилась возможность отключения кнопки

Распространяется по лицензии MPL 1.1

Блог автора компонента
Klever on Delphi

Скачать компонент можно отсюда Download

среда, 30 марта 2011 г.

DSpack 2.3.3 (Delphi)

Компонент для написания мультимедиа приложений использующих MS Direct Show и DirectX технологии. С DSpack вы можете создать все, что вы хотите: DVD, захвата, сжатие, фильтры, ТВ, веб-камера, DV... 
Корректно работает в Delphi XE, для работы примеров необходимо переименовать в uses DSUtil.pas на DSUtils.pas (в Delphi 2009 появился другой модуль с таким именем)
Запустил пример который поток видео с веб-камеры сохраняет на диск в формате avi, после чего открыл файл и в нем было действительно видео с веб-камеры, а не просто пустой файл. 


Установка

Добавляем в переменные среды Delphi
       - (DSPackDir)\src\Directx9
       - (DSPackDir)\src\DSPack
Компилируем DirectX 9 Package (DirectX9_Dx.dpk) из папки packagesD2010.
Компилируем  DSPack Package (DSPack_Dx.dpk) из папки packagesD2010.
Устанавливаем Design Package (DSPackDesign_Dx.dpk) из папки packagesD2010.

И не забываем в примерах в случае если возникает ошибка
[DCC Error] main.pas(34): E2003 Undeclared identifier: 'TSysDevEnum'
переименовывать модуль DSUtil.pas на DSUtils.pas

Скачать DSpack можно отсюда Download

вторник, 29 марта 2011 г.

JSON – SuperObject (Delphi)

 JSON – SuperObject библиотека для работы с JSON в Delphi, данная библиотека была проверена в Delphi 2010, всё прекрасно работает! Недавно был пост посвященный подобной библиотеке, но по функционалу и стабильности работы, она не показала себя с хорошей стороны в отличие от этой библиотеки.

Особенности:
  • Быстрота анализа
  • XML в JSON
  • Простота использования
  • Проверка валидности JSON
  • JSON-RPC (Remote Procedure Call (вызов удалённых процедур)).
  • Возможность написания JSON в удобной для человека форме.
Лицензия:
MPL или LGPL

Сайт автора компонента:
Delphi & Free Pascal ressources by Henri Gourvest


SVN:
http://superobject.googlecode.com/svn/trunk/


Скачать архив от 29.03.2010 отсюда Download

вторник, 15 марта 2011 г.

WordUnit 1.0 Программа для сбора поисковой выдачи


Утилита для поиска сайтов по ключевым словам в поисковых системах GOOGLE, YANDEX, RAMBLER (хотя последним даже и не пользуюсь ни когда)) ну и бог с ним) и сохранения их в таблицу, из таблицы в файл, а дальше куда душа пожелает!
Программа получает выдачу поисковиков по запросам, которые можно сделать в конструкторе, форма конструктора идентична их онлайн версиям, так, что проблем возникнуть не должно с построением запроса.

воскресенье, 6 марта 2011 г.

"Липкая" форма (Delphi)

Как заставить форму приложения "прилипать" к краям экрана?

Оказывается очень просто))
Необходимо в  свойствах формы ScreenSnap сделать равным True и SnapBuffer числу пикселей между краем формы и краем экрана (по дефолту 10) после чего форма должна "прилипать" к краю экрана.
 ScreenSnap:=True;
 SnapBuffer:=10;

воскресенье, 27 февраля 2011 г.

Функция получения PageRank (Delphi)


Ни так давно захотел определить PR блога без SEO сервисов с помощью Delphi.
Все оказалось ни так просто, как на Yandex'e при определении ТИЦ'а. Чтобы получить ТИЦ для тех, кто не знает или просто ни когда об этом, ни задумывался, необходимо выполнить запрос такого вида:
http://search.yaca.yandex.ru/yca/cy/ch/[URL сайта без http:\\]/

Пример:
http://search.yaca.yandex.ru/yca/cy/ch/nmdsoft.blogspot.com/
 

и немного распарсить страницу и получим искомый нами ТИЦ

четверг, 24 февраля 2011 г.

Класс для работы с JSON в Delphi


JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.

Класс lkJSON для работы с  универсальными структурами данных (JSON ) в среде Delphi. Проверял на работоспособность в среде Delphi 2010, все прекрасно работает, в комплекте с классом идут примеры, посмотрев которые можно легко понять, что к чему, так же класс идет в исходном коде и  его можно доработать для своих целей.

вторник, 1 февраля 2011 г.

Бот для Haddan

Новая версия бота с исправленными недочетами предыдущей версии, выявленными в результате бета-тестирования 2 игроками (ники и имена в секрете).

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

Вкладка "Главная"

  1. Время  до  завершения  поиска руды.
  2. Сколько  раз  копали  в  шахте.
  3. Количество  ресурсов  в  инвентаре.
  4. Количество  добытых  ботом  ресурсов  за  одну  сессию.

суббота, 8 января 2011 г.

Бот для Haddan

Бот для игры Haddan автоматически выполняет все действия при добывании руды (профессия шахтер). Теперь при добыче руды не нужно вводить текст с картинки (капчу), за вас это сделает программа с помощью сервиса http://antigate.com ! Цена одной распознаной картинки, а следовательно одного подхода стоит всего 0,1 цента (3 Русских копейки) ! Бот сэкономит ваше время и деньги (на сайте хаддана эта услуга стоит намного больше !) Бота можно оставить наночь или запустить после включения компьютера и забыть. Через пару дней зайдите в игру и посмотрите свои ресурсы в инвентаре. Вы будете приятно удивлены :-)


пятница, 7 января 2011 г.

Отправка файла Synapse

Код функции по отправке файла
Автор: Eric Paschoalick Chaves

function HttpPostFileForm(const URL, FieldName, FileName: string; const Data: TStream; const FormFields:TStrings; const ResultData:
TStrings): Boolean;
var
  HTTP: THTTPSend;
  Bound, s: AnsiString;//был string, но для России не катит ( ! )
  i:integer;
const
  CRLF=#13#10;
  FIELD_MASK = CRLF + '--%s' + CRLF +'Content-Disposition: form-data; name="%s"' + CRLF + CRLF+'%s';
begin
  Bound := IntToHex(Random(MaxInt), 8) + '_Synapse_boundary';
  HTTP := THTTPSend.Create;
  try
    s := '--' + Bound + CRLF;
    s := s + 'content-disposition: form-data; name="' + FieldName +'";';
    s := s + ' filename="' + FileName +'"' + CRLF;
    s := s + 'Content-Type: Application/octet-string' + CRLF + CRLF;
    HTTP.Document.Write(Pointer(s)^, Length(s));
    HTTP.Document.CopyFrom(Data, 0);
    // Include formfield
    for i:=0 to FormFields.Count-1 do
      begin
        S:= Format(FIELD_MASK,[Bound, FormFields.Names[I],FormFields.Values[FormFields.Names[I]]]);
        HTTP.Document.Write(Pointer(S)^, Length(S));
      end;
    s := CRLF + '--' + Bound + '--' + CRLF;
    HTTP.Document.Write(Pointer(s)^, Length(s));
    HTTP.MimeType := 'multipart/form-data, boundary=' + Bound;
    Result := HTTP.HTTPMethod('POST', URL);
    ResultData.LoadFromStream(HTTP.Document);
  finally
    HTTP.Free;
  end;
end;