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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  almacenar ruta y convertirla en una ruta global
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: almacenar ruta y convertirla en una ruta global  (Leído 1,959 veces)
rapbyone

Desconectado Desconectado

Mensajes: 173


Ver Perfil
almacenar ruta y convertirla en una ruta global
« en: 24 Junio 2014, 18:53 pm »

Amigos, recurro a ustedes para que me puedan ayudar a un problema que escapa de mi conocimiento, el cual es muy básico.

Lo que busco es lo siguiente, tengo un programa que trabaja muy bien, el único problema es que este programa trabaja bien solo cuando se instala en la carpeta de Archivos de programa, ya que las rutas las toma de por ejemplo:

Código:
Shell (Environ$("ProgramFiles") & "\apss\data\app.exe")

El problema se genera cuando alguien instala la aplicación en otro unidad o directorio, supongamos en una partición, el programa pierde su funcionalidad.

Para solucionar este problema, se me ocurre lo siguiente, al momento de iniciar por primera ves el programa, pida almacenar la ruta, en donde se instaló el programa, el usuario la selecciona a través de un "CommonDialog" y la ruta se almacena en un archivo .ini, supongamos la ruta "D:/apps"

y luego llamar esa ruta para ejecutar las funciones del programa, algo así como:
"
Código:
Dim Directorio As String
With CreateObject("WScript.Shell")
Directoriosave = "ruta almacenada en ini"
Shell (Dir$("Directoriosave ") & "\apss\data\app.exe")

el problema es como almacenar la ruta en un INI a través del CommonDialog

Yo tengo el siguiente código para hacer la verificación al iniciar el programa:

Código:
Private Sub Form_Load()
Dim Directorio As String
With CreateObject("WScript.Shell")
Directoriosave = .SpecialFolders("Mydocuments") & "\save\"
If Dir$(Directoriosave & "ruta.ini") <> "" Then
'la ruta esta almacenada, el programa sigue su funcionamiento normal
Else
'la ruta no esta creada, opción para que el usuario escoja la dirección **es lo que me falta hacer
End If
End With
End Sub

Pero me falta el poder almacenar la ruta en el ini, tengo el siguiente código, que hace algo similar, pero que ejecuta un .exe. si el exe no esta, abre una ventana para solicitar que el usuario lo escoja manualmente, luego almacena la ruta en un ini y después inicia el exe desde la ruta. Yo quiero hacer lo mismo, pero con un directorio, pero solo almacenar la ruta.

Código:
Private Sub Command1_Click()
Static Respuesta As String ' creamos una variable que no se pierde
If Respuesta = "" Then
If Dir(("C:/ruta.txt"), vbArchive) <> vbNullString Then
Open ("C:/ruta.txt") For Input As #1
Line Input #1, Respuesta
Close #1
Else
Respuesta = ("C:/notepad.exe")
End If
End If

If Dir(Respuesta, vbArchive) = vbNullString Then
CommonDialog1.Filter = "Archivos Ejecutables (*.exe)|*.exe"
CommonDialog1.ShowOpen
'si el usuario selecciona cancelar que salga del sub
If CommonDialog1.FileName = "" Then Exit Sub
Respuesta = CommonDialog1.FileName
Open ("C:/ruta.txt") For Output As #1
Print #1, CommonDialog1.FileName
Close #1
End If
ChDir Left$(Respuesta, Len(Respuesta) - Len(Dir$(Respuesta)))
Shell Respuesta, vbNormalFocus
End Sub

Gracias amigos, espero se entienda.


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.513


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: almacenar ruta y convertirla en una ruta global
« Respuesta #1 en: 24 Junio 2014, 20:04 pm »

Lo que busco es lo siguiente, tengo un programa que trabaja muy bien, el único problema es que este programa trabaja bien solo cuando se instala en la carpeta de Archivos de programa, ya que las rutas las toma de por ejemplo:

Código:
Shell (Environ$("ProgramFiles") & "\apss\data\app.exe")

El problema se genera cuando alguien instala la aplicación en otro unidad o directorio, supongamos en una partición, el programa pierde su funcionalidad.

App.path te devuelve el directorio donde esta ejecutandose el programa.

Pero me falta el poder almacenar la ruta en el ini, tengo el siguiente código, que hace algo similar, pero que ejecuta un .exe. si el exe no esta, abre una ventana para solicitar que el usuario lo escoja manualmente, luego almacena la ruta en un ini y después inicia el exe desde la ruta. Yo quiero hacer lo mismo, pero con un directorio, pero solo almacenar la ruta.

Verifica los valores de la propiedad Flags del CommonDialog para modificar el comportamiento del mismo y asi solicitar un folder en vez de un archivo.

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas en ruta de cd.
Juegos y Consolas
fandango 2 2,247 Último mensaje 10 Febrero 2005, 01:29 am
por fandango
OpenFileDialog + almacenar ruta?
Programación Visual Basic
SuperDraco 2 5,924 Último mensaje 13 Julio 2011, 17:37 pm
por SuperDraco
Subir imagen al servidor y almacenar la ruta en la base de datos
Desarrollo Web
antonioska 5 10,317 Último mensaje 15 Abril 2013, 11:10 am
por Phantasy
Ayuda con almacenar ruta
.NET (C#, VB.NET, ASP)
SγиtαxEяяoя 2 2,244 Último mensaje 13 Julio 2013, 19:03 pm
por Eleкtro
SRC de IMG a ruta de red
PHP
ZeroVzla 1 1,894 Último mensaje 22 Octubre 2013, 21:34 pm
por ZeroVzla
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines