Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi for PHP > Delphi for PHP (RAD PHP XE, HTML5 Builder ): Компоненты


Автор: vicis 26.08.09, 10:50
Внимание!
Компоненты в 1 и 2-й версии называоись vcl (visual components library) и с одной стороны входили в стандартную поставку Delphi For Php, а с другой стороны являлись open source проектом и отдельно дорабатывались. Т.е. новые версии можно качать бесплатно с http://sourceforge.net/, а также участвовать в их разработке.
3-я версии продукта теперь называется RadPhp XE, но компоненты там теже, что и были раньше, просто это новые версии. Компоненты теперь стали называться не vcl, а rpcl, но по прежнему их можно полностью скачать с http://sourceforge.net/.
Переход с vcl на rcpl был осуществлён в версии 281 http://vcl4php.svn.sourceforge.net/viewvc/vcl4php?view=revision&revision=281
На RPCL есть ещё такая ссылка http://sourceforge.net/projects/rpcl/files/?source=navbar

По различным причинам ссылки устаревают и не все из нижеприведённых будут работать. По возможности, файлы с компонентами и их описания нужно выкладывать на этом форуме.

&idСсылки на компоненты

Lookup Edit Box, includeJS, Google Pagerank, Delphi for PHP extra database
http://www.vcl4php.de/download/opensource-freeware/index.php

Delphi for PHP extra database components (в составе DbListBox и DbComboBox)
http://sourceforge.net/projects/vcl4php-db/

Easygrid
http://405hp.net/d4php/easygrid.php
user posted image

Platinumgrid
http://www.platinumgrid.com/index.php
user posted image

Компоненты от JomiTech
http://www.jomitech.com/index.php
есть бесплатные

Статья-пример создания компонента csschart в Delphi для PHP 2.0 (с исходным кодом компонента)
1-я версия компонента http://blogs.embarcadero.com/joseleon/2008/04/24/creating-components-using-delphi-for-php/
2-я версия компонента (добавлено свойство datasource) http://blogs.embarcadero.com/joseleon/2008/04/28/creating-components-using-delphi-for-php-ii/
user posted image

Три компонента на SourceForge (VCL for PHP Open Components)
openchart
opengrid
openlogin (видео пример здесь)
http://vcl4phpoc.svn.sourceforge.net/viewvc/vcl4phpoc/trunk/
(для подключения редактора свойства Columns у компонента OpenGrid читаем ветку установить easyGrid, OpenGrid и качаем оттуда файл)

Компоненты с форума forums.delphi-php.net
Google Maps Ex.,
Lookup Edit Box Component,
Google PageRank Component
http://forums.delphi-php.net/downloads.php?do=cat=1

Автор: vicis 28.08.09, 12:28
В поставке DelphiForPhp есть компоненты, которые по умолчанию не подключены к IDE
они находятся в различных поддиректориях директория vcl (он находится там куда установили IDE)
Эти компоненты можно подключить
Пример подключения компонента GoogleMap смотри здесь
http://www.delphi-php.net/getting-google-maps-example-to-work/

Автор: vicis 28.08.09, 12:40
Родные компоненты VCL являются opensource
В них исправляются баги и вносятся изменения
При этом изменения уже могут быть, а в инсталляционном пакете лежит старая версия
Можно обновить себе версию VCL до последней из репозитария на SourceForge

Список багов в vcl и их исправления на SourceForge http://sourceforge.net/tracker/?group_id=189419&atid=929250

Последняя версия vcl с исправлениями http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/

Закачать (и проверять наличие новых изменений) удобнее программой TortoiseSVN

После того как новые vcl получены нужно
старую папку vcl переименовать (на всякий случай)
а новую версию положить в папку vcl
удалить все компоненты из IDE
и подключить по новой
пакеты подключения находятся в основном здесь
\Program Files\CodeGear\Delphi for PHP\1.0\vcl\packages
но некоторые пакеты есть в других папках

Автор: ViktorXP 29.08.09, 11:34
Статья про то как написать библиотеку с помощью "Delphi for Win32" и использовать ее в @Delphi for PHP@
http://edn.embarcadero.com/article/39531

Автор: vicis 29.08.09, 13:59
Статья с примером о том как написать на Delphi свой редактор свойства своего компонента для DelphiForPhp
на примере компонента OpenChart
http://blogs.embarcadero.com/joseleon/2008/11/13/vcl-for-php-charting-components-property-editor/

а также серия других статей о планировании и создании компонента OpenChart
http://blogs.embarcadero.com/joseleon/2008/11/

Создание редактора свойств компонента на DelphiForPhp
http://www.qadram.com/vcl4php/docwiki/index.php/Component_Writer's_Guide_::_Property_Editors


Ещё серия статей о создании компонента ZCache
http://blogs.embarcadero.com/joseleon/2008/06/
на базе библиотеки http://framework.zend.com/manual/en/zend.cache.html

Автор: vicis 03.09.09, 11:11
Несколько неплохих компонент Ext (на базе ExtJS) (авторастяжка панелей, симпатичный грид и вывод сообщений и т.п.)
ExtMessageBox,ExtLayout,ExtPanel,ExtGrid
http://www.qadram.com/vcl4php/index.php?ac=2110
про которые есть хороший видеопример
http://www.qadram.com/vcl4php/movies/extjs/extjs_integration.html

про ExtJS ожно прочитать здесь
http://www.interface.ru/home.asp?artId=22109
user posted image

и на сайте ExtJS

user posted image

Сайт с компонентом что то недоступен, по этому выкладываю компонент сюда

ext.rar (, : 1728)
ext.r00 (, : 1832)

Автор: vicis 05.10.09, 19:38
Компоненты Userlogin, rawinclude, rawoutput
лежат здесь ...Program Files\CodeGear\Delphi for PHP\2.0\vcl\samples\ECommerceExample\jbsamplecomponents

в инете они здесь
http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/website/samples/ECommerceExample/jbsamplecomponents/

Автор: vicis 31.10.09, 16:11
Компонент qxCombo
для создания выпадающего списка с несколькими колонками
качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/vcl4php/4297-new-component-qxcombo.html
подробнее в прилагаемом примере
user posted image

Автор: vicis 31.10.09, 16:33
модуль для альтернативной работы с ajax в DelphiForPhp
говорят работает ещё быстрее
http://forums.delphi-php.net/downloads.php?do=file&id=3

вот ещё про ускорение ajax
и модули (может это тоже самое - разбираемся...)
http://forums.delphi-php.net/javascript-ajax/1721-basic-ajax-d4php.html

Автор: vicis 31.10.09, 16:57
ещё 2 сторонних компонента

ContentWindow - типа компнента Window из стандартной поставки, но позволяет указать адрес страницы, которая будет отображаться в окне с прокруткой
TextClock - текстовые часы
качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/javascript-ajax/3553-frames-java.html

Автор: vicis 31.10.09, 17:17
Ещё один сторонний компонент AjaxScripter
Позволяет выполнять функции через ajax
Пример:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
       function Button1JSClick($sender, $params)
       {
          echo $this->Button1->ajaxCall('Button1Click');
          ?>
          //Add your javascript code here
          return false;
          <?php
       }
     
       function Button1Click($sender, $params)
       {
          //$this->AjaxScripter1->Msg = 'Message after Ajax call';
     
          //or
     
          //$script = 'window.open("http://forums.delphi-php.net","","height=300,width=400");';
          //$this->AjaxScripter1->Script = $script;
       }

качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/javascript-ajax/1118-run-jsfunction-ajax.html
иои прикреплённый к этому посту архив

Добавлено
Модификация компонента Pager
качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/vcl4php/3325-solved-strange-behavior-pager-component.html
ajaxscripter.zip (, : 1067)

Автор: vicis 31.10.09, 17:51
компонент GSLookupEdit

что то вроде лукапов в Delphi
качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/javascript-ajax/1266-ajax-autocomplete-component-editable-combo-box.html

Автор: vicis 25.06.10, 15:53
собственоо это не компонент, а несколько функций
здесь http://blog.onenerd.net/?p=89
товарищ пишет, что
Цитата
Я обнаружил, что я часто требуется доступ к VCL компонентов в JavaScript...

...

Я создал простую библиотеку JavaScript, вы можете включить в вашу главную страницу. Она работает так: каждый раз, когда вы хотите достигнуть компонент, который является одним из компонентов VCL, можно использовать следующий синтаксис:

/ / Пример использования (это все делать то же самое)
alert (control(’Edit1′).value);
alert (vcl(’Edit1′).value);
alert (vc(’Edit1′).value);
alert (delphi(’Edit1′).value);
alert (php(’Edit1′).value);
alert ($(’Edit1′).value);



библиотека в файле VCL2JS.JS

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    // ========================================================
    // *** VCL2JS.JS *****
    // BY ONENERD - Last Updated April, 2007
    // http://blog.onenerd.net/
    //
    // USE AND MODIFY AS MUCH AS YOU WANT -
    //
    //
    // USAGE
    //
    // For each VCL component, you can access it my its name
    // in javascript like this (any of these will work):
    // $('name')
    // vc('name')
    // vcl('name')
    // php('name')
    // delphi('name')
    // control('name')
    // component('name')
    //
    // ========================================================
     
    // *******************
    //
     
    function $(e) { return document.getElementById(e); }
    function vc(e) { return $(e); }
    function vcl(e) { return $(e); }
    function php(e) { return $(e); }
    function delphi(e) { return $(e); }
    function control(e) { return $(e); }
    function component(e) { return $(e); }
     
    //
    // *******************


ну очень крутая библиотека :rolleyes:

Добавлено
описание создания компонента PollControl
http://www.stevetrefethen.com/blog/page/Component2bDevelopment2bin2bDelphi2bfor2bPHP.aspx

user posted image

Автор: vicis 07.07.10, 18:14
компонент CSSChart-2 (ссылка на статью по его созданию есть выше, а исходник здесь)
не корректно отображает большие цифры
график улетает в даль :angry:

переделал его немного:
- теперь максимальное значение не больше ширины компонента на форме
- добавлено свойство отключения url по клику на элементах графика(всё равно никуда не ведёт, нужно бы и к нему свойство прикручивать)
- добавлено свойство для отступа от конца шкалы, т.к. при 100% н отображается значение


<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <?php
    use_unit("controls.inc.php");
     
    /**
    * A basic class to dump chart information using CSS and lists
    */
    class CSSChart extends Control
    {
       function __construct($aowner = null)
       {
          parent::__construct($aowner);
     
          //Set the initial properties on the constructor
          $this->Width = 330;
          $this->Height = 145;
          $this->_data = array();
       }
     
     
       function loaded()
       {
          parent::loaded();
          $this->setDataSource($this->_datasource);
       }
     
       protected $_datasource = null;
     
       function getDatasource() { return $this->_datasource; }
       function setDatasource($value) { $this->_datasource = $this->fixupProperty($value); }
       function defaultDatasource() { return null; }
     
       protected $_labelscolumn = "";
     
       function getLabelsColumn() { return $this->_labelscolumn; }
       function setLabelsColumn($value) { $this->_labelscolumn = $value; }
       function defaultLabelsColumn() { return ""; }
     
       protected $_valuescolumn = "";
     
       function getValuesColumn() { return $this->_valuescolumn; }
       function setValuesColumn($value) { $this->_valuescolumn = $value; }
       function defaultValuesColumn() { return ""; }
     
       protected $_usehtmllink = "false";
     
       function getUseHtmlLink() { return $this->_usehtmllink; }
       function setUseHtmlLink($value) { $this->_usehtmllink = $value; }
       function defaultUseHtmlLink() { return "false"; }
     
       protected $_valueprocrezerv = 30;
     
       function getValueProcRezerv() { return $this->_valueprocrezerv; }
       function setValueProcRezerv($value) { $this->_valueprocrezerv = $value; }
       function defaultValueProcRezerv() { return 30; }
     
     
       function dumpHeaderCode()
       {
          parent::dumpHeaderCode();
     
          //If we have not dump the style sheet for charts yet, let's do it
          if(!defined('CSSCHARTS'))
          {
             define('CSSCHARTS', 1);
             //Note the VCL_HTTP_PATH constant
             echo '<link type="text/css" rel="StyleSheet" href="' . VCL_HTTP_PATH . '/csschart/csscharts.css" />';
          }
       }
     
       function dumpContents()
       {
          //Get the data to use
          $data = $this->_data;
     
          //If datasource is correctly assigned, we will use that data instead the Data property
          //On design time, we don't have access to datasource objects, so nothing to do
          if(($this->ControlState & csDesigning) != csDesigning)
          {
             //First, check if there is some value on the column properties
             if(($this->_labelscolumn != '') && ($this->_valuescolumn != ''))
             {
                //If there is a valid dataset attached
                if(($this->_datasource != null) && ($this->_datasource->Dataset != null))
                {
                   $ds = $this->_datasource->Dataset;
                   //If dataset is active
                   if($ds->Active)
                   {
                      $data=array();
     
                      //Iterate
                      $ds->first();
                      while(!$ds->EOF)
                      {
                         //Add the item to the array
                         $data[$ds->fieldget($this->_labelscolumn)]=$ds->fieldget($this->_valuescolumn);
                         $ds->next();
                      }
                   }
                }
             }
          }
     
          //If there is no information to show
          if(count($data) == 0)
          {
             //And we are in design-time
             if(($this->ControlState & csDesigning) == csDesigning)
             {
                //Let's use some sample data
                $data = array();
                $data['PHP'] = 800;
                $data['Delphi'] = 700;
                $data['Java'] = 500;
                $data['C#'] = 400;
             }
          }
     
          echo '<ul class="chartlist">';
     
    // start dop
         // находим максимальное число
          reset($data);
         $max_val=0;
          while(list($key, $val) = each($data))
          {
             if ($max_val<$val)
                $max_val=$val;
          }
     
    // end dop
     
          //Iterates through the data and dump each <li> tag
          reset($data);
          while(list($key, $val) = each($data))
          {
             echo '<li>';
             if ($this->_usehtmllink=='true')
               {
               echo '<A HREF="">';
               }
               echo '<a>';
             echo $key;
               echo '</a>';
             if ($this->_usehtmllink=='true')
               {
               echo '</a>';
               }
             echo '<span class="count">' . $val . '</span>';
            // echo '<span class="index" style="width: ' . ($val / 10) . '%">(' . ($val / 10) . '%)</span>';
             echo '<span class="index" style="width: ' . ($val*100/$max_val-$this->_valueprocrezerv ) . '%">(' . ($val*100/$max_val-$this->_valueprocrezerv) . '%)</span>';
             echo '</li>';
          }
     
          echo '</ul>';
       }
     
       protected $_data = array();
     
       /**
       * Specifies the data to be use to dump the chart
       * @return array()
       */
       function getData() { return $this->_data; }
       function setData($value) { $this->_data = $value; }
       function defaultData() { return array(); }
     
    }
    ?>

Автор: vicis 03.08.10, 08:20
компонент dbgridreport для печати из dbgrid
должен и из ListView тоже работать

