Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-08-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Obtener ruta completa de RED

Buenas amigos, mi aplicación esta ejecutandose en RED y queria saber si se puede saber la ruta completa desde donde ejecuto mi programa.
Para obtener la ruta en LOCAL utilizo
Código Delphi [-]
ExtractFilePath(Application.ExeName)
y el resultado sería algo como
Código:
c:\carpeta de programa\programa.exe
, pero en RED lo que obtengo con ExtractFilePath es .
Como puedo obtener desde un terminal, la ruta completa del programa que se ejecuta en un servidor?

Gracias a todos
Responder Con Cita
  #2  
Antiguo 14-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por JordiP Ver Mensaje
pero en RED lo que obtengo con ExtractFilePath es .
Hola Jordip.

Si no entiendo mal, lo que te está mostrando ahí es la ruta completa a la ubicación de la aplicacion en el servidor.

Si lo que deseas obtener es una letra de unidad, previamente debes asignarle una en 'conectar a unidad de red'.

Es decir que la letra es local y no asignada por el servidor. Con esto quiero decir que a:\\Servidor\Sistema\Programa.exe.
En un equipo se le puede asignar: X:\Servidor\Sistema\Programa.exe y en otro: F:\Servidor\Sistema\Programa.exe,
refiriendose en ambos casos a la misma aplicación.

Esto nos deja hacer referencia de dos modos a la aplicación.
1.- Refiriendo la letra de unidad asignada F:\Servidor\Sistema\Programa.exe.
2.- Buscando la ruta a la carpeta contenedora en la red \\Servidor\Sistema\Programa.exe.

La letra de unidad funciona de forma similar a el alias de Delphi.

Saludos.

Última edición por ecfisa fecha: 14-08-2010 a las 22:58:01.
Responder Con Cita
  #3  
Antiguo 16-08-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
ECFISA, tu mensaje no acabo de entenderlo, porque si dices \\Servidor\Sistema\, quieres decir que Servidor es el nombre del PC y hasta donde yo se, no se puede crear una unidad de RED X:\Servidor\Sistema, en todo caso seria X:\Sistema, verdad ?

Es que creo que no me he sabido explicar nada, lo siento, Intentaré explicarme mejor ahora:
1. Tengo un servidor donde esta instalada mi aplicación, en la carpeta c:\programas\programa_xx\programa.exe. Estoy obligado a instalarlo allí.
2. Este servidor tiene compartido la carpeta "programa_xx", tampoco me dejan cambiar esto.
3. En otro terminal (PC), he creado una unidad de RED "X" a esa carpeta compartida, con lo que para acceder a mi programa, quedaria así: X:\programa.exe.

Llegados a este punto:
4. Ejecuto mi programa desde el terminal
5. y si pido la RUTA del programa, con la funcion "ExtractFilePath(Application.ExeName)", me devuelve "X:\" y a mi me interesa "c:\programas\programa_xx\", que es la ruta del servidor donde esta instalado mi programa.

Hay alguna manera de obtener esta ruta "c:\programas\programa_xx\"?

Espero que esta vez se entienda mejor mi duda, lo siento pero a veces cuesta explicarse.

Gracias a todos y espero que alguien pueda ayudarme

Última edición por JordiP fecha: 16-08-2010 a las 15:57:16.
Responder Con Cita
  #4  
Antiguo 16-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JordiP.

Si, tenés razon. Al reemplazar la ruta al servidor por la letra de unidad, no va "\Servidor": 'sintax error' .

Ahora vamos a tu pregunta: (seré cuidadoso con la sintáxis... )

Lo que te quise decir, es que, (hasta donde yo sé), la 'letra de unidad' y la carpeta(si la hay),
del servidor, donde se encuentra la aplicación; es transparente para el resto de los equipos de red.

De esta manera, cualquier cambio que se realize en el servidor, no afecta a los equipos clientes .

En mi humilde opinión, no creo que se pueda.


Saludos.

Última edición por ecfisa fecha: 16-08-2010 a las 23:06:15.
Responder Con Cita
  #5  
Antiguo 17-08-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Gracias ECFISA, eso mismo creo yo, pero si alguien sabe alguna manera de hacerlo, agradecido quedare de por vida, jeje
Responder Con Cita
  #6  
Antiguo 17-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Seguramente se puede con alguna función de la API de windows, pero se me ocurre una forma "chapuza", un programita en el servidor que al ejecutarlo guarde la ruta en un fichero de texto, por ejemplo. Luego, desde tu programa, sólo has de leer ese fichero.
Puedes ejecutarlo al iniciar el sistema, por ejemplo.
Responder Con Cita
  #7  
Antiguo 17-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Seguramente se puede con alguna función de la API de windows, pero se me ocurre una forma "chapuza", un programita en el servidor que al ejecutarlo guarde la ruta en un fichero de texto, por ejemplo. Luego, desde tu programa, sólo has de leer ese fichero.
Puedes ejecutarlo al iniciar el sistema, por ejemplo.
Eso Casimiro, es una buena solución. Por supuesto hay que tener acceso al servidor.

Ahora lo que no me queda en claro que se puede hacer con la 'letra' obtenida.

Creo JordiP que nos haría falta la función API que menciona Casimiro; habrá que seguir buscando.

Saludos.
Responder Con Cita
  #8  
Antiguo 17-08-2010
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Perdon por mi ignorancia..
Pero si yo accedo a traves de un net Sharing o carpeta compartida o como sea..

desde mi equipo la ruta de acceso va a ser como la que te muestra en este caso windows. (LEtra de unidad Compartida \ carpeta o Ruta servidor \ Carpeta)

la mejor opcion que se me ocurre es la solucion que te dio Casimiro.

Porque salvo que estes utilizando alguna maquina Virtual (no se llama asi pero no recuerdo el nombre) como Citrix la aplicacion se ejecuta en tu equipo, alojado en la carpeta o ruta compartida. (no la real). (creo ojo.)
Responder Con Cita
  #9  
Antiguo 17-08-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Parecido a lo que te comentaba Casimiro, en un tabla de una base de datos puedes ir guardando el nombre de la aplicación y la ruta donde está instalada a la hora de instalar, cuando desde un terminal estes ejecutando la aplicación y quieras saber su ruta, como la aplicación se llamará igual, buscala por el nombre en la tabla por medio de una consulta y así podrás saber la dirección.

Un saludo.
Responder Con Cita
  #10  
Antiguo 20-08-2010
JordiP JordiP is offline
Miembro
 
Registrado: nov 2009
Posts: 48
Poder: 0
JordiP Va por buen camino
Gracias a todos, es lo que ya habia pensado y lo he puesto en marcha ya.

No creo que sea una chapuza, digamos que es una solución valida.

Garcias nuevamente amigos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener direccion , ruta completa de mi programa Peterman Varios 8 08-06-2007 12:25:13
Ruta completa de proceso locojoan API de Windows 6 31-10-2006 13:49:09
Sobre la ruta completa de un EXE oscjae API de Windows 6 25-07-2006 12:36:15
Obtener ruta completa pepecharlie67 Varios 4 02-01-2006 15:25:39
¿Siempre hay que poner la ruta completa de la base de datos que está en el servidor? Al González Firebird e Interbase 2 12-05-2004 22:06:25


La franja horaria es GMT +2. Ahora son las 01:14:33.


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
Copyright 1996-2007 Club Delphi