
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.82] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#1
,
|
|
Внимание!
Компоненты в 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 ![]() Platinumgrid http://www.platinumgrid.com/index.php ![]() Компоненты от 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/ ![]() Три компонента на 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 |
![]() |
Сообщ.
#2
,
|
|
В поставке DelphiForPhp есть компоненты, которые по умолчанию не подключены к IDE
они находятся в различных поддиректориях директория vcl (он находится там куда установили IDE) Эти компоненты можно подключить Пример подключения компонента GoogleMap смотри здесь http://www.delphi-php.net/getting-google-maps-example-to-work/ |
![]() |
Сообщ.
#3
,
|
|
Родные компоненты 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 но некоторые пакеты есть в других папках |
![]() |
Сообщ.
#4
,
|
|
Статья про то как написать библиотеку с помощью "Delphi for Win32" и использовать ее в @Delphi for PHP@
http://edn.embarcadero.com/article/39531 |
![]() |
Сообщ.
#5
,
|
|
Статья с примером о том как написать на 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 |
![]() |
Сообщ.
#6
,
|
|
Несколько неплохих компонент 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 ![]() и на сайте ExtJS ![]() Сайт с компонентом что то недоступен, по этому выкладываю компонент сюда Прикреплённый файл ![]() Прикреплённый файл ![]() |
![]() |
Сообщ.
#7
,
|
|
Компоненты 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/ |
![]() |
Сообщ.
#8
,
|
|
Компонент qxCombo
для создания выпадающего списка с несколькими колонками качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/vcl4php/4297-new-component-qxcombo.html подробнее в прилагаемом примере ![]() |
![]() |
Сообщ.
#9
,
|
|
модуль для альтернативной работы с 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 |
![]() |
Сообщ.
#10
,
|
|
ещё 2 сторонних компонента
ContentWindow - типа компнента Window из стандартной поставки, но позволяет указать адрес страницы, которая будет отображаться в окне с прокруткой TextClock - текстовые часы качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/javascript-ajax/3553-frames-java.html |
![]() |
Сообщ.
#11
,
|
|
Ещё один сторонний компонент AjaxScripter
Позволяет выполнять функции через ajax Пример: ![]() ![]() 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 Прикреплённый файл ![]() |
![]() |
Сообщ.
#12
,
|
|
компонент GSLookupEdit
что то вроде лукапов в Delphi качать отсюда (нужно регистрироваться на форуме) http://forums.delphi-php.net/javascript-ajax/1266-ajax-autocomplete-component-editable-combo-box.html |
![]() |
Сообщ.
#13
,
|
|
собственоо это не компонент, а несколько функций
здесь 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 ![]() ![]() // ======================================================== // *** 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); } // // ******************* ну очень крутая библиотека ![]() Добавлено описание создания компонента PollControl http://www.stevetrefethen.com/blog/page/Component2bDevelopment2bin2bDelphi2bfor2bPHP.aspx |
![]() |
Сообщ.
#14
,
|
|
компонент CSSChart-2 (ссылка на статью по его созданию есть выше, а исходник здесь)
не корректно отображает большие цифры график улетает в даль ![]() переделал его немного: - теперь максимальное значение не больше ширины компонента на форме - добавлено свойство отключения url по клику на элементах графика(всё равно никуда не ведёт, нужно бы и к нему свойство прикручивать) - добавлено свойство для отступа от конца шкалы, т.к. при 100% н отображается значение ![]() ![]() <?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(); } } ?> |
![]() |
Сообщ.
#15
,
|
|
компонент dbgridreport для печати из dbgrid
должен и из ListView тоже работать а как насчет вывода результатов на печать? (сообщение #2601187) Прикреплённый файл ![]() |