PDA

Ver la Versión Completa : Ddesafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?)


serggio_dom
09-12-2011, 03:57:31
Hola gente del foro me llamo Sergio y quiero compartir el siguiente desafio:
Por razones de fuerza mayor ($) no puedo utilizar el IDE DELPHI4PHP para programar una página web.
Sin embargo la característica del "código abierto " del Frameworks VCL4PHP me perite poder trabajar con
las vcl utilizando otro IDE por ejemplo NetBeans que también es de código abierto y me reconece
las clases además de ayudar con el completado del código.
Desafío 1: ¿Se puede programar con vcl4php si utilizar archivos de recursos ...xml.php?.
Desafio 2: ¿Cómo puedo pasar los parámetros ($sender,$params) a un método definido en una clase particular?.
Desafio 3: ¿Como se pueden definir los componentes que se van a utilizar dentro de una clase particular?.
El siguiente ejemplo me muestra un formulario con template pero no supera los desafiíos anteriores.
¿Quien se anima a contribuir?. desde ya muchas gracias a los que participan.

<?php
// Requerir la clase principal.
require_once("vcl/vcl.inc.php");

//Especificar las unidades que se van a utilizar.
use_unit("google/maps/gmaps.inc.php");
//use_unit("Zend/zmail.inc.php");
//use_unit("Zend/zcache.inc.php");
//use_unit("Zend/zauthdigest.inc.php");
//use_unit("Zend/zauthdb.inc.php");
//use_unit("Zend/zauth.inc.php");
//use_unit("Zend/zacl.inc.php");
//use_unit("PEAR/peardatagrid.inc.php");
use_unit("jquery/jquery.inc.php");
use_unit("oracle.inc.php");
use_unit("mysql.inc.php");
use_unit("clock.inc.php");
use_unit("webservices.inc.php");
use_unit("interbase.inc.php");
use_unit("dbctrls.inc.php");
use_unit("dbgrids.inc.php");
use_unit("db.inc.php");
use_unit("dbtables.inc.php");
use_unit("styles.inc.php");
use_unit("auth.inc.php");
use_unit("imglist.inc.php");
use_unit("pager.inc.php");
use_unit("comctrls.inc.php");
use_unit("chart.inc.php");
use_unit("checklst.inc.php");
use_unit("buttons.inc.php");
use_unit("jsval/formvalidator.inc.php");
use_unit("actnlist.inc.php");
use_unit("menus.inc.php");
use_unit("forms.inc.php");
use_unit("extctrls.inc.php");
use_unit("stdctrls.inc.php");


// Crear la clase de la página web.
class pagina_web extends Page
{

public $columna_izquierda;
//public $columna_derecha;
//public $contenido_central;

function create($sender, $params)
{
//$this->columna_izquierda = new Panel();
//$this->columna_izquierda->setCaption('Hola mundo.');
}

function template($sender, $params)
{
//$template = $params['template'];
$meta_title = 'Hola mundo';
$meta_keyword = file_get_contents('meta/keyword.txt');
$meta_description = file_get_contents('meta/description.txt');

//$template->_smarty->assign('meta_title',$meta_title);
//$template->_smarty->assign('meta_keyword',$meta_keyword);
//$template->_smarty->assign('meta_description',$meta_description);
}

}

// Especificar variables globales.
global $application;
global $pagina_web;

// Instaciar la página web.
$pagina_web = new pagina_web($application);

// Especiaficar las propiedades de la página web.
$pagina_web->setAction('index.php'); // string
$pagina_web->setAlignment('center'); // agLeft - agCenter - agRight
$pagina_web->setBackground(''); // Img file name
$pagina_web->setBorderWidth('0'); // Int witdh boirder
$pagina_web->setBottomMargin('0'); // Int witdh bottom margin
$pagina_web->setCache(''); // Path to cache
$pagina_web->setCached(false); // true - false
$pagina_web->setCaption('HEXAST'); // String page title.
$pagina_web->setColor(''); // String color #FFFFFF
$pagina_web->setCursor('crDefault'); // crPointer - CrossHair - crText - crWait - crDefault - crHelp - crE-Resize - crNE-Resize - crN-Resize - crNW-Resize - crW-Resize - crSW-Resize - crS-Resize - crSE-Resize - crAuto
$pagina_web->setDirectionality('ddLeftToRight'); // ddLeftToRight - ddRightToLeft
//$pagina_web->setDocType('iso-8859-1'); //Espcifica el tipo de documento según la W3C: Unicode (UTF-8) |utf-8 - Western European (ISO) |iso-8859-1
$pagina_web->setFont(array(
'taNone', //Align: taNone - taLeft - taRight - taCenter - taJustify
'caNone', //Case: caCapitalize - caUpperCase - caLowerCase - caNone
'#000000', //Color: String color - example: #000000
'Tahoma', //Family: String font name - example: Tahoma
'', //LineHeigth:
'11px', //Font size in pixel
'fsNormal', //Text style: fsNormal - fsItalic - fsOblique
'vaNormal', //Font variant: vaNormal - vaSmallCaps
'normal' //Font weight: normal - bold - bolder - lighter - 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900
));

$pagina_web->setFrameBorder('fbNo'); //Frame border: fbDefault - fbNo - fbYes
$pagina_web->setFrameSpacing('0'); //Frame spacing in pixel
$pagina_web->setHeight('3000'); //Especifica el alto de la página en pixeles.
$pagina_web->setHint(''); //Set Hint
$pagina_web->setIcon(''); //Path to icon file
$pagina_web->setIsForm(false); //Espcifica si la pagina es un formulario: true - false
$pagina_web->setIsMaster(false); //Especifica si la página es maestra: true - false
$pagina_web->setLanguage('(default)'); //Especifica el lenguaje de la página: (default) - Spanish (Argentina) -
$pagina_web->setLayer('0'); //Especifica el nivel de la capa.
$pagina_web->setLayout(array(
'5', //Numero de columnas.
'5', //Número de filas.
'ABS_XY_LAYOUT',//Tipo de Layout: ABS_XY_LAYOUT - REL_XY_LAYOUT - XY_LAYOUT - FLOW_LAYOUT - GRIDBAG_LAYOUT - ROW_LAYOUT - COL_LAYOUT
true // Usar íxel transparente: true - false
));
$pagina_web->setLeft('0'); //Distancia desde la izquierda en pixeles.
$pagina_web->setLeftMargin('0'); //Ancho del margen izquierdo en pixeles.
$pagina_web->setName('pagina_web'); //Nombnre del objeto.
$pagina_web->setRightMargin('0'); //Ancho del margen derecho en pixeles.
$pagina_web->setShowFooter(true); //Viusarlizar el footer: true - false
$pagina_web->setShowHeader(true); //Visualizar el header: true - false
$pagina_web->setShowHint(''); //Visualiza el Hint.
$pagina_web->setTag('0'); //Especificar el tag.
$pagina_web->setTarget(''); //Especificar el marco donde hará blanco la acción de la página.
$pagina_web->setTemplateEngine('SmartyTemplate'); //Especifica el motor de administrara el template de la página: '' - SmartyTemplate - VCLTemplate
$pagina_web->setTemplateFilename('template.tpl'); //Especifica el nombre del archivo que se utilizara como template.
$pagina_web->setTop('0'); //Especifica la posición supewrior en pixeles.
$pagina_web->setTopMargin('0'); //Especifica el ancho en pixeles del margen superior.
$pagina_web->setUseAjax(true); //Especifica si página va a usar AJAX: true - false
$pagina_web->setUseAjaxDebug(false); //Especifica si se va a hacer debug con los query AJAX
$pagina_web->setUseAjaxUri(''); //Especifica la URL donde se enviaran los query AJAX.
$pagina_web->setVisible(true); //Especifica si la página web será visible.
$pagina_web->setWidth('1300'); //Especifica el ancho de la página.

// Especificamos los métodos de la página web.
// PHP Event
$pagina_web->setOnAfterAjaxProcess(''); //Object: Especificar el metodo.
$pagina_web->setOnAfterShow(''); //Object: Especificar el metodo.
$pagina_web->setOnAfterShowFooter(''); //Object: Especificar el metodo.
$pagina_web->setOnBeforeAjaxProcess(''); //Object: Especificar el metodo.
$pagina_web->setOnBeforeShow(''); //Object: Especificar el metodo.
$pagina_web->setOnBeforeShowHeader(''); //Object: Especificar el metodo.
//$pagina_web->setOnCreate($sender, $params); //Object: Especificar el metodo.
$pagina_web->setOnShow(''); //Object: Especificar el metodo.
$pagina_web->setOnShowHeader(''); //Object: Especificar el metodo.
$pagina_web->setOnStartBody(''); //Object: Especificar el metodo.
//$pagina_web->setOnTemplate($sender, $params); //Object: Especificar el metodo.
// JS Event
$pagina_web->setjsOnLoad(''); //Object: Especificar el metodo.
$pagina_web->setjsOnReset(''); //Object: Especificar el metodo.
$pagina_web->setjsOnSubmit(''); //Object: Especificar el metodo.
$pagina_web->setjsOnUnload(''); //Object: Especificar el metodo.

// Mostrar la página web.
$pagina_web->show();
?>

Casimiro Notevi
09-12-2011, 09:54:57
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración.