Hola buenos tardes:)
Tengo una pequeña duda he estado leyendo sus guias de hace un buen tiempo y se me ocurrio la idea de crear un launcher
para X cosa pero el problema llega cuando yo quiero usar los exe para ejecutarlo en su mismo directorio
el codigo que tengo en vb 6.0 lo llevo asi:)
Private Sub Command1_Click()
On Error GoTo error:
If Shell(App.Path & "\gta_sa.exe", vbNormalFocus) Then
Else
error:
MsgBox ("No se encontro el Archivo")
End If
hay se que tengo el código bien porque solo tengo que meter elProyecto.exe en la carpeta del juego..
la cosa cambia cuando lo que yo quiero hacer es Tener el proyecto.exe Fuera de la Carpeta del juego llame al juego igual pero espeficicando la carpeta..
Gracias Por la ayuda :)
El foro de vb es acá (http://foro.elhacker.net/programacion_visual_basic-b50.0/)
Y en lugar de usar App.Path, deberias guardar la ruta completa en un string (ya sea leyendo de un archivo de configuracion, por ejemplo)
Cita de: raul338 en 19 Septiembre 2011, 00:08 AM
El foro de vb es acá (http://foro.elhacker.net/programacion_visual_basic-b50.0/)
Y en lugar de usar App.Path, deberias guardar la ruta completa en un string (ya sea leyendo de un archivo de configuracion, por ejemplo)
Ok... Pero yo el juego lo tengo En una Carpeta en el usb :) y cada vez cambia la Letra eso seria un problema cuando por X cosa la Unidad me dejara de ser E:\
Por cierto:
si el foro de Vb es ese pero por ningun lado vi dudas o preguntas en el :) asi que la puse aca Si hay agun moderador que me haga el favor de mover el post Thanks so much
Como que no viste preguntas? :xD hay varios hilos con dudas ahí :P
Entonces, Te conviene tomar la unidad activa del App.Path (haciendo un Instr + Mid$ buscando los ":" para obtener la letra de la unidad) y de ahi agregarle la ruta relativa :P
Ej
Shell(strLetraUnidad & ":\Juegos\MiJueguito.exe")
Cita de: raul338 en 19 Septiembre 2011, 00:16 AM
.............................. Te conviene tomar la unidad activa del App.Path (haciendo un Instr + Mid$ buscando los ":" para obtener la letra de la unidad) y de ahi agregarle la ruta relativa :
ej:
Shell(strLetraUnidad & ":\Juegos\MiJueguito.exe")
no entendí :(
Lo que me quieres decir que es mas Facil App.path q llame la ubicacion donde esta ejecutando el Proyecto.exe y Verifique la Letra una vez verificada Dejarle el string con la Supuesta Ruta Por ejemplo "X:\Juegos\MiJueguito.exe") donde X sera La Variable de la Letra de la unidad...
Ok eso fue lo que :xD yo entendi pero no entendi como hacerlo : :-\
Entendiste bien, como hacerlo, ya te dije :xD con InStr y Mid$
Cita de: raul338 en 19 Septiembre 2011, 01:11 AM
Entendiste bien, como hacerlo, ya te dije :xD con InStr y Mid$
pero la cosa es que no se usar las funciones instr y mid :-\
Buenas GarnoX:
Al conectar la unidad flash al PC, la ruta de este archivo (el que ejecutará el juego) sería:
X:\Folder1
Y el path de gta_sa.exe sería:
X:\
Pues bien, si guardamos la ruta X:\Folder1 en una variable y logramos eliminar la siguiente parte: Folder1 y añadir la cadena de texto gta_sa.exe, lograremos la ruta del ejecutable gta_sa.exe, es decir: X:\gta_sa.exe
'Code by Herio
Dim var0 as String
'Cargamos la ruta en la variable var0
var0 = App.Path
'Modificamos la ruta, para conseguir la del gta_sa.exe
var0 = Replace(var0, "Folder1", "gta_sa.exe", , , vbTextCompare)
'Ejecutamos gta_sa.exe
Shell(var0)
Es algo primitivo, pero no es que tenga grandes conocimientos de Visual Basic 6.0 ... Aún así, espero que te ayude.
Un saludo,
atte. Herio
PD No lo he testeado.
pero usa la funcion left :P
si o si la letra de la unidad va a ser la primera desde la izquierda.
La segunda van a tener que ser los dos puntos :
y la tercera una contrabarra \
ej:
C:\Archivos de Programa\Te tiro el rayo
El primer caracter es "C"
El seguno caracter es ":"
y el tercero es "\"
Elemental Code tiene razón, yo ni me acordaba de la función left (la más simple y eficaz para lo que quieres hacer).
Para lograr la letra de la unidad te bastaría con:
Dim var0 as String
var0 = Left(App.Path, 1)
Por lo que solo faltaría sumarle a la variable var0 la ruta restante de gta_sa.exe
Aquí hay información sobre esta y otras funciones (muy simple):
http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico5.htm#left-mid-right (http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico5.htm#left-mid-right)
Un saludo,
atte. Herio
buenos chicos estoy haciendo experimentos :) si me sale bien les aviso :) :silbar: :silbar:
-----------------------------------------
edit: es buena idea que instale el CD de los msdn de visual basic 6 porque tengo instalado tanto el 6 como el net ultimaste 2010 :)