FiveWeb de FiveTech (gratis hasta la versión 1.0)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Carlos,
En los servidores que yo he usado, tanto locales como remotos, los CGIs estaban activados por defecto, asi que no sabría indicarte como se activan
En los servidores que yo he usado, tanto locales como remotos, los CGIs estaban activados por defecto, asi que no sabría indicarte como se activan
-
- Posts: 225
- Joined: Tue Feb 28, 2006 4:25 pm
- Location: PERU
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Queridos Amigos hoy dia es mi cumpleanos y se me ha dado por reflexionar un poco.
He estado siguiendo con detenimiento el proyecto fiveweb y me parece fabuloso el tiempo y esfuerzo
que hay detras de este proyecto , me gustaria tambien dar mi humilde opinion con respecto a esto con
el sano proposito de que nos ayudemos a aclarar un poco las cosas.
En primer lugar debemos de entender lo que nos pasa a nosotros , estamos acostumbrados a un modelo de
programacion .
-----TABLAS LIBRES--------
Primero cuando usabamos DBF haciamos bucles para recorrer las bases de datos.
-----CLIENTE SERVIDOR-------
Pasamos a cliente servidor y como eso esta metido en nuestra costumbre , algunos hacen lo mismo
piden un cursor y lo comienzan a recorrer con bucles para discriminar datos cuando lo correcto es que el
SELECT con sus clausulas WHERE HAVING hagan todo el trabajo y traigan la consulta lista.
Lo mismo sucede cuando pasamos a programacion web tenemos que cambiar "El CHIP NUEVAMENTE"
Nosotros programamos para una sola maquina , programamos un programa cliente que ataca un servidor
usamos un solo lenguaje , manejamos un solo juego de variables el de nuestra PC.
------MODELO VISTA CONTROLADOR
(base datos) (navegador) (PHP, ASP.NET RUBY etc podria estar aqui FIVEWEB)
No podemos programar asi para la web , aqui existen 2 maquinas que se programan con 2 lenguajes diferentes.
La del cliente con JavaScript que maneja sus propias variables y que corre en el navegador y la que se comunica con la
maquina del servidor.
Y la maquina del servidor que usa sus propias variables y que tiene su propio lenguaje (PHP ASP.net PYTHON RUBY o el mismo JS o tambien FIVEWEB)
Bueno el punto es que se trata de programar 2 escenarios , el escenario del cliente y del servidor por separado.
Nosotros estamos acostumbrados a programar solo el escenario del cliente.
Abstraernos de usar JAVASCRIPT y querer hacerlo desde una unica lengua del servidor ya lo intento ASP.net pero al final siempre terminas usando el Script Manager.
Y es que es logico no hay nada como hacer un clic derecho en el navegador y poner ver codigo fuente y entender que
esta pasando en la interfaz del navegador.
Mi humilde opinion es que tarde o temprano todos vamos a tener que aprende JAVASCRIPT.
Ahora lo que seria ideal es que esta lengua pueda ser compilada a xharbour lo que seria fabuloso pues muchos scripts
podrian ser escritos una sola vez.
Digo esto por que los programas web no tienen ni tendran los mismo rendimientos que los programas nativos (los ejecutables
autonomos) entonces nos veremos obligados a crear siempre para _ una version web y una version nativa.
Entonces estamos obligados a trabajar doble.
De lado del servidor tendriamos a FIVEWEB que es nuestro querido xharbour o harbour .
Es necesario entonces contar con una lengua del lado del cliente que nos permita aliviar en algo la doble
codificacion.
Entonces la pregunta es que es posible?
Que fivewin/harbour corra en el navegador y lo acepten todos los navegadores del mercado
Que Javascript sea soportado por lo menos en sus estructuras de control en HARBOUR o XHARBOUR
La respuesta es obvia , mediante este foro nosotros tenemos el privilegio de ser leidos por los autores de HARBOUR
XHARBOUR y tenemos acceso a ellos.
Agradesco sus comentarios y aclaraciones.
Vladimir Zorrilla Llerena
vladimirzorrilla@gmail.com
He estado siguiendo con detenimiento el proyecto fiveweb y me parece fabuloso el tiempo y esfuerzo
que hay detras de este proyecto , me gustaria tambien dar mi humilde opinion con respecto a esto con
el sano proposito de que nos ayudemos a aclarar un poco las cosas.
En primer lugar debemos de entender lo que nos pasa a nosotros , estamos acostumbrados a un modelo de
programacion .
-----TABLAS LIBRES--------
Primero cuando usabamos DBF haciamos bucles para recorrer las bases de datos.
-----CLIENTE SERVIDOR-------
Pasamos a cliente servidor y como eso esta metido en nuestra costumbre , algunos hacen lo mismo
piden un cursor y lo comienzan a recorrer con bucles para discriminar datos cuando lo correcto es que el
SELECT con sus clausulas WHERE HAVING hagan todo el trabajo y traigan la consulta lista.
Lo mismo sucede cuando pasamos a programacion web tenemos que cambiar "El CHIP NUEVAMENTE"
Nosotros programamos para una sola maquina , programamos un programa cliente que ataca un servidor
usamos un solo lenguaje , manejamos un solo juego de variables el de nuestra PC.
------MODELO VISTA CONTROLADOR
(base datos) (navegador) (PHP, ASP.NET RUBY etc podria estar aqui FIVEWEB)
No podemos programar asi para la web , aqui existen 2 maquinas que se programan con 2 lenguajes diferentes.
La del cliente con JavaScript que maneja sus propias variables y que corre en el navegador y la que se comunica con la
maquina del servidor.
Y la maquina del servidor que usa sus propias variables y que tiene su propio lenguaje (PHP ASP.net PYTHON RUBY o el mismo JS o tambien FIVEWEB)
Bueno el punto es que se trata de programar 2 escenarios , el escenario del cliente y del servidor por separado.
Nosotros estamos acostumbrados a programar solo el escenario del cliente.
Abstraernos de usar JAVASCRIPT y querer hacerlo desde una unica lengua del servidor ya lo intento ASP.net pero al final siempre terminas usando el Script Manager.
Y es que es logico no hay nada como hacer un clic derecho en el navegador y poner ver codigo fuente y entender que
esta pasando en la interfaz del navegador.
Mi humilde opinion es que tarde o temprano todos vamos a tener que aprende JAVASCRIPT.
Ahora lo que seria ideal es que esta lengua pueda ser compilada a xharbour lo que seria fabuloso pues muchos scripts
podrian ser escritos una sola vez.
Digo esto por que los programas web no tienen ni tendran los mismo rendimientos que los programas nativos (los ejecutables
autonomos) entonces nos veremos obligados a crear siempre para _ una version web y una version nativa.
Entonces estamos obligados a trabajar doble.
De lado del servidor tendriamos a FIVEWEB que es nuestro querido xharbour o harbour .
Es necesario entonces contar con una lengua del lado del cliente que nos permita aliviar en algo la doble
codificacion.
Entonces la pregunta es que es posible?
Que fivewin/harbour corra en el navegador y lo acepten todos los navegadores del mercado
Que Javascript sea soportado por lo menos en sus estructuras de control en HARBOUR o XHARBOUR
La respuesta es obvia , mediante este foro nosotros tenemos el privilegio de ser leidos por los autores de HARBOUR
XHARBOUR y tenemos acceso a ellos.
Agradesco sus comentarios y aclaraciones.
Vladimir Zorrilla Llerena
vladimirzorrilla@gmail.com
ME INTERESA FW Y XHB POR SER OPEN SOURCE
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Vladimir,
Feliz cumpleaños. Gracias por la reflexion.
Debo estar equivocado, pero yo pensé que el servidor sería nuestro programa hecho con fiveweb, que serviría las páginas web. Para nosotros no habría dos lados sino sólo uno porque fiveweb se encargaría de generar las páginas para el navegador cliente. Quizá me equivoque, pero pensé que eso era fiveweb.
Saludos
Feliz cumpleaños. Gracias por la reflexion.
Debo estar equivocado, pero yo pensé que el servidor sería nuestro programa hecho con fiveweb, que serviría las páginas web. Para nosotros no habría dos lados sino sólo uno porque fiveweb se encargaría de generar las páginas para el navegador cliente. Quizá me equivoque, pero pensé que eso era fiveweb.
Saludos
-
- Posts: 225
- Joined: Tue Feb 28, 2006 4:25 pm
- Location: PERU
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Gracias por contestar amigo
Pues precisamente aqui esta el problema amigo que fiveweb nos genera una pagina web con el codigo
html ,css y javascript .
Bueno que genere el html y css esta bien pero nos acostumbra a no hacer uso directo de javascript y eso nos
evita a entender directamente el codigo que funciona en el navegador que es basico saber cuando enfrentes
escenarios de produccion.
Hacer un clic derecho y saber que pasa con los eventos del DOM es esencial para afrontar un servicio de soporte.
Te lo pondre en un ejemplo mas sencillo para que veas lo confuso que es no trabajar por separado el lado del cliente y el lado del servidor.
Un formulario para agregar cuentas a una tabla llamada PLAN
#include "FiveWeb.ch"
function Main()
local oDlg,cuenta=space(5),objq,oMySql
DEFINE DIALOG oDlg TITLE "FiveWeb Agregar Cuentas" SIZE 600, 400
@0,0 SAY 'CUENTA' of oDlg
@0,10 GET cuenta of oDlg
@2,18 BUTTON ' Aceptar ' ACTION oDlg:END() SIZE 52,12
ACTIVATE DIALOG oDlg
oMySql := TMSConnect():New()
oMySql:Connect( "190.43.42.177","root", "CPS" )
oMySql:SelectDb( "contable" )
objq:= TMSQuery():New( oMySql )
objq:Open("SELECT * from plan where cuenta='"+cuenta+"'")
if objq:nRowCount=0
objq:ExecSQL( "INSERT INTO PLAN (CUENTA) VALUES ('"+cuenta+"')" )
else
MsgAlert('La cuenta '+cuenta+' ya existe ')
endif
return nil
Este codigo esta pensado en el modelo de programacion cliente servidor aca si se puede tener todo en un solo codigo
pero para que funciones esto en web debemos de separar lo que va a corre en el navegador y lo que va a correr en el servidor web.
Analizemos
local oDlg,cuenta=space(5),objq,oMySql
oDlg y cuenta son variables que deben correr en el navegador y objq,oMySql deben correr en el servidor como fiveweb
va a saber eso.
Todo esto fiveweb lo debe convertir en html css y javascript
DEFINE DIALOG oDlg TITLE "FiveWeb Agregar Cuentas" SIZE 600, 400
@0,0 SAY 'CUENTA' of oDlg
@0,10 GET cuenta of oDlg
@2,18 BUTTON ' Aceptar ' ACTION oDlg:END() SIZE 52,12
ACTIVATE DIALOG oDlg
Todo esto codigo es para que corra en el servidor no lo debe de tocar
oMySql := TMSConnect():New()
oMySql:Connect( "190.43.42.177","root", "CPS" )
oMySql:SelectDb( "contable" )
objq:= TMSQuery():New( oMySql )
objq:Open("SELECT * from plan where cuenta='"+cuenta+"'")
Estas 3 lineas son codigo de servidor
if objq:nRowCount=0
objq:ExecSQL( "INSERT INTO PLAN (CUENTA) VALUES ('"+cuenta+"')" )
else
Pero este mensaje debe aparecer en el lado del cliente y debe estar en javascript como logra eso en un solo
codigo si son 2 escenarios distintos que ocurren en diferentes maquinas.
MsgAlert('La cuenta '+cuenta+' ya existe ')
endif
Ahora como se codifica esto en programacion web JAVASCRIPT PHP pues se hace separado
ESTO CORRE EN EL NAVEGADOR
<html>
<head>
<title>Agregar Cuentas</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
</head>
<body>
Cuenta
<input type="text" id="idcuenta" />
<input type="button" name="boton" value="Aceptar" onclick="validar()" />
</body>
<script type="text/javascript">
function validar()
{
var cuenta
cuenta= document.getElementById('idcuenta');
$.ajaxSetup({async:false});
$.get("valida.php", { lacu : cuenta },function(data)
{
existenciadecuenta(data,cuenta)
});
return true;
}
function existenciadecuenta(data,cuenta)
{
existe= data.indexOf("NOHAY");
if (existe==-1)
{
cadena="INSERT INTO PLAN (CUENTA) VALUES ('"+cuenta+"')";
$.ajaxSetup({async:false});
$.get("vzexecute.php", { acc : cadena });
}
else
{
alert('La cuenta '+cuenta+' ya existe ')
}
}
</script>
</html>
Y EN EL SERVIDOR hay que programar la verificacion de la cuenta en la base de datos
valida.php recibe en formato jason { lacu : cuenta }
lacu es el elemento del array asociativo que en php nos recibira el valor
cuenta es la variable javascript que transfiere el valor.
function(data) es el que recibe la respuesta AJAX data
devuelve HAY o NOHAY segun exista o no la cuenta en la tabla PLAN.
y
$.get("vzexecute.php", { acc : cadena });
es un php que ejecuta una cadena sql enviada desde javascript.
Bueno la idea es que el php sea remplazado por FIVEWEB por eso evito el codigo PHP
Como pueden ver teniendolo separado se entiende exactamente lo que pasa entre el
navegador y el servidor, estando todo en un solo codigo resulto un poco confuso.
Agradecido por los comentarios y perdonen mi intencion es aclarar un poco las cosas con la idea
de hacer de fiveweb algo realmente funcional.
Saludos
Vladimir Zorrilla Llerena
.
Pues precisamente aqui esta el problema amigo que fiveweb nos genera una pagina web con el codigo
html ,css y javascript .
Bueno que genere el html y css esta bien pero nos acostumbra a no hacer uso directo de javascript y eso nos
evita a entender directamente el codigo que funciona en el navegador que es basico saber cuando enfrentes
escenarios de produccion.
Hacer un clic derecho y saber que pasa con los eventos del DOM es esencial para afrontar un servicio de soporte.
Te lo pondre en un ejemplo mas sencillo para que veas lo confuso que es no trabajar por separado el lado del cliente y el lado del servidor.
Un formulario para agregar cuentas a una tabla llamada PLAN
#include "FiveWeb.ch"
function Main()
local oDlg,cuenta=space(5),objq,oMySql
DEFINE DIALOG oDlg TITLE "FiveWeb Agregar Cuentas" SIZE 600, 400
@0,0 SAY 'CUENTA' of oDlg
@0,10 GET cuenta of oDlg
@2,18 BUTTON ' Aceptar ' ACTION oDlg:END() SIZE 52,12
ACTIVATE DIALOG oDlg
oMySql := TMSConnect():New()
oMySql:Connect( "190.43.42.177","root", "CPS" )
oMySql:SelectDb( "contable" )
objq:= TMSQuery():New( oMySql )
objq:Open("SELECT * from plan where cuenta='"+cuenta+"'")
if objq:nRowCount=0
objq:ExecSQL( "INSERT INTO PLAN (CUENTA) VALUES ('"+cuenta+"')" )
else
MsgAlert('La cuenta '+cuenta+' ya existe ')
endif
return nil
Este codigo esta pensado en el modelo de programacion cliente servidor aca si se puede tener todo en un solo codigo
pero para que funciones esto en web debemos de separar lo que va a corre en el navegador y lo que va a correr en el servidor web.
Analizemos
local oDlg,cuenta=space(5),objq,oMySql
oDlg y cuenta son variables que deben correr en el navegador y objq,oMySql deben correr en el servidor como fiveweb
va a saber eso.
Todo esto fiveweb lo debe convertir en html css y javascript
DEFINE DIALOG oDlg TITLE "FiveWeb Agregar Cuentas" SIZE 600, 400
@0,0 SAY 'CUENTA' of oDlg
@0,10 GET cuenta of oDlg
@2,18 BUTTON ' Aceptar ' ACTION oDlg:END() SIZE 52,12
ACTIVATE DIALOG oDlg
Todo esto codigo es para que corra en el servidor no lo debe de tocar
oMySql := TMSConnect():New()
oMySql:Connect( "190.43.42.177","root", "CPS" )
oMySql:SelectDb( "contable" )
objq:= TMSQuery():New( oMySql )
objq:Open("SELECT * from plan where cuenta='"+cuenta+"'")
Estas 3 lineas son codigo de servidor
if objq:nRowCount=0
objq:ExecSQL( "INSERT INTO PLAN (CUENTA) VALUES ('"+cuenta+"')" )
else
Pero este mensaje debe aparecer en el lado del cliente y debe estar en javascript como logra eso en un solo
codigo si son 2 escenarios distintos que ocurren en diferentes maquinas.
MsgAlert('La cuenta '+cuenta+' ya existe ')
endif
Ahora como se codifica esto en programacion web JAVASCRIPT PHP pues se hace separado
ESTO CORRE EN EL NAVEGADOR
<html>
<head>
<title>Agregar Cuentas</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
</head>
<body>
Cuenta
<input type="text" id="idcuenta" />
<input type="button" name="boton" value="Aceptar" onclick="validar()" />
</body>
<script type="text/javascript">
function validar()
{
var cuenta
cuenta= document.getElementById('idcuenta');
$.ajaxSetup({async:false});
$.get("valida.php", { lacu : cuenta },function(data)
{
existenciadecuenta(data,cuenta)
});
return true;
}
function existenciadecuenta(data,cuenta)
{
existe= data.indexOf("NOHAY");
if (existe==-1)
{
cadena="INSERT INTO PLAN (CUENTA) VALUES ('"+cuenta+"')";
$.ajaxSetup({async:false});
$.get("vzexecute.php", { acc : cadena });
}
else
{
alert('La cuenta '+cuenta+' ya existe ')
}
}
</script>
</html>
Y EN EL SERVIDOR hay que programar la verificacion de la cuenta en la base de datos
valida.php recibe en formato jason { lacu : cuenta }
lacu es el elemento del array asociativo que en php nos recibira el valor
cuenta es la variable javascript que transfiere el valor.
function(data) es el que recibe la respuesta AJAX data
devuelve HAY o NOHAY segun exista o no la cuenta en la tabla PLAN.
y
$.get("vzexecute.php", { acc : cadena });
es un php que ejecuta una cadena sql enviada desde javascript.
Bueno la idea es que el php sea remplazado por FIVEWEB por eso evito el codigo PHP
Como pueden ver teniendolo separado se entiende exactamente lo que pasa entre el
navegador y el servidor, estando todo en un solo codigo resulto un poco confuso.
Agradecido por los comentarios y perdonen mi intencion es aclarar un poco las cosas con la idea
de hacer de fiveweb algo realmente funcional.
Saludos
Vladimir Zorrilla Llerena
.
ME INTERESA FW Y XHB POR SER OPEN SOURCE
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Vladimir,
Con FiveWeb puedes decicir que código se ejecutará en el servidor y cual en en cliente. Por ejemplo en la cláusula:
... ACTION ( haz_algo() )
( haz_algo() ) se procesa en el servidor a priori y luego se envia al cliente.
En:
... ACTION haz_algo()
haz_algo() es código en javascript que se ejecutará a posteriori en el cliente.
Nos falta implementar algo como:
... ACTION Server( haz_algo() )
que sería para ejecutar acciones en el server a posteriori. Server() enviaría haz_algo() al server para que se ejecute alli.
Con FiveWeb puedes decicir que código se ejecutará en el servidor y cual en en cliente. Por ejemplo en la cláusula:
... ACTION ( haz_algo() )
( haz_algo() ) se procesa en el servidor a priori y luego se envia al cliente.
En:
... ACTION haz_algo()
haz_algo() es código en javascript que se ejecutará a posteriori en el cliente.
Nos falta implementar algo como:
... ACTION Server( haz_algo() )
que sería para ejecutar acciones en el server a posteriori. Server() enviaría haz_algo() al server para que se ejecute alli.
-
- Posts: 225
- Joined: Tue Feb 28, 2006 4:25 pm
- Location: PERU
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Estimado Antonio
El planteamiento de 3 clases de ACTION
ACTION para algo que se procesa en el servidor a priori y luego se envia al cliente.
ACTION haz_algo() que es código en javascript que se ejecutará a posteriori en el cliente.
ACTION Server( haz_algo() ) que creo seria que el navegador le diga que haga algo
al servidor una vez cargada la pagina.
Bueno este ultimo es AJAX y logicamente por estar planteado fiveweb a tener todo en un solo
codigo obliga a plantear algo asi.
Al estar separado el codigo del lado del cliente en Javascript la comunicacion con el lenguaje del
servidor es simple de entender.
Por ejemplo aqui envio desde el navegador la cuenta 121220 para que el servidor lo valide, lo recibe en el array asociativo lacu en valida.php
$.get("valida.php", { lacu : "121220" },function(data)
{
Y luego me devuelve la respuesta en data
existenciadecuenta(data,cuenta)
});
Y asi me comunico con el servidor todas las veces que necesite y el me responde en data.
Mi humilde opinion es que fiveweb deberia encargarse de la capa de presentacion (html css) y permitir vincular un archivo (micodigo.js)
que me permita conectarme con el servidor atraves de AjaX .
Ademas me deberia exigir que use un ID en los comandos para identificar los elementos en el DOM posteriormente con JavaScript
@0,10 GET cuenta of oDlg eso esta incompleto
@0,10 GET cuenta ID "vcuenta" of oDlg eso esta completo
vcuenta seria el ID de la etiqueta que se crearia en html.
Se me imagina que el codigo podria quedar mas o menos asi.
#include "FiveWeb.ch"
function Main()
local oDlg,cuenta=space(5),objq,oMySql
SCRIPT javascript "micodigo.js"
DEFINE DIALOG oDlg TITLE "FiveWeb Agregar Cuentas" SIZE 600, 400
@0,0 SAY 'CUENTA' of oDlg
@0,10 GET cuenta ID "vcuenta" of oDlg
@2,18 BUTTON ' Aceptar ' ACTION oDlg:END() SIZE 52,12
ACTIVATE DIALOG oDlg
Al llegar al navegador y ver el codigo fuente la parte traducida en html referente a los get y botones seria
<body>
Cuenta
<input type="text" id="vcuenta" />
<input type="button" name="boton" value="Aceptar" onclick="validar()" />
</body>
Desde aqui con funciones Javascript nos comunicamos con el servidor que correria
codigo fw/harbour o xharbour por ejemplo para validar esa cuenta
function validar()
{
var lacuenta
lacuenta= document.getElementById('vcuenta');
$.ajaxSetup({async:false});
$.get("valida.prg", { lacu : cuenta },function(data)
{
existenciadecuenta(data,cuenta)
});
return true;
}
Gracias por los comentarios
Vladimir Zorrilla Llerena
El planteamiento de 3 clases de ACTION
ACTION para algo que se procesa en el servidor a priori y luego se envia al cliente.
ACTION haz_algo() que es código en javascript que se ejecutará a posteriori en el cliente.
ACTION Server( haz_algo() ) que creo seria que el navegador le diga que haga algo
al servidor una vez cargada la pagina.
Bueno este ultimo es AJAX y logicamente por estar planteado fiveweb a tener todo en un solo
codigo obliga a plantear algo asi.
Al estar separado el codigo del lado del cliente en Javascript la comunicacion con el lenguaje del
servidor es simple de entender.
Por ejemplo aqui envio desde el navegador la cuenta 121220 para que el servidor lo valide, lo recibe en el array asociativo lacu en valida.php
$.get("valida.php", { lacu : "121220" },function(data)
{
Y luego me devuelve la respuesta en data
existenciadecuenta(data,cuenta)
});
Y asi me comunico con el servidor todas las veces que necesite y el me responde en data.
Mi humilde opinion es que fiveweb deberia encargarse de la capa de presentacion (html css) y permitir vincular un archivo (micodigo.js)
que me permita conectarme con el servidor atraves de AjaX .
Ademas me deberia exigir que use un ID en los comandos para identificar los elementos en el DOM posteriormente con JavaScript
@0,10 GET cuenta of oDlg eso esta incompleto
@0,10 GET cuenta ID "vcuenta" of oDlg eso esta completo
vcuenta seria el ID de la etiqueta que se crearia en html.
Se me imagina que el codigo podria quedar mas o menos asi.
#include "FiveWeb.ch"
function Main()
local oDlg,cuenta=space(5),objq,oMySql
SCRIPT javascript "micodigo.js"
DEFINE DIALOG oDlg TITLE "FiveWeb Agregar Cuentas" SIZE 600, 400
@0,0 SAY 'CUENTA' of oDlg
@0,10 GET cuenta ID "vcuenta" of oDlg
@2,18 BUTTON ' Aceptar ' ACTION oDlg:END() SIZE 52,12
ACTIVATE DIALOG oDlg
Al llegar al navegador y ver el codigo fuente la parte traducida en html referente a los get y botones seria
<body>
Cuenta
<input type="text" id="vcuenta" />
<input type="button" name="boton" value="Aceptar" onclick="validar()" />
</body>
Desde aqui con funciones Javascript nos comunicamos con el servidor que correria
codigo fw/harbour o xharbour por ejemplo para validar esa cuenta
function validar()
{
var lacuenta
lacuenta= document.getElementById('vcuenta');
$.ajaxSetup({async:false});
$.get("valida.prg", { lacu : cuenta },function(data)
{
existenciadecuenta(data,cuenta)
});
return true;
}
Gracias por los comentarios
Vladimir Zorrilla Llerena
ME INTERESA FW Y XHB POR SER OPEN SOURCE
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Vladimir,
En el ejemplo otto.prg en FiveWeb/samples ves de que forma tan sencilla se puede hacer en FiveWeb:
Como ves, se va a ejecutar código javascrip ( document.location = ... )
Por otra parte, como FiveWeb usa JQuery UI de forma automática, lo que hacemos es usar el propio soporte de Ajax que ofrece JQuery UI. La clase TBrowse de FiveWeb lo usa asi:
Ese método load() llamado es la carga en Ajax de esa cUrl. Muy sencillo
En el ejemplo otto.prg en FiveWeb/samples ves de que forma tan sencilla se puede hacer en FiveWeb:
Code: Select all
@ 260, 160 BUTTON "Ok" OF oDlg ;
ACTION document.location = "otto.exe?add:" + ;
document.getElementById( "oGet1" ).value + ":" + ;
document.getElementById( "oGet2" ).value + ":" + ;
document.getElementById( "oGet3" ).value
Por otra parte, como FiveWeb usa JQuery UI de forma automática, lo que hacemos es usar el propio soporte de Ajax que ofrece JQuery UI. La clase TBrowse de FiveWeb lo usa asi:
Code: Select all
METHOD Activate() CLASS TBrowse
if Empty( ::cAlias )
? "<script>"
? '$( "#' + ::cVarName + '" ).load( "' + ::cUrl + '" );'
? "</script>"
endif
return nil
-
- Posts: 149
- Joined: Thu Jun 21, 2007 3:26 pm
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Disculpá, Antonio: Me bajo esto http://code.google.com/p/fiveweb/downlo ... p&can=2&q=, y después como arranco???
perdón la burrada, eh... pero me interesa esto del fiveweb, pero necesito media vueltita para arrancar... despues una vez que enciendo, pongo segunda, y no jorobo tanto, pero la parametrizacion inicial siempre me costo.
Atte.
perdón la burrada, eh... pero me interesa esto del fiveweb, pero necesito media vueltita para arrancar... despues una vez que enciendo, pongo segunda, y no jorobo tanto, pero la parametrizacion inicial siempre me costo.
Atte.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Diego,
Lo primero que debes es decidir si vas a usarlo en un servidor Windows, Linux ó en un servidor Apple. Aunque esto no es necesario para empezar a hacer pruebas y familiarizarte con él.
Una vez lo descargues, ejecuta el fichero go.bat para que se construya FiveWeb. Luego ve a la carpeta samples y ejecuta build.bat tutor01. El EXE resultante lo copias a la carpeta CGI-BIN del servidor web. Con esto es suficiente para comenzar
Lo primero que debes es decidir si vas a usarlo en un servidor Windows, Linux ó en un servidor Apple. Aunque esto no es necesario para empezar a hacer pruebas y familiarizarte con él.
Una vez lo descargues, ejecuta el fichero go.bat para que se construya FiveWeb. Luego ve a la carpeta samples y ejecuta build.bat tutor01. El EXE resultante lo copias a la carpeta CGI-BIN del servidor web. Con esto es suficiente para comenzar
-
- Posts: 149
- Joined: Thu Jun 21, 2007 3:26 pm
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Me da este error (ERROR 1) y si cambio el path del c:\bcc582 (yo tengo el bcc55), me sale este error (ERROR 2):
ERROR 1:
C:\Fivewin\FIVEWE~1.2>win-make.exe --makefile=Makefile_win
.\..\harbour\bin\harbour source/function/fiveweb.prg -o.\obj/fiveweb.c -n -I.\..
\harbour\include -I.\include
Harbour devel build 1.1-0 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'source/function/fiveweb.prg'...
Lines 957, Functions/Procedures 10
Generating C source output to '.\obj/fiveweb.c'... Done.
c:\bcc582\bin\bcc32 -c -I./../harbour/include -oobj/fiveweb.obj obj/fiveweb.c
process_begin: CreateProcess(NULL, c:\bcc582\bin\bcc32 -c -I./../harbour/include
-oobj/fiveweb.obj obj/fiveweb.c, ...) failed.
make (e=3): El sistema no puede hallar la ruta especificada.
win-make.exe: *** [obj/fiveweb.obj] Error 3
rm obj/fiveweb.c
ERROR 2:
C:\Fivewin\fiveweb_1.2>win-make.exe --makefile=Makefile_win
Makefile_win:30: *** missing separator (did you mean TAB instead of 8 spaces?).
Stop.
ayuda, please...!!!
Gracias...!!!
ERROR 1:
C:\Fivewin\FIVEWE~1.2>win-make.exe --makefile=Makefile_win
.\..\harbour\bin\harbour source/function/fiveweb.prg -o.\obj/fiveweb.c -n -I.\..
\harbour\include -I.\include
Harbour devel build 1.1-0 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'source/function/fiveweb.prg'...
Lines 957, Functions/Procedures 10
Generating C source output to '.\obj/fiveweb.c'... Done.
c:\bcc582\bin\bcc32 -c -I./../harbour/include -oobj/fiveweb.obj obj/fiveweb.c
process_begin: CreateProcess(NULL, c:\bcc582\bin\bcc32 -c -I./../harbour/include
-oobj/fiveweb.obj obj/fiveweb.c, ...) failed.
make (e=3): El sistema no puede hallar la ruta especificada.
win-make.exe: *** [obj/fiveweb.obj] Error 3
rm obj/fiveweb.c
ERROR 2:
C:\Fivewin\fiveweb_1.2>win-make.exe --makefile=Makefile_win
Makefile_win:30: *** missing separator (did you mean TAB instead of 8 spaces?).
Stop.
ayuda, please...!!!
Gracias...!!!
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
En la línea 30 de Makefile_Win borra los espacios y usa tabs en su lugar
- Marcelo Roggeri
- Posts: 275
- Joined: Sat Jul 22, 2006 9:04 pm
- Location: Venado Tuerto - Santa Fe -Argentina
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Hola Antonio, he probado los ejemplos bajo Windows y funcionan todos, he instalado wamp y seguido lo qe han sugerido asi que a la espectativa de otros nuevos avances.
Ahora me toca probar lo mismo bajo la plataforma linux, que tan pacientemente me ha ayudado Carlos Vargas, el tema es que aca voy muy despacio por el desconocimiento que tengo de los comandos de linux.
Pero es necesario ya que los costos de un servidor de pago difiere mucho de uno al otro.
Saludos
Marcelo
Ahora me toca probar lo mismo bajo la plataforma linux, que tan pacientemente me ha ayudado Carlos Vargas, el tema es que aca voy muy despacio por el desconocimiento que tengo de los comandos de linux.
Pero es necesario ya que los costos de un servidor de pago difiere mucho de uno al otro.
Saludos
Marcelo
FWH - Harbour - BCC7 - PellesC - FivEdit (Cristobal Navarro)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Marcelo,
Si, asi es, los servidores en Linux son mucho más económicos y son los más usados
Si, asi es, los servidores en Linux son mucho más económicos y son los más usados
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Hola!; estoy probando Fiveweb en Ubuntu 64, hice andar wampp (hay que toquetearlo bastante ya que es de 32 bits), y hay un par de ejemplos que tiran error, cuando en 32 bits (ubuntu) no lo hacian, no se si se cambio algo o estoy haciendo algo mal yo, compilan perfecto, pero:
el TESTSAY TIRA:
FiveWeb error
Application
===========
Path and name: /opt/lampp/cgi-bin/testsay (32 bits)
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 03/25/13, 13:05:36
Error description: Error BASE/1003
Variable does not exist: SUPER
Stack Calls
===========
Called from TSAY:NEW(26)
Called from MAIN(11)
Variables in use
================
Procedure Type Value
==========================
TSAY:NEW
Param 1: O Class: ERROR
MAIN
Param 1: N 20
Param 2: N 20
Param 3: C "Hello world"
Param 4: N 300
Param 5: N 40
Param 6: O Class: TDIALOG
Param 7: C "oSay"
Param 8: U nil
Param 9: U nil
Local 1: U nil
Local 2: U nil
Local 3: U
Local 4: S
Linked RDDs
Y el Testbrow:
FiveWeb error
Application
===========
Path and name: /opt/lampp/cgi-bin/testbrow (32 bits)
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 03/25/13, 13:25:33
Error description: Error BASE/1003
Variable does not exist: SUPER
Stack Calls
===========
Called from TBROWSE:NEW(38)
Called from MAIN(11)
Variables in use
================
Procedure Type Value
==========================
TBROWSE:NEW
Param 1: O Class: ERROR
MAIN
Param 1: N 10
Param 2: N 10
Param 3: N 980
Param 4: N 477
Param 5: O Class: TDIALOG
Param 6: C "oBrw"
Param 7: C
"http://www.fivetechsoft.net/fiveweb/myb ... me=clients"
Local 1: U nil
Local 2: S
Local 3: U nil
Local 4: U nil
Local 5: U
Linked RDDs
Saludos!
Roberto
el TESTSAY TIRA:
FiveWeb error
Application
===========
Path and name: /opt/lampp/cgi-bin/testsay (32 bits)
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 03/25/13, 13:05:36
Error description: Error BASE/1003
Variable does not exist: SUPER
Stack Calls
===========
Called from TSAY:NEW(26)
Called from MAIN(11)
Variables in use
================
Procedure Type Value
==========================
TSAY:NEW
Param 1: O Class: ERROR
MAIN
Param 1: N 20
Param 2: N 20
Param 3: C "Hello world"
Param 4: N 300
Param 5: N 40
Param 6: O Class: TDIALOG
Param 7: C "oSay"
Param 8: U nil
Param 9: U nil
Local 1: U nil
Local 2: U nil
Local 3: U
Local 4: S
Linked RDDs
Y el Testbrow:
FiveWeb error
Application
===========
Path and name: /opt/lampp/cgi-bin/testbrow (32 bits)
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 03/25/13, 13:25:33
Error description: Error BASE/1003
Variable does not exist: SUPER
Stack Calls
===========
Called from TBROWSE:NEW(38)
Called from MAIN(11)
Variables in use
================
Procedure Type Value
==========================
TBROWSE:NEW
Param 1: O Class: ERROR
MAIN
Param 1: N 10
Param 2: N 10
Param 3: N 980
Param 4: N 477
Param 5: O Class: TDIALOG
Param 6: C "oBrw"
Param 7: C
"http://www.fivetechsoft.net/fiveweb/myb ... me=clients"
Local 1: U nil
Local 2: S
Local 3: U nil
Local 4: U nil
Local 5: U
Linked RDDs
Saludos!
Roberto
Re: FiveWeb de FiveTech (gratis hasta la versión 1.0)
Rolaci,
El problema es un tema relacionado con harbour.
El problema viene del hecho de que tras una release en harbour, la variable Super ya no está disponible, y en su lugar hay que usar la DATA Super. Eso en la práctica se traduce en que HAY QUE SUSTITUIR en los archivos prg la variable Super por ::Super y eso es todo.
Saludos
El problema es un tema relacionado con harbour.
El problema viene del hecho de que tras una release en harbour, la variable Super ya no está disponible, y en su lugar hay que usar la DATA Super. Eso en la práctica se traduce en que HAY QUE SUSTITUIR en los archivos prg la variable Super por ::Super y eso es todo.
Saludos