PDA

Ver la Versión Completa : Firebird en red


Choclito
22-10-2006, 14:58:39
Hola amigos del foro como siempre decirles q gracias al foro uno nunca termina de mejorar sus conocimientos..
Comentarles que hice un sistema cliente servidor para un centro medico y todo va muy bien pero ahora tengo el siguiente problema:
Como puedo hacer el sistema que cuando sea maquina cliente la primera vez que ejecute el sistema le pida registrar el servidor donde este la base de datos algo similar a los programas q controlan los cafes internet como el easycafe
Asi pueda tener dos instaladores del sistema, uno para q sea para la pc servidora y otra para las maquinas clientes
Trabajo con delphi.mercury tools y firebird 1.5
Espero haya sido claro al explicar mi problema y muchas gracias por la ayuda y sugerencias q me puedan dar

JXJ
22-10-2006, 21:45:31
Creo que seria necesario que el servidor tenga una tabla donde
tiene a los usuarios registrados, con identificadores de que
pueden hacer, si solo revisar datos o tambien modificarlos
y al recibir una nueva conexion.
verifique que el usuario exista. sino que le pida registrarse

Lepe
23-10-2006, 13:29:20
Desde mi punto de vista necesitas un instalador, el típico Setup.

Yo hice uno parecido en un lápiz USB (Memoria USB, o como se quiera llamar), el hecho es que ese programa de instalación tiene 2 modos:

- Primero se instala el servidor, en un archivo de la memoria USB se graba el servidor, ip, etc, todo lo que necesites para conectarte.
- Si eliges la instalación Cliente, lo que hace es leer esa configuración del archivo anterior.

Así el usuario no tiene que recordar nombre de servidor, ni IP ... ni nada ;-)

Según el modo de instalación, instalas el Firebird Guardian como cliente o servidor.

Como instalador te recomiendo InnoSetup (gratuito), IsTools y otras herramientas parecidas; busca en el foro, hay bastante información.

Saludos

Choclito
24-10-2006, 15:54:26
Muchas gracias por responder Lepe
Decirte q justamente pensaba hacer algo similar a lo q me suguieres pues la idea seria de que en las maquinas clientes solo se registre el ip del servidor solo la primera vez q se ingresa al sistema y en las siguientes ya se tenga guardado ese dato
el detalle es nose como hacerlo espero no molestar pero agradeceria mucho si tuvieras algunos ejemplos
Como siempre estare muy agradecido por la ayuda que me brinden
Tendria que hacer ese codigo en innosetup,firebird o delphi?? nuevamente muchas gracias por la ayuda

Lepe
25-10-2006, 12:08:15
Desgraciadamente perdí los fuentes del instalador, y ahora mismo no tengo nada instalado de innosetup, aprovecho y te doy los links mientras yo mismo lo bajo:

Innosetup: http://www.jrsoftware.org/isinfo.php
ISTools: http://www.jrsoftware.org/is3rdparty.php
InnoSetup Form Designer : http://www.jrsoftware.org/is3rdparty.php

Instalar en ese mismo orden... da igual pero bueno.

Digamos que InnoSetup es el equivalente al compilador Delphi.
ISTools es el IDE de programación.
Form Designer, como su propio nombre indica, permite hacer pantallas personalizadas para el instalador, Por ejemplo, la pantalla donde se decide si es el modo de instalación cliente o el modo servidor.

En cada página web tienes traducciones del programa a español, yo uso el idioma inglés.

En el archivo de Inno Setup (Inno Setup documentation) viene rutinas para trabajar con archivos .INI:

function SetIniString(const Section, Key, Value, Filename: String): Boolean
function GetIniString(const Section, Key, Default, Filename: String): String;
function IniKeyExists(const Section, Key, Filename: String): Boolean;

Tambien dispones en innosetup de unas constantes predefinidas:

{app}
The application directory, which the user selects on the Select Destination Location page of the wizard.
For example: If you used {app}\MYPROG.EXE on an entry and the user selected "C:\MYPROG" as the application directory, Setup will translate it to "C:\MYPROG\MYPROG.EXE".



{src}
The directory in which the Setup files are located.
For example: If you used {src}\MYPROG.EXE on an entry and the user is installing from "S:\", Setup will translate it to "S:\MYPROG.EXE".


Es bastante amplio para explicarlo aquí, pero básicamente con {src} puedes crear el archivo .ini en la propia Memoria USB con la IP del servidor. Con la constante {app} puedes copiar el archivo de la memoria a la carpeta de tu programa en el ordenador Cliente.

Dale una visual a ISTools, verás que tienes las opciones a mano y explicadas.

Por cierto, en InnoSetup, tienes un apartado [code] que permite hacer rutinas (casi casi en lenguaje pascal) para añadir funcionalidades extras a tu instalador.

Te aconsejo encarecidamente que bajes "vmware player" o el "Virtual PC", de esa forma puedes probar los instaladores en un "windows Virtual" sin tener que estropear tu propio windows.

Saludos