Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Java, JavaScript o PHP (https://www.clubdelphi.com/foros/showthread.php?t=53156)

enecumene 12-02-2008 16:07:58

Java, JavaScript o PHP
 
Saludos compañeros del foro, miren estoy haciendo una aplicación donde en la pantalla principal tiene un TWebBrowser donde se mostrará una página con estadísticas, más vendidos etc., por eso quiero usar uno de los lenguajes mencionados en el titulo de este hilo, yo se manejar PHP pero no java y javascript, y no quiero usar PHP pues tendria que tener un servidor apache instalado, por eso quiero un lenguaje donde no tenga que usar servidores locales ni nada por el estilo, que me recomiendan?

SAludos.

luisgutierrezb 12-02-2008 16:21:07

bueno el php lo puedes poner con el IIS, ahora no creo que todo se cierre ahi, esta el intraweb que no se raja para trabajar en web y desde el delphi, tambien puedes usar asp, hay muchas opciones en este campo, a lo mejor si explicas con mas detalle que vas a manejar se te podria ayudar mejor a escoger la herramienta adecuada

dec 12-02-2008 16:37:51

Hola,

Tal y como lo planteas pareciera que podría bastarte con usar HTML, CSS y JavaScript. Puedes preparar este código y "volcarlo" en el navegador, puesto que este lo interpretará y se encargará del resto. Cualquier otro lenguaje de los mencionados (PHP, ASP) depende ya de que un servidor esté en marcha y con sus correspondientes extensiones funcionando.

Hay por ahí un proyecto para poder procesar Scripts de PHP en nuestras aplicaciones (sin necesidad de servidor de por medio), pero, me parece que con los lenguajes mencionados (del lado del cliente) tal vez puedas apañarte bien. Otra cosa sería incluir junto a tu aplicación un servidor HTTP y hasta el propio PHP, pero, volvemos a lo mismo: si puedes hacerlo en el cliente, directamente, te quitarás de todo lo demás.

enecumene 12-02-2008 16:38:31

Hola luisgutierrezb, gracias por tu pronta repuesta, lo que sucede es que quisiera un lenguaje donde pueda manejar base de datos (Lenguaje Web), y que no sea dependiente de IIS, Apache etc., etc., para PHP la pc debe tener instalado apache como mínimo y php5 o mas, ahora no se si Java o Javascript dependen de algo para su funcionamiento, bueno, ojalá me haya explicado un poco mejor :D.

Saludos.

dec 12-02-2008 16:41:49

Hola,

Cita:

Empezado por enecumene
(...) lo que sucede es que quisiera un lenguaje donde pueda manejar base de datos (...)

Yo pensaba (no debería, ya lo sé) que los datos vendrían de tu propia aplicación. Si se trata de manejar bases de datos en un servidor... tal vez convenga instalar todo en un servidor web, junto con el motor de bases de datos y PHP, por ejemplo, y que tu aplicación se limite a hacer peticiones HTTP sin más. Vamos, a bote pronto y sin saber más es lo que se me ocurre.

enecumene 12-02-2008 16:43:00

Cita:

Empezado por dec (Mensaje 265226)
Hola,

Tal y como lo planteas pareciera que podría bastarte con usar HTML, CSS y JavaScript. Puedes preparar este código y "volcarlo" en el navegador, puesto que este lo interpretará y se encargará del resto. Cualquier otro lenguaje de los mencionados (PHP, ASP) depende ya de que un servidor esté en marcha y con sus correspondientes extensiones funcionando.

Hay por ahí un proyecto para poder procesar Scripts de PHP en nuestras aplicaciones (sin necesidad de servidor de por medio), pero, me parece que con los lenguajes mencionados (del lado del cliente) tal vez puedas apañarte bien. Otra cosa sería incluir junto a tu aplicación un servidor HTTP y hasta el propio PHP, pero, volvemos a lo mismo: si puedes hacerlo en el cliente, directamente, te quitarás de todo lo demás.

Vale gracias Dec, una pregunta con javascript puedo manejar con base de datos Access?, tal vez es una pregunta tonta, pero como estoy verde con Javascript no pierdo nada con preguntar. :D:D

Saludos.

enecumene 12-02-2008 16:45:15

Cita:

Empezado por dec (Mensaje 265230)
Hola,



Yo pensaba (no debería, ya lo sé) que los datos vendrían de tu propia aplicación. Si se trata de manejar bases de datos en un servidor... tal vez convenga instalar todo en un servidor web, junto con el motor de bases de datos y PHP, por ejemplo, y que tu aplicación se limite a hacer peticiones HTTP sin más. Vamos, a bote pronto y sin saber más es lo que se me ocurre.

Bueno no necesariamente manejar una base de datos sino sacar informaciones de una tabla con sentencias SQL cosas asi, no se si Javascript se puede.

dec 12-02-2008 16:46:47

Hola,

Cita:

Empezado por enecumene
Vale gracias Dec, una pregunta con javascript puedo manejar con base de datos Access?, tal vez es una pregunta tonta, pero como estoy verde con Javascript no pierdo nada con preguntar.

Hasta donde yo llego no, me temo que JavaScript no llega a tanto. Se queda "encerrado" en el cliente (navegador) y no puede (ni está pensado, tampoco) utilizar motores de bases de datos como el que mencionas, o acceder al sistema de archivos, propiedades del sistema, etc. Vamos, hasta ahí llego yo, ¿eh? ;)

