Quantcast
Channel: Сообщество PHP DevelStudio - среда разработки программ
Viewing all articles
Browse latest Browse all 6336

Скины для Devel Studio3

$
0
0
Данная библиотека написана на Delphi XE7 БЕЗ ИСПОЛЬЗОВАНИЯ PHP4DELPHI

Вот, как и обещал :) библиотека которая сделает ваши формы упругими, прозрачными, и мягкими :a1:

В архиве две версии, о них под сполером :a11:
Скрытый текст:

В чем разница от пирата и честного ?

Пират - купленная библиотека, с ключом который не должен попасть в чьи то руки, кроме покупателя -_-
Честный - Дэмо версия, которая работает ХЕРОВО, НА БАГАХ, не кто не купит, если такое увидит -_-

Минус пирата, версия старая, и могу понадобится какие то библиотеки VS



Библиотека содержит все функции SkinCrafter, а их 43 ... Ознакомиться с функционалом вы можете в официальной справке.

Кроме того еще добавлены 3 функции
LoadSkinsPHP([string LibName]) - Загружает модуль SkinCrafter, если параметр пуст или null то стандартное имя SkinCrafter.dll
Возвращает int, а именно
0 - не загружена библиотека.
1 - загружена, курите спокойно.
2 - библиотека была загружена ранее

ClouseDemoWindows(); - Закрывает дэмо окно автоматом, ну его :a6:

ISLoadSkins(); - проверяет загружен ли модуль SkinCrafter. Тип возврата BOOL



Тут каких то примеров не буду приводить по использованию, скачайте архив, гляньте сами.

Справку вы тоже можете скачать, приложена к посту


Официальный сайт скинов,там вы сможете найти скин билдер, и галерею скинов.
Официальный сайт архива 7Zip


И да, если тема соберет 30 Спасибо :a1: я выложу исходник библиотеки, а как я писал ранее, она без использования php4delphi, вот пример - части кода
Скрытый текст:

Код:

library php_skins;

uses
  Windows,
  Skins,
  DelphiPhp5;


procedure LoadSkinsCallBack(ht : integer; return_value : pzval;
                      return_value_ptr : ppzval; this_ptr : pzval;
                      return_value_used : integer; TSRMLS_DC : pointer); cdecl;
var
  filename:ppzval;
  result:SmallInt;
begin
  result := 0;

  if IsLoadSkin then begin
    ZvalVAL(return_value, 2);
    exit;
  end;

  if ht = 0 then
    result := LoadSkins
  else begin
    if (zend_get_parameters_ex(ht, @filename) = SUCCESS) then begin
      if filename^^._type = IS_STRING then
        result := LoadSkins(filename^^.value.str.val)
      else
        result := LoadSkins;
    end else
      zend_wrong_param_count(TSRMLS_DC);
  end;
  ZvalVAL(return_value, result);
end;

procedure GetSkinCopyRightCallBack(ht : integer; return_value : pzval;
                      return_value_ptr : ppzval; this_ptr : pzval;
                      return_value_used : integer; TSRMLS_DC : pointer); cdecl;
var
  skinpath, name, author, date, email:ppzval;
  name_, author_, date_, email_:WideString;
  CountError:Boolean;
begin
  if not IsLoadSkin then exit;
  CountError := true;
  if ht = 5 then begin
    if (zend_get_parameters_ex(ht, @skinpath, @name,
                                    @author,@date, @email) = SUCCESS) then begin
      name_  :=  ZvalStrW(name^^);
      author_ :=  ZvalStrW(author^^);
      date_ :=  ZvalStrW(date^^);
      email_ := ZvalStrW(email^^);

      ZvalHRESULTStr(return_value, GetSkinCopyRight(ZvalStrW(skinpath^^),
                                                name_, author_, date_, email_));

      ZvalString(name^, name_);
      ZvalString(author^, author_);
      ZvalString(date^, date_);
      ZvalString(email^, email_);

      CountError := false;
    end;
  end;

  if CountError then
    zend_wrong_param_count(TSRMLS_DC);
end;


var
  moduleEntry : _zend_module_entry;
  module_entry_table : array of _zend_function_entry;

procedure AddFuction(Name:PAnsiChar; CallBackFunc:Pointer);
var
  i:Integer;
begin
  if High(module_entry_table) = -1 then
    SetLength(module_entry_table, 1);

  SetLength(module_entry_table, Length(module_entry_table) + 1);
  i := High(module_entry_table) - 1;
  module_entry_table[i].fname := Name;
  module_entry_table[i].arg_info := nil;
  module_entry_table[i].handler := CallBackFunc;
end;

function get_module : p_zend_module_entry; cdecl;
begin
  ModuleEntry.size := sizeof(_zend_module_entry);
  ModuleEntry.zend_api := ZEND_MODULE_API_NO;
  moduleEntry.build_id := ZEND_MODULE_BUILD_ID;
  ModuleEntry.Name := 'skins';
  Result := @ModuleEntry;

  if not LoadZEND then exit;
  AddFuction('LoadSkinsPHP', @LoadSkinsCallBack);
  AddFuction('GetSkinCopyRight', @GetSkinCopyRightCallBack);
  Result := @ModuleEntry;
end;

exports get_module;

end.







О - моем творение, я его реализовал за пару часов, сегодня ночью, оно предназначено тока для написания библиотек, и имеет всего лишь 2 функции, которые загружается из библиотеки php :a5: и всякие плюшки, о плюшах пока не будем, будем о тех которые я хочу ввести, а именно ИЕРАРХИЮ АВТО ЗАГРУЗКИ :a11::a11::a11::a8:

Выглядит на деле это как то так
PHP код:

  PHPFUNCTION = class
    class 
procedure ShowMessage(sstring);
    class function 
FileExists(nstring): boolean;
  
end;
....
RegFunctionClass(moduleEntryPHPFUNCTION); 

Т.е, колбэк будет строиться автоматически :a6: край безумия короче :a4::a3::a3::a1::):):) а пишу, потому что кое что уже реализовал, все в доработке :a17::a17:
Миниатюры
Нажмите на изображение для увеличения
Название: bandicam 2015-04-11 08-13-21-967.jpg
Просмотров: Недоступно
Размер:	59.3 Кб
ID:	3230   Нажмите на изображение для увеличения
Название: bandicam 2015-04-11 08-14-06-871.jpg
Просмотров: Недоступно
Размер:	72.8 Кб
ID:	3231   Нажмите на изображение для увеличения
Название: bandicam 2015-04-11 08-14-17-308.jpg
Просмотров: Недоступно
Размер:	57.1 Кб
ID:	3232   Нажмите на изображение для увеличения
Название: bandicam 2015-04-11 08-14-34-273.jpg
Просмотров: Недоступно
Размер:	59.2 Кб
ID:	3233   Нажмите на изображение для увеличения
Название: bandicam 2015-04-11 08-15-26-621.jpg
Просмотров: Недоступно
Размер:	70.9 Кб
ID:	3234  

Вложения

Viewing all articles
Browse latest Browse all 6336

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>