elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  como accedo al directorio raiz?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como accedo al directorio raiz?  (Leído 4,550 veces)
Legnak

Desconectado Desconectado

Mensajes: 61


("Programador");


Ver Perfil
como accedo al directorio raiz?
« en: 21 Enero 2014, 20:08 pm »

Hola, me gustaria que me dijesen como puedo utilizar el directorio raiz, me refiero al sitio donde esta el programa, que procedimiento debo usar?
por si no entienden es que lo necesito para abrir algunos PDF que he puesto en el mismo directorio del exe y quisiera saber cual es su directorio

Saludos


En línea

.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
Re: como accedo al directorio raiz?
« Respuesta #1 en: 21 Enero 2014, 21:11 pm »

Hola, me gustaria que me dijesen como puedo utilizar el directorio raiz, me refiero al sitio donde esta el programa, que procedimiento debo usar?
por si no entienden es que lo necesito para abrir algunos PDF que he puesto en el mismo directorio del exe y quisiera saber cual es su directorio

Saludos
Código
  1. Dim path As String
  2. path = System.IO.Path.GetDirectoryName( _
  3. System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

Fuente: http://msdn.microsoft.com/en-us/library/aa457089.aspx

Edito: El otro metodo no lo he probado asi que te dejo otro mas facil.
Código
  1. Private ReadOnly DirectorioActual As String = Directory.GetCurrentDirectory()

Saludos.


« Última modificación: 21 Enero 2014, 21:16 pm por .:Weeds:. » En línea


Legnak

Desconectado Desconectado

Mensajes: 61


("Programador");


Ver Perfil
Re: como accedo al directorio raiz?
« Respuesta #2 en: 21 Enero 2014, 22:11 pm »

gracias!
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: como accedo al directorio raiz?
« Respuesta #3 en: 21 Enero 2014, 22:46 pm »

tambien prueba usando:

Código
  1. Dim Directorio As string
  2. Directorio = Application.StartupPath
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: como accedo al directorio raiz?
« Respuesta #4 en: 21 Enero 2014, 22:49 pm »

Hola

No es lo mismo el directorio de trabajo actual (WirkingDirectory), que el directorio donde se encuentra el ensamblado, ya que el primero no es estático y se puede modificar.

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
EDITO: Lo que dijo el compañero El Benjo es lo correcto.

Para obtener el directorio de inciio de la aplicación puedes utilizar este método:
Código
  1. Application.StartupPath

Y para averiguar el directorio de trabajo actual...bueno, esto es complétamente innecesario a menos que modifiques intencionadamente el directorio de trabajo en algun lugar del código y que por ese motivo debas controlar los cambios de directorio.

...Por ejemplo:

Código
  1. Dim Archivo As String = "Archivo.pdf"

...al momento que vayas a usar la variable Archivo para ejecutarlo, cargarlo, pasarlo como parámetro a un método, o lo que estés haciendo, ya se toma en cuenta el directorio de trabajo actual, porque ese es el directorio actual.

Es decir, lo de arriba, es exáctamente lo mismo que hacer esto:

Código
  1. Dim Archivo As String = IO.Path.Combine(IO.Directory.GetCurrentDirectory, "Archivo.pdf")
  2. Dim Archivo As String = IO.Path.Combine(Application.StartupPath, "Archivo.pdf")
  3. Dim Archivo As String = IO.Path.Combine(My.Application.Info.DirectoryPath, "Archivo.pdf")
  4. Dim Archivo As String = IO.Path.Combine(CurDir(), "Archivo.pdf")
  5. Dim Archivo As String = ".\Archivo.pdf"
  6.  
  7. Dim DirectorioActual As String = "" ' Nada

Así que se puede decir que no necesitas especificar el directorio de trabajo.

Saludos!
« Última modificación: 21 Enero 2014, 22:59 pm por Eleкtro » En línea



Legnak

Desconectado Desconectado

Mensajes: 61


("Programador");


Ver Perfil
Re: como accedo al directorio raiz?
« Respuesta #5 en: 21 Enero 2014, 23:26 pm »

gracias a todos por sus respuestas  ;D
En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: como accedo al directorio raiz?
« Respuesta #6 en: 21 Enero 2014, 23:40 pm »

De todas formas aquí tienes un método (muy simple) de uso genérico:

Código
  1.    ' [ Get Application Path ]
  2.    ' ( By Elektro )
  3.    '
  4.    ' Usage Examples :
  5.    ' MsgBox(GetApplicationPath())
  6.    ' MsgBox(GetApplicationPath(True))
  7.  
  8.    ''' <summary>
  9.    ''' Gets the startup application path.
  10.    ''' </summary>
  11.    ''' <param name="FullPath">
  12.    ''' if set to <c>true</c> returns the full path,
  13.    ''' otherwise only returns the directory path.
  14.    ''' </param>
  15.    ''' <returns>System.String.</returns>
  16.    Private Function GetApplicationPath(Optional ByVal FullPath As Boolean = False) As String
  17.  
  18.        Select Case FullPath
  19.  
  20.            Case True
  21.                Return IO.Path.Combine(My.Application.Info.DirectoryPath(),
  22.                                       Process.GetCurrentProcess().MainModule.ModuleName)
  23.  
  24.            Case Else
  25.                Return My.Application.Info.DirectoryPath
  26.  
  27.        End Select
  28.  
  29.    End Function

PD: Utilizo los métodos de My.application porque son compatibles con proyectos de todo tipo sin tener que importar referencias.

Saludos
En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines