PDA

Ver la Versión Completa : Conocer el nombre del servidor


Pablo Carlos
02-03-2005, 00:14:15
Hola gente... estoy iniciando un prg. que trabajará en red. Será en paradox, delphi 5 y w95 - w98 - me - 2000 y nt (jujuju) usando un componente tsession. Mi problema es el siguiente: 1.- Cómo conocer si una máquina está conectada a una red o es local por medio del prg.?
2.- Si trabaja en red ¿Cómo saber el nombre del servidor?
El problema empieza cuando conecto las tablas y querys... conociendo el nombre del servidor le indico en su propiedad databasename \\Servidor\RecursoCompartido\CarpetasdeTablas y funciona correctamente, y si el caso es que no está en red simplemente en la propiedad databasename le indico c:\CarpetadeTablas, todo esto lo hago leyendo un .ini, el prg busca el ini y lee su contenido (dirección de tablas) y actua en consecuencia. Ahora sería engorroso (y poco profesional) ir por cada empresa... preguntarle si el prg trabajará en red o no y actuar en función (modificar el ini). Espero haber sido claro. Alguna sugerencia??? Muchas gracias

Pablo Carlos
04-03-2005, 21:42:23
Aún no encuentro la manera...
Gracias

Lepe
05-03-2005, 12:36:41
Se te escapa una opción: El ordenador está en red, pero quiere que tu programa solo se use en 1 ordenador, es decir, configuración local.

Solución:

En el asistente de instalación, pon 2 opciones:
- Instalar en Red
- Indicar el ordenador "Servidor"

- Instalar localmente.

Segun la instalación copias un .ini u otro.
Si es en red, modificas el ini para indicar la ruta del servidor.

Otra opción, Sin el instalador, es dejar las rutas en el ini en blanco, al iniciar el programa si estan en blanco, muestras la pantalla de configuración al usuario.

SAludos

Pablo Carlos
05-03-2005, 15:11:33
Gracias por responder
Aclaro: no se si el prg. trabajará en red o será local, es por eso que necesito que el mismo prg trabaje en consecuencia: si la pc en uso esta en red, le indique la ruta de los datos (servidor) y si es local, tambien indique la ruta. Esto no lo quiero hacer manualmente (que yo tenga que hacerlo en el momento de la instalación)
Segun la instalación copias un .ini u otro.
Si es en red, modificas el ini para indicar la ruta del servidor.

Precisamente lo que no quiero es modificar el ini manualmente por que tendría que ir a cada lugar.-

Otra opción, Sin el instalador, es dejar las rutas en el ini en blanco, al iniciar el programa si estan en blanco, muestras la pantalla de configuración al usuario.

Esta opción la estudiaré, parece una buena posibilidad.- Te agradezco tus sugerencias. Saludos

Pablo Carlos
07-03-2005, 23:08:10
Bueno ya encontre la solución... al iniciar el prg tiene un form de inicio (típica propaganda e informe de que está cargando tal y cual cosa) en el evento on create pregunto si existe el ini (con FileExists), el cual me da el path ya sea servidor o local, si no existe muestro otra ventana donde el usuario cargará el path local o server del DataBaseName y creo un ini con esos datos y con esto evito estar presente en cada instalación. Obviamente en el datamodulo de tables o querys al crearse busca y lee el ini ya creado... No se si será la mejor opción pero es la que se me ocurrio :D
Gracias por todo
Pablo