Como abrir un archivo con mi aplicacion. (parametros de ejectutable)
Buenas tardes amigos,.
Lo que pretendo es agregarle a cada archivo en el menu contextual , "abrir con" mi programa, , eso ya se como se hace, pero en mi programa tiene que recibir los parametros, para cuando se ejecute, abra efectivamente el archivo que lo llamo y lo cargue. Mi programa recibe un archivo jpg, ,,,como hago para pasarle el parametro que lo llamo? es decir, si la foto1.jpg, lo llamo, entonces, mi programa deberia cargar la foto1 al iniciarse...,,,,,, Alguien sabe como se puede hacer esto??? Muchas Gracias! |
Hola,
Si hablamos de Delphi puedes contar con algunas variables, donde recibes siempre la información que se pasa al programa por la línea de comandos, al ser ejecutado. Si no recuerdo mal tenemos "ParamsCount", que te indica el número de parámetros que se han pasado a tu ejecutable. Y luego contamos con la función "ParamStr", que, pasándole el índice de un parámetro, te retorna su valor. En "ParamStr(0)" siempre, y digo, siempre, tendrás la ruta completa de tu ejecutable. Y, a partir de ahí... el resto de parámetros. Por ejemplo: Código:
start C:\miprograma.exe "C:\archivo.jpg" |
Aplica esto si le dan doble click a un archivo jpg?
Como consulto ParamStr? podrias mostrarme un ejemplo sencillo? Muchas Gracias! |
Al abrir el ejecutable como tu dices, es como si hicieras esto, por ejemplo:
Cita:
La función ParamStr te devuelve ese valor si le pasas como parametro el 1 :), asi por ejemplo:
En la ayuda de delphi encontraras la información necesaria sobre dicha función ;). La función ParamStr te devuelve ese valor si le pasas como parametro el 1 :), asi por ejemplo:
En la ayuda de delphi encontraras la información necesaria sobre dicha función ;). |
:D, Veo que dec y JuanErasmo estan conectados con el foro el dia de hoy :D.
|
Muchas Gracias!
Muchas Gracias, Dec, y muchas Gracias Jhony!
Efectivamente asi lo hice! Saludos desde Medellin johny! Gracias! |
Cita:
|
necesito realizar lo mismo con un archivo reg al colocar abrir con mi.exe tome la ruta en mi edit.text o el opendialog
probe el codigo que dejaron ay pero no me funciono que hago mal?? gracias! |
Ese código no abre nada, solo te permite saber el primer parámetro con el que se ha abierto tu programa. A partir de ese dato tu programa debe saber que hacer, es decir, tu sabrás que es lo que pretendes realizar con ese parámetro.
Saludos. |
Cita:
abrir con>mi aplicacion el programa se abra y cargue el archivo ya que abre pero no carga el archivo quisiera saber como tomar la ruta he revisado en el foro y en google salen con paramstr pero no he encontrado ningun ejemplo claro Gracias de antemano!! |
Cita:
Te pongo un ejemplo muy simple. Sólo agregá un memo al form y el siguiente código:
Saludos. |
se puede hacer que carge al opendialog donde puse // he intentado pero no lo logro
|
Hola.
Pero no veo la necesidad de llamar TOpenDialog si ya se está enviando el nombre de archivo en ParamStr(1)... Un saludo. |
lo que pasa es que tengo todo referenciado a opendialog
un genio amigo !! asi quedo mi codigo muchas gracias!! |
Hola jonydread.
Se me ocurrió algo que quizá te pueda interesar incluir. Estando abierta tu aplicación y el explorador de windows simultaneamente, seleccioná un archivo desde el último, arrastralo y soltalo sobre el form de tu aplicación. Un saludo. :) |
muchas gracias amigo funcionando !!
al arrastrar un archivo a mi aplicacion he hecho que se inicie automaticamente el proceso y estoy tratando de implementar un dialogo final Completado!! y al presionar ok se cierre pero no me funciona muy bien en esta parte tengo el error hasta ay todo bien Aca el problema en esta linea no se la forma correcta de hacerla if ShellExecute(Handle, 'open', 'HAND.CMD', PChar(GetShortName(Opendialog1.FileName)), nil, SW_NORMAL)
gracias!! |
Hola.
Si queres evaluar el resultado de ShellExecute podrías hacer algo como:
Un saludo. |
muchas gracias me sirve el codigo pero solo quisiera saber si se ejecuto shellexecute
asi esta el codigo mas completo en esta linea tengo si el archivo no corresponde todo funciona ok y quisiera hacer lo mismo si se ejecuta shellexecute un dialogo, aceptar y cierre...
muchas gracias |
Cita:
Lo único que habría que hacer es agregarlo:
Pero no le encuentro sentido a estas líneas: El usuario recibe el mensaje 'Archivo inválido', no tiene otra opción que aceptar con el botón OK y luego de eso se termina la aplicación. Es decir no tiene sentido evaluar una condición de la que ya sabemos la respuesta... O directamente hacemos:
O si queremos la opinión del usuario:
Un saludo. |
Ok tienes razon gracias probare y comento como me fue...
|
La franja horaria es GMT +2. Ahora son las 06:30:39. |
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