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 02-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Abrir cualquier documento

Hola a tod@s!. Tengo unas fichas de personas, y lo que quiero saber es como hacer para que al hacer click en un boton se me abra el documento que tiene asociado una persona, ya sea word, excel, html, pdf o lo que sea. El nombre del documento sera codigo.doc, o codigo.html, etc, y codigo es el codigo de la persona que esta guardado en un campo de una tabla en una bd access, y que muestro en un DBEdit (conexion ADO). ¿Se puede hacer que me salga una vista previa de este documento como hace windows?. Gracias a tod@s.
Responder Con Cita
  #2  
Antiguo 02-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.287
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Busca ayuda sobre ShellExecute.

Código Delphi [-]
 ShellExecute(Self.Handle, 'open', PChar('codigo.doc'), nil, nil, 0);
 ShellExecute(Self.Handle, 'open', PChar('codigo.html'), nil, nil, 0);
 ...
 ShellExecute(Self.Handle, 'open', PChar(DBEdit1.Text), nil, nil, 0);
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 02-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
He encontrado esto

Hola Neftali. He encontrado el siguiente trozo de codigo:

ShellExecute(NULL, "open", DBECodigo->Text.c_str(), NULL, NULL, SW_SHOWNORMAL)

El problema que tengo es que en DBECodigo tengo el codigo de la persona que es el nombre del archivo, pero me falta la extension y la ruta hasta éste. He probado haciendo:

ShellExecute(NULL, "open", "expedientes/"+DBECodigo->Text.c_str()+".pdf", NULL, NULL, SW_SHOWNORMAL)

pero me da fallo. ¿Sabes cual es el problema?. Gracias por contestar tan rapido.
Responder Con Cita
  #4  
Antiguo 02-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.045
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código:
  "expedientes/"+DBECodigo->Text.c_str()+".pdf"
¿y eso devuelve una ruta y nombre correctas?, en principio, si es windows, la barra debe ir del revés '\'...
Responder Con Cita
  #5  
Antiguo 02-11-2005
Ivan_25 Ivan_25 is offline
Miembro
 
Registrado: oct 2005
Posts: 87
Poder: 19
Ivan_25 Va por buen camino
Me da fallo

Si utilizo

ShellExecute(NULL, "open", "expedientes/"+DBECodigo->Text.c_str()+".pdf",NULL, NULL, SW_SHOWNORMAL);

me da fallo de puntero no valido en el '+'.

Si utilizo

ShellExecute(NULL, "open", "expedientes\"+DBECodigo->Text.c_str()+".pdf",NULL, NULL, SW_SHOWNORMAL);

con la barra al reves me da varios fallos como cadena no terminada, o que me falta ->, etc..
Responder Con Cita
  #6  
Antiguo 02-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.045
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿y has probado a crear la cadena antes y luego pasarla al shellexecute?
Código:
 cVariable = "expedientes/" + DBECodigo->Text.c_str() + ".pdf";
  ShellExecute(NULL, "open",cVariable,NULL, NULL, SW_SHOWNORMAL);
de paso puedes ver qué hay realmente en cVariable.
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 14:23:28.


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