а как насчет вывода результатов на печать? (сообщение #2601187)
dbgridrepor_component_v1_1.rar (, : 1121)

Автор: vicis 20.10.10, 16:59
После установки новой ревизии компонент (286)
Delphi for PHP (RAD PHP XE): Новости (сообщение #2727859)
не отображаются на форме компоненты qooxdoo
проблема решается раскомментированием 53-й строки в модуле
rpcl > qooxdoo > controls.inc.php
http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/rpcl/rpcl/qooxdoo/controls.inc.php?r1=286&r2=285&pathrev=286
и перезапуском IDE (компонентам нужно изменить размер и покажутся, или по новой поставить)

Автор: vicis 23.11.10, 15:51
Компонент TeeChart - построение графиков различного типа (как в Delphi :) )
видео здесь http://www.joseleon.es/2010/11/22/radphp-xe-components-6-teechartphp/
качать отсюда http://www.steema.com/download/php
user posted imageuser posted imageuser posted imageuser posted image
user posted imageuser posted imageuser posted imageuser posted image

Автор: vicis 10.12.10, 14:33
вариант компонента Pager с возможностью переключения ссылок на кнопки ajax
(я так понял)
http://forums.delphi-php.net/vcl4php/3395-how-can-i-use-pager-control-ajax-way.html#post11975
последняя версия компонента в конце обсуждения

p.s. Така как ссылка теперь недоступна, компонент выкладываю здесь
pager.inc.rar (, : 1036)

Автор: vicis 09.04.11, 16:47
Компоненты для доступа к NexusDB
триальные
http://www.nexusdb.com/support/index.php?q=node/27042

Автор: vicis 05.12.11, 11:38
Компонент DBGridHTML
для отображения таблицы с помощью простого html
- поддержка DataSource
- раскраска полей от значению и правилам
- указание гиперссылки для ячейки с помощью шаблонов подстановки
- поддержка StyleSheet
- поддержка события onbeforeshow, где можно перехватить данные и передать в процедуру отрисовки нужные значения
- свойство TableFormat - вид отображаемых данных
имеет следующие предустановленные значения:
tfTable - отображени данных в виде обычной таблицы (заголовки в первой строке, а данные в последующих)
tfList - отображени данных в виде списка с помощью таблицы в две колонки (заголовки в первой колонке, а данные во второй)
- возможность отображать названия полей или нет
и др.

dbgrid_html.zip (, : 1199)
screendbgridhtml.jpg (, : 1926)

Автор: Exploit 17.01.12, 11:44
Цитата vicis @
Ещё один сторонний компонент AjaxScripter
Позволяет выполнять функции через ajax
Пример:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
       function Button1JSClick($sender, $params)
       {
          echo $this->Button1->ajaxCall('Button1Click');
          ?>
          //Add your javascript code here
          return false;
          <?php
       }
     
       function Button1Click($sender, $params)
       {
          //$this->AjaxScripter1->Msg = 'Message after Ajax call';
     
          //or
     
          //$script = 'window.open("http://forums.delphi-php.net","","height=300,width=400");';
          //$this->AjaxScripter1->Script = $script;
       }

качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/javascript-ajax/1118-run-jsfunction-ajax.html

Добавлено
Модификация компонента Pager
качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/vcl4php/3325-solved-strange-behavior-pager-component.html

Форум http://forums.delphi-php.net не работает, где можно найти данный компонент AjaxScripter?

Автор: vicis 17.01.12, 14:39
Цитата Exploit @
Форум http://forums.delphi-php.net не работает, где можно найти данный компонент AjaxScripter?

ajaxscripter.zip (, : 1121)

Автор: Exploit 10.09.12, 06:14
Выложил, пользуйся)
ajaxscripter.zip (, : 1006)

Автор: Alex2011 26.01.13, 11:13
Мой компонент сетки для HTML5_builder на основе jqGrid. Посмотреть можно здесь www.youtube.com/watch?v=QPhH7nhdfHI и здесь www.youtube.com/watch?v=B0yfCq5plyg. Практически полностью переработанный OpenGrid.

Автор: vicis 27.01.13, 10:20
jqGrid на сегодня ещё более новороченный
http://trirand.com/blog/jqgrid/jqgrid.html

Автор: vicis 12.02.13, 09:47
JQgrid for H5B http://cc.embarcadero.com/item/29265

Добавлено
ресурсы для скачивания по HTML5 Builder
http://cc.embarcadero.com/products.aspx?ProdID=15

Автор: Alex2011 02.01.16, 16:52
Выложил в свободный доступ несколько компонентов для HTML5 Builder (сетка, несколько красивых чекбоксов, невизуальный компонент таймера с возможностью ограничения количества срабатываний и адаптированный слайд-шоу из d4php).
Сетка user posted image
Чекбоксы user posted image

Сообщения были разделены в тему "Правило для RewriteRule"

Автор: Mihail39 21.03.17, 17:15
Добрый день!

Вопрос от начинающего пользователя HTML5 Builder:

у меня есть сайт с адаптивной версткой. Возникла необходимость сделать на его базе гибридное мобильное приложение.

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

Был бы благодарен за подсказку.

Автор: ViktorXP 26.03.17, 14:13
http://docwiki.embarcadero.com/HTML5_Builder/en/MIFrame

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)