Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Abrir PDF Doble Click en DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=76693)

Lenny 18-11-2011 18:57:47

Abrir PDF Doble Click en DBGrid
 
Buenas y muchas gracias de antemano... Necesito abrir un PDF despues de hacer doble click sobre un DBGrid, les explico como:

En el DBGrid tengo variso datos, de los cuales con 3 necesito formar una cadena, por ejemplo:

AÑO / OBJETIVO / MES

Entre muchos datos mas pero esos son los mas importantes.
La idea es armar la cadena con estos datos al hacer doble Click en el DBGrid (En el casillero que indica el mes, identificando el nombre de la culumna "Mes" y el nombre almacenado en "Objetivo"), para con esto abrir un PDF que tendria el mismo nombre de la cadena... por ejemplo:

2011 / Optimizar Recursos / Diciembre

que abriria el PDF Guardado asi:
"C:\2011 Optimizar Recurzos Diciembre.pdf"


Me pueden echar una mano please???

Utilizo Delphi 2010, Zeos, MySQL, y las JVCL...

De antemano gracias, cualquier duda estare atento...

juanelo 18-11-2011 19:04:52

Prueba con ShellExecute. Saludos.

newtron 18-11-2011 19:12:41

Hola.

Podrías hacer algo parecido a esto, corrigiendo la forma de componer la variable Archivo a tu gusto:

Código Delphi [-]
procedure TNTForm.DBGridDocumentosDblClick(Sender: TObject);
var
Archivo: String;
begin
  Archivo:='C:\'+dbgrid.Fields[0].AsString+' Optimizar recursos '+dbgrid.Fields[1].AsString+'.pdf';
  ShellExecute(Handle, 'open', PChar(Archivo), '', '', SW_SHOW);
end;

Saludos

ecfisa 18-11-2011 19:31:34

Hola.

Otra opción, si lo tenes instalado (pestaña ActiveX), es mediante el componente TACroPDF.
Código Delphi [-]
procedure TForm1.DBGrid1DblClick(Sender: TObject);
const
  RUTA = 'C:\'; // lugar donde están los .PDF
begin
  with DBGrid1.DataSource.DataSet do
    ACroPDF1.LoadFile(RUTA +
                      FieldByName('AÑO').AsString +
                      FieldByName('OBJETIVO').AsString +
                      FieldByName('MES').AsString +
                      '.PDF');
end;
Pero en definitiva, la composición del nombre es similar a la que te sugierió antes newtron. (Ruta + campo_1 + campo_2 + campo_n + '.PDF')

Saludos.

newtron 18-11-2011 19:57:37

Ecfisa.

¿Y ese componente qué hace?

Lenny 18-11-2011 20:02:20

Ese componente te permite er PDF's en Delphi, en mi caso, asi lo tengo todo ordenado en un MDIForm...

Tengo mi codigo mas menos asi:

Código Delphi [-]
procedure TObjetivosCalidad.JvDBGrid1DblClick(Sender: TObject);
var
Archivo: String;
begin
 Archivo:= 'D:\ARCHIVOS\'+Edit1.Text+' '+JvDBGrid1.Columns.Grid.SelectedField.FieldName+' '+BDatos.ObjetivoCalidad_T.FieldbyName('ObjetivoCalidad').AsString+'.pdf';
if Inicio.AcroPDF1.Visible = False then
Inicio.AcroPDF1.Visible:= True;
Inicio.AcroPDF1.LoadFile(Archivo);


ATUALIZACION: Sorry, funcionaba todo ok, lo que pasa es que el texto tenia espacios al final, tonces al formar la cadena tomaba este espacio y quedaba mal, corregido y funcionando, muchisimas gracias por su ayuda!!! termine haciendo un hibrido entre todos sus cometarios, pero funciona de maravillas!!!

ecfisa 18-11-2011 20:22:07

Cita:

Empezado por newtron (Mensaje 418850)
Ecfisa.

¿Y ese componente qué hace?

Hola mi amigo.

Tal como dice lenny permite visualizar archivos .PDF dentro de tus aplicaciones, revisá este enlace.

Un saludo :)

newtron 19-11-2011 09:51:46

Ok, gracias :)


La franja horaria es GMT +2. Ahora son las 01:43:20.

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