PDA

Ver la versión completa : Una Pregunta Sobre Visual Basic 6!!!



Molina7
18-10-2007, 19:07
Wenas!!!
Llevo muy poco programando en vb6 (Y programando en general) y tengo una duda que aver si me podeis ayudar.
Pues bien, soy admin de un servidor de un juego y me han pedido programar un Launcher propio del server para el juego.
El Launcher es simple.. es un formulario con un botón imagenes etc... el problema es el botón k ejecuta el juego, al principio empeze por probar eso dandole la ruta de la aplicación y funcionó, pero pensé que no todo el mundo tiene la aplicacion en la misma ruta, así que idee otro sistema, se trata de que cuando se aprieta el botón coja la ruta de la ubicación señalada por el usuario de un listbox que hay previamente, lo probe y funciona de perlas y no hay problema, pero me gustaría hacerlo más cómodo y quería preguntaros como hacer que al iniciar la aplicación (Form_Load) se guarde la ruta en donde está ubicado el propio programa, de ésta manera al apretar el botón de jugar, se diera esto: Shell(Variabledelaruta, "\juego.exe) que quedaría como string por ejemplo; C\Archivos de programa\Juegos\Juego.exe y entonces funcionaría sin tener el usuario que indicar en que carpeta está la aplicación del juego.

Espero que alguien pueda ayudarme y si sabéis una opción mejor, por ejemplo que directamente el programa buscase la ruta de la aplicación a ejecutar y de ahi al apretar el boton se ejecutase.

Muchas Gracias, Saludos!!!

Cypress
19-10-2007, 05:18
a ver si esto te sirve:


Private Sub FROM_Load()
OPEN "c:\ruta.qwe" RANDOM AS #1
CLOSE#1
OPEN "c:\ruta.qwe" INPUT AS #1
ON ERROR RESUME NEXT
READ #1, variable
CLOSE#1;
IF variable = "" THEN
textbox.visible = TRUE
ELSE
REM variable ya tiene la ruta
END IF;
END;

' En el command button

Private Sub Command1_Click()
OPEN "c:\ruta.qwe" FOR OUTPUT AS #1
Write #1, text1.text
CLOSE#1
' corre el programa con text1.text
END;


Bien, más o menos me lo imagine así, tenes un formulario, donde tenes una caja de texto ( text1 ) y un botton ( command1 )
Lo que haces al apretar el boton, es crear un archivo, que contiene la ruta indicada. en este caso el archivo es ruta.qwe

Ahora en el Form_Load. lo que hace es crear un archivo con Random. Luego entra a ese archivo, con Open Input, mete lo que haya en ese archivo, lo deposita en 'variable' si el archivo no llega a tener nada, saltaría un error, por eso está el On error resume.
Bien, ahora el if se fija si variable es vacia, y en el caso positivo pone visible la caja de texto ( me imagine que al prinicipio estaba invisible ) en el caso contrario, ejecuta el archivo, eso vos sabes como hacerlo, yo no :S

POnes solo la ruta y lo ejecuta sin ningun comando ??? que raro :S

Bueno, espero que te sirva, y no sé si se entiende la explicación :S xD

Saludos,
Cypress

gondar_f
24-10-2007, 22:49
En Visual Basic 6 debería servirte algo por el estilo de:


Dim rutaejecutable As String
rutajecutable = App.path & "\Aplicacion.extension"

donde Aplicación.extensión es el nombre de tu ejecutable y su extensión, si solo necesitas la ruta de la carpeta con App.path ya está.

En cambio en .NET:


Dim rutaejecutable As String
rutaejecutable = """" & Application.ExecutablePath & """"

y en ruta ejecutable guardas la ruta completa, incluido la ruta del ejecutable (con lo cal si solo quieres la ruta sin ejecutable es cuestión elimiar desde la última barra \).

Un Saludo

shirounsu
24-11-2007, 17:47
oye sigue los otros consejos
con solo cargar el form
pon que te recoja la ruta
como
Form_load()
Dim ruta as String
ruta ="'" & app.path & "\archivo.entension" & "'"
----las comillas y el apostrofe es por en caso de que no acepta la variable por ser string " ' " ---
end sub