lucasarts_18 12-02-2008 17:00:58

Hola:

Cómo bien dice dec, javascript no puede manejar base de datos porque se ejecuta solo en el lado cliente.

Tal véz convendría usar AJAX, pero no sé de tu tiempo que tengas, ya que esto requiere un poco de dedicación.

Con respecto a Java, requieres de la máquina virtual para poder ejecutar aplicaciones java, así como también de un servidor web si vas a trabajar con peticiones http hacia un servidor web.

Javascript solo requieres un navegador web que lo soporte y que lo tenga activado, pero como dije antes solo se limita a interactuar en la parte cliente.

Hasta Luego.

nightynvid 12-02-2008 18:11:03

bueno no se si sea la idea que tienes pero ya que me imagino estas haciendo la aplicacion en delphi, por que no hacer las consultas todo normal y generar despues con esa informacion un archivo en el cual "imprimas" la informacion que necesites en html y asignes la pagina generada al control twebbrowser??

enecumene 12-02-2008 18:37:15

Cita:

Empezado por nightynvid (Mensaje 265266)
bueno no se si sea la idea que tienes pero ya que me imagino estas haciendo la aplicacion en delphi, por que no hacer las consultas todo normal y generar despues con esa informacion un archivo en el cual "imprimas" la informacion que necesites en html y asignes la pagina generada al control twebbrowser??

hombre, gracias, no está mala la idea, y como yo podría hacer este tipo de ajustes.??

Saludos.

keyboy 12-02-2008 19:01:16

Cita:

Empezado por enecumene
una pregunta con javascript puedo manejar con base de datos Access

Ya que estás usando el IE (TWebBrowser), puedes usar las inseguridades de éste y acceder a una base de datos de Access mediante controles ActiveX. Aquí te pongo un ejemplo que trabaja sobre una tabla

Código:

producto = (id, producto)
Aquí el archivo html

Código:

<!doctype html public "-//w3c//dtd html 4.0//en">
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=iso-8859-1'>
<title> adojs </title>
<style type='text/css'>
body
{
  font: .9em sans-serif;
}

table#productos
{
  border-collapse: collapse;
  border: none;

  margin-bottom: 1.5em;
}

table#productos col.id
{
  width: 4em;
}

table#productos col.producto
{
  width: 24em;
}

table#productos th, table#productos td
{
  border: 1px solid silver;
}
</style>

<script type='text/javascript'>
window.onload = function()
{
  /*
  * Abrir conexión con la base de datos
  *
  * Obsérvese que la ruta a la base usa dobles \
  */
  adoConnection = new ActiveXObject('ADODB.Connection');
  adoConnection.connectionString =
    'Provider=Microsoft.Jet.OLEDB.4.0;' +
    'Data Source=C:\\ruta\\al\\archivo.mdb;';

  /*
  * open provocará algunos mensajes de advertencia al usuario. Pero
  * pasados estos, las consultas se hacen sin problemas.
  */
  adoConnection.open;


  /*
  * Obtener una referencia a la tabla HTML de productos
  */
  oTable = document.getElementById('productos');
}

/**
 * Ejecuta una consulta SQL y llena la tabla HTML con los datos recabados
 */
function leerDatos()
{
  var adoRecordset = adoConnection.Execute('select * from producto');

  while (!adoRecordset.EOF)
  {
    var oRow = oTable.insertRow(); 

    var oTd = oRow.insertCell();
    oTd.innerHTML = adoRecordset('id');

    var oTd = oRow.insertCell();
    oTd.innerHTML = adoRecordset('producto');

    adoRecordset.MoveNext;
  }

  adoRecordset.Close;
}
</script>
</head>
<body>
<h1>Productos</h1>

<table id='productos' summary='Lista de productos'>
<col class='id'>
<col class='producto'>
<tr>
  <th>id</th>
  <th>producto</th>
</tr>
</table>
</body>

<input type='button' id='btnLeer' value='Leer datos' onclick='leerDatos()'>
</html>

De todas formas, como ya te han comentado, lo mejor sería dejar que delphi haga todo el proceso pesado y simplemente "vaciar" la información al TWebBrowser. Aunque, ya entrados en gastos, ¿por qué no olvidarse del éste y mostrar los resultados con controles propios de Delphi?

Bye

enecumene 12-02-2008 19:21:34

Amigo Keyboy, me ha gustado tu propuesta, no sabia que se podia hacer asi, es un codigo que usas?

Saludos.

nightynvid 12-02-2008 19:34:57

asi al vuelo se me ocurre
  1. definir los estilos y formatos para la pagina web
  2. crear una pagina de prueba para determinar como se vera la informacion
  3. una vez que tengas la pagina normal ya definida guardas por secciones en un stringlist
supongamos el encabezado de la pagina en un stringlist como una sola linea ( o varias segun sea mas practico al momento de generarla)
Código:

<html>
<head>
...
</head>
<body>

como una sola linea el fin de la pagina

Código:

</body>
</html>

y asi los demas segmentos de la pagina

una vez que tengas la informacion que te interesa
Código Delphi [-]
var   i: integer;   Archivo: File;
Const
Encabezado = 1; PiePagina = 2; AbreEstiloNumeros =3;CierraEstiloNumeros = 4;
// ... y asi sucesivamente formamos una tabla // con las partes de la pagina begin AssignFile(Archivo,'C:\PaginaFinal.htm'); // suponiendo que el codigo de la //pagina esta guardada en un StringList SL // escribes al archivo el encabezado Write(Archivo,SL[Encabezado); // linea del encabezado //entre las sentencias Write, incluyes las de la informacion que necesites por ejemplo //supongamos que tienes un adoquery sCadena := SL[AbreEstiloNumeros]; //el stringlist con la linea que guardo un estilo para mostrar numeros // ejem: < span style= 'numeros'> sCadena := sCadena + AdoQuery1.Fields[0].AsFloat + SL[CierraEstiloNumeros]; // esto genera < span style = ' numeros ' $5400.25 < / span > // por que SL[CierraEstiloNumeros] contiene < /span> Write(Archivo,sCadena); Write(Archivo,StringList[PiePagina]); // linea del pie de pagina CloseFile(Archivo); end;


con esto generas basicamente el esqueleto de la pagina con informacion

solo necesitas hacer los ciclos con los query que tienen tu informacion y concatenerla con las instrucciones html que les correspondan para la presentacion de los datos

bueno a grandes rasgos es la idea pero conforme vayas avanzando podemos ir aclarando mas cosas

edito: disculpen pero creo que ocurrieron unos errores al momento de hacer vista previa al mandar el post, en un rato mas corrijo los errores :P


La franja horaria es GMT +2. Ahora son las 06:50:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi