Foros del Web » Programando para Internet » PHP »

Desafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?)

Estas en el tema de Desafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?) en el foro de PHP en Foros del Web. Hola gente del foro me llamo Sergio y quiero compartir el siguiente desafio: Por razones de fuerza mayor ($) no puedo utilizar el IDE DELPHI4PHP ...
  #1 (permalink)  
Antiguo 08/12/2011, 21:11
 
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Desafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?)

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.
Código PHP:
<?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(); 
?>
  #2 (permalink)  
Antiguo 08/12/2011, 22:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Desafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?)

¿Es una duda o desafio? Porque lo que expones es que casi casi hagan tu trabajo...
  #3 (permalink)  
Antiguo 09/12/2011, 00:42
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Desafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?)

serggio_dominguez te desafío a que estudies PHP y nos digas que no te gusta. :D
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 09/12/2011, 08:16
 
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Desafio: vcl4php sin delphi4php (¿Podrá ser NetBeans?)

No en realidad, no; ya avance bastante en el trabajo, me hice un machete con todos los componentes xml y los voy instanciando de acuerdo a cuando los necesito, en algunos casos utilizo un solo archivo de recursos para varias páginas. Los componentes que hacen referencia a bases de datos se pueden instanciar sin problemas dentro de un metodo de clase, lo problematico son los componentes visuales, donde los metodos dumb realizan una salida directa del html al navegador, esto es solucionable directamente creando un metodo getdumb para retornar el código html, También estuve investigando y traduciendo partes de las clases que integran la vcl, donde me tope que la sorpresa de contar con variables globales que no se nombran en la documentanción oficial. Lo que pretendo aquí, es crear un lugar para que podamos agregar más información sobre el funcionamiento de este framework, porque lo que circula por Internet esta muy ligada al IDE y no al framework en si; ademas no podemos contar la con información de Embarcadero porque ya conocemos su firme postura sobre el software Libre. Mi idea es crear un lugar donde no solamente yo, sino todos los que necesiten trabajar con este conjunto de clases puedan contar con informacion mas detallada. Recuerden que el control de la información determina es el ejercicio de un tipo de violencia simbolica, necesitamos un mundo libre con libre acceso a la información.

Etiquetas: formulario, sql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:56.