Amigos
Acabo de leer en el foro en Ingles que se esta desarrollando una serie de modulos para hacer aplicaciones
de gestion web usando FWH , lo que me parece genial por eso es que me doy un tiempo para
aportar algunas ideas que puedan sumarse a esa linea de investigacion .
Para comenzar analizemos que es una aplicacion web y que herramienta se usan en ella.
Hay 2 lados en una aplicacion web :
Lado del cliente
-----------------
Osea nuestra PC donde corre el navegador el que sea ( IEXPLORE FIREFOX )
Aqui nos enteramos de una REALIDAD concreta no existe pantalla que programar , nuestra pantalla
es el documento HTML y todas las salidas de lo que deseamos mostrar deben ser tabuladas y alineadas
en tablas.Olvidense de GUI NO EXISTEN , por tanto debemos de aprender HTMl que es la base donde se
incrusta todo , JAVA SCRIPT que le da la posibilidad de manejar eventos y dinamismo , Hojas de
estilo desde luego para darle mas presencia y bueno FLASH para darle presencia.
**************************
*AQUI viene la primera idea que FWH pueda tener un diseñador visual que permita generar codigo
**************************
html osea algo parecido a lo que hace el DELPHI para PHP.Ese disenador visual ya lo tenemos
en le VISUAL FIVEWIN ese puede generar codigo FIVEWIN y tambien podria generar codigo html para la
web.
Que ese IDE pueda tener un object Inepector para asociar los eventos basicos del java script
EL ON LOAD FORM el ON CLICK
Lado del Servidor
------------------
EL hosting la PC SERVER que esta antendiendo los requerimientos http de los navegadores entre los
que destacan el APACHE y le IIS de Microsoft.Los servidores web trabajan conjuntamente con los
interpretes que nos permiten ejecutar lenguajes para el manejo de la base de datos y muchas cosas
mas como el PHP , ASP.net y creo que aqui xharbour tiene un XBSCRIPT que es un interperte de xbase
para procesar bases de datos.
Creo que todos los esfuerzos de la comunidad xbase se centran en evitar que aprendamos otro lenguaje
y usemos el xbase en la web y hacen interpretes para que lo usemos.
Bueno la verdad que yo no lo veo necesario, uso PHP y sin mentirles es tan sencillo que lo aprendi
en 1 fin de semana de manera que creo que nuestros esfuerzos mas deben centrarse a TECNOLOGIA CRUZADA
FWH/PHP
****************************************
* Aqui es donde va la segunda idea
***************************************
TECNOLOGIA CRUZADA lo que hago para FWH escritorio que me sirva para la web
Asi es amigos miren yo efectue unas 10 consultas en FIVEWIN y luego tuve que hacerlas para la web
como hacer el design para que sirva para ambas.
SOLUCION ; FORZAR a que FWH pueda parsear funciones XHARBOUR dentro de etiquetas PHP dentro del HTML
<td style="vertical-align: top; width: 458px;">
<?php echo mifuncionxharbour() ?>
<br>
</td><td style="vertical-align: top;"><br>
Aqui en este ejemplo mifuncionxharbour("paso param") seria una funcion
que seria extraida macrosustituida y el resultado se remplazaria en el mismo codigo
html que finalmente mandariamos a pantalla atraves del active x del IEXPLORE
desde mi ejecutable FW
Pero que hemos logrado con esto pues simple , este codigo sirve tambien para la web
simplemente creamos una funcion en php que se llame mifuncionxharbour() y ese html
lo podemos usar en la web.
La funcion para parsear es tan sencilla aqui esta.
//<?php echo expresion ?>
//12345678901234567890123
Func parsearhtm( htmlentrada )
Local n1,n2,nwText:="",detiq,pdzo
Local cText:=MEMOREAD( htmlentrada )
//MSGALERT(cText,"CTEXT")
while (n1:=at("<?php",cText))>0
n2:=at("?>",cText)
detiq=subs(cText,n1+10,(n2-1)-(n1+10)+1 )
// MSGALERT(detiq,"detiq")
If vcerror(detiq)
pdzo:=&detiq
else
pdzo=""
endif
nwText+=alltrim(subs(cText,1,n1-1))+pdzo
//MSGALERT(nwText,"nwText")
cText:=subs(cText,n2+2 )
enddo
retu( nwText )
Osea tienen un html con las etiquetas <?php que es C:\FAC2010\FMTOS\LC"+VFUEN()+".HTM"
MEMOWRIT("C:\FAC2010\temp\listado.htm", parsearhtm("C:\FAC2010\FMTOS\LC"+VFUEN()+".HTM") )
y luego generan un html llamado C:\FAC2010\temp\listado.htm que es el resultado que ven con el
active x o con el IEXPLORE.exe
****************************************
* Tercera IDEA
***************************************
QUe nuestro reporteador genere codigo html que me permita ejecutar la consulta en la web.
Lo explico mejor no se trata de que el reporteador genere un html del reporte si no un
html con archivo php que generara el reporte en el hosting.
Bueno esta lo vengo recien haciendo pero generaria algo asi
$conexion=mysql_connect("190.41.42.176","root") or die("Problemas en la conexion");
mysql_select_db("aduana",$conexion) or die("Problemas en la selección de la base de datos");
$registros=mysql_query("select FCH_PRELIQ,NUME_ORDEN,COD_CLIEN,NOMB_IMPOR,CONT1,FECH_TERMI,VAL_ADUANA,CODI_REGI,FCHNUMER,N_DECLAR,NAVE,CODI_ADUAN,ANO_ORDEN from dga20041 where cod_clien='".$codigo."' ORDER BY FCH_PRELIQ DESC ",$conexion ) or die("Problemas en el select:".mysql_error());
echo "<table width=\"1274\" height=\"100\" background=\"file///:fondo2.png\" border=\"0\">";
echo "<tr>";
echo "<td width=\"297\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo "Fecha Preliq." ;
echo "</td>";
echo "<td width=\"112\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo "Orden" ;
echo " </td>";
echo "<td width=\"55\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Mercancia";
echo " </td>";
echo "<td width=\"107\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo "ETA" ;
echo "</td>";
echo "<td width=\"29\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Valor ";
echo "CIF";
echo "</td>";
echo "<td width=\"63\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Nave " ;
echo "</td>";
echo "<td width=\"97\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " DUA" ;
echo "</td>";
echo "<td width=\"137\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Fecha Numeracion " ;
echo "</td>";
echo "<td width=\"199\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Regimen " ;
echo "</td>";
echo "<td width=\"199\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Aduana " ;
echo "</td>";
echo "<td width=\"199\" bgcolor=\"#000099\" class=\"Estilo3\">";
echo " Ano Orden" ;
echo "</td>";
echo "</tr>";
while ($reg=mysql_fetch_array($registros))
{
echo "<tr>";
echo "<td>";
echo $reg['FCH_PRELIQ'];
echo "</td>";
echo "<td>";
echo "<a href=lisinci.php?nume_orden=".$reg['NUME_ORDEN']."&ano_orden=".$reg['ANO_ORDEN']." target=\"_blank\" >".$reg['NUME_ORDEN']."</a>";
echo "</td>";
echo "<td>";
echo $reg['CONT1'];
echo "</td>";
echo "<td>";
echo $reg['FECH_TERMI'];
echo "</td>";
echo "<td>";
echo $reg['VAL_ADUANA'];
echo "</td>";
echo "<td>";
echo $reg['NAVE'];
echo "</td>";
echo "<td>";
echo "<a href=dua.php?nudeclar=".$reg['N_DECLAR']." target=\"_blank\" >".$reg['N_DECLAR']."</a>";
echo "</td>";
echo "<td>";
echo "<a href=liq.php?nudeclar=".$reg['N_DECLAR']." target=\"_blank\" >".$reg['FCHNUMER']."</a>";
echo "</td>";
echo "<td>";
echo $reg['CODI_REGI'];
echo "</td>";
echo "<td>";
echo $reg['CODI_ADUAN'];
echo "</td>";
echo "<td>";
echo $reg['ANO_ORDEN'];
echo "</td>";
echo "</tr>";
}
echo "</table>";
Bueno amigos hasta aqui llego por hoy pero dejenme decirles que hace unos
meses yo me resistia a programar para los navegadores por que fwh con mysql
permiten grabar y leer remotamente datos mejor que un navegador.
Aun creo que eso es real por que aun con AJAX y todo no se logran las prestaciones de
un exe corriendo comparados con codigo interpretado en el navegador. pero el echo es que
los usuarios no quieren bajar e instalar nada, y menos actualizar.
El navegador les da el programa ya listo para usar y actualizado todo el tiempo.
Asi que es nejor poder darle las 2 cosas a los clientes
Programas rapidos a los que desean descargarlos y actualizarlos.
Y programas listo para usar a los demas.
Saludos