Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Abrir archivo

Hola a tod@s!!!. ¿Como puedo hacer para que al abrir un archivo, por ejemplo un jpg, lo abra con la aplicacion que yo quiera?. La sentencia que yo ejecuto para abrir un archivo es esta, pero me lo abre con la aplicacion por defecto:

ShellExecute(NULL, "open", rutanombre1.c_str() ,NULL, NULL, SW_SHOWNORMAL);

Gracias
__________________
Un saludo.

Iván.
Responder Con Cita
  #2  
Antiguo 09-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
No veo el problema...

he probado esto y funciona perfectamente:

Cita:
String aux;
aux = "c:\\escudo.jpg";
ShellExecute(NULL, "open","c:\\WINDOWS\\system32\\mspaint.exe", aux.c_str(), NULL, SW_SHOWNORMAL);
Y lo abre con el programa que esta puesto, es decir, el paint brush. Si solo pones open, lo abre con el por defecto, si le pones un programa, lo abre con el programa, y en parametros, el nombre del archivo.
__________________
Un saludo

Antonio
Responder Con Cita
  #3  
Antiguo 09-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Gracias Antoñicoooooooooo!!!!Y a ver si quedamos ya para lo de SI.
__________________
Un saludo.

Iván.
Responder Con Cita
  #4  
Antiguo 09-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
pos esta tarde sin falta!!!

voy a mandar un email al "welcome" a ver si va a estar esta tarde...
__________________
Un saludo

Antonio
Responder Con Cita
  #5  
Antiguo 09-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Mejor mañana, que yo esta tarde no puedo.
__________________
Un saludo.

Iván.
Responder Con Cita
  #6  
Antiguo 09-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Y otra cosa

El ShellExecute me falla con archivos xls y ppt, me dice que la ruta no es correcta, y sin embargo con todas las otras extensiones si me abre el archivo.

ShellExecute(NULL, "open", rutanombre1.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre2.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre3.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre4.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre5.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre6.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre7.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre8.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre9.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre10.c_str() ,NULL, NULL, SW_SHOWNORMAL);
ShellExecute(NULL, "open", rutanombre11.c_str() ,NULL, NULL, SW_SHOWNORMAL);

¿Podria hacer para que en lugar de hacer el shellexecute para todas las extensiones y la que sea se abra, buscar el nombre del archivo en un directorio, aunque no conozca la extension?Solo conozco el nombre.
__________________
Un saludo.

Iván.
Responder Con Cita
  #7  
Antiguo 09-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
No entiendo la pregunta...pero si lo que quieres es que el usuario seleccione un archivo del disco duro y se abra automaticamente...posssss es muy facil...

Tienes que usar el componente TOpenDialog...con eso te permite abrir un dialogo de abrir archivo,imagen...cuando el usuario selecciona el archivo, en una variable tienes el nombre completo del archivo. Entonces solo tienes que hacer un shellexecute de ese archivo...y listo!!!

Que facil es la informatica!!
__________________
Un saludo

Antonio
Responder Con Cita
  #8  
Antiguo 09-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Nononono, no es eso. Veras, yo tengo un formulario con un dbgrid, donde muestro un monton de gente, entonces selecciono uno y me aparecen todos sus datos en otro formulario, donde tengo un boton que es 'Abrir curriculum'. El curriculum puede ser xls, ppt, doc, etc...pero se tiene que abrir automaticamente el asignado a esa persona sin buscarlo. ¿Me entiendes?. Yo hago eso con shellexecute de la manera que te he puesto antes, pero los xls y los ppt no se me abren, me dice que falla la ruta, y todos los demas si funcionan y son todos iguales. He copiado los xls y los ppt en la carpeta del ejecutable y entonces si me los abre, pero los he de tener en la carpeta expedientes. ¿Entiendes lo que digo?. ¿Sabes porque falla concretamente en esos dos?
__________________
Un saludo.

Iván.
Responder Con Cita
  #9  
Antiguo 09-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
posssssss comprobado que funciona:

Cita:
ShellExecute(NULL, "open", "C:\\a.xls" ,NULL, NULL, SW_SHOWNORMAL);
Asi que comprueba que la ruta del excel y el power point y to eso es la correcta...pq tendria que funcionar!!!
__________________
Un saludo

Antonio
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:47:48.


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
Copyright 1996-2007 Club Delphi