Cargar y mostrar un archivo PDF RESUELTO

Re: Cargar y mostrar un archivo PDF

Postby karinha » Thu Feb 27, 2014 5:27 pm

Armando, comenta // esto:

oBrx:bKeyCount := {|| oRsAdj:RecordCount() }

Que retorna ahora?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7352
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cargar y mostrar un archivo PDF

Postby karinha » Thu Feb 27, 2014 6:09 pm

Complete el codigo abajo, conforme tu modelo.

Y envia por correo: joao@pleno.com.br

en archivo.zip

Gracias,

Code: Select all  Expand view

#include "FiveWin.ch"
#include "xbrowse.ch"

function Main()

   local oDlg, oBrw, nKey := VK_RETURN

   DEFINE DIALOG oDlg SIZE 300, 200

   @ 0, 0 XBROWSE oBrw OF oDlg ARRAY { { "one","two","three" } } AUTOCOLS
     
   oBrw:CreateFromCode()

   oBrw:nMarqueeStyle          := MARQSTYLE_HIGHLROW       // Con cursor de todo el renglón
   oBrw:nColDividerStyle       := LINESTYLE_LIGHTGRAY
   oBrw:nRowDividerStyle       := LINESTYLE_LIGHTGRAY  // ok

   oBrw:lColDividerComplete    := (.F.)                            // (.T.) Matiene siempre llena la pantalla

   oBrw:nHeaderHeight          := 25                               // Altura de los encabezados
   oBrw:nRowHeight             := 22                               // Altura del renglón

   oBrw:nHeaderLines           := 1                                // Número de líneas de encabezados
   oBrw:nDataLines             := 1                                // Número de líneas de detalle
   oBrw:nFooterHeight          := 20                               // Altura del footer
   oBrw:nFooterLines           := 1                                // Número de líneas en el footer
   oBrw:lFooter                := (.T.)                            // Sí queremos línea de footer
   oBrw:lHScroll               := (.F.)                            // Quitamos el scroll horizontal
   oBrw:bChange                := { || PonImagen(oFld,oBrw,oImagen) }

   /* // ????
   aCols[ 1]                   := oBrw:AddCol()

   aCols[ 1]:bStrData          := { || IF(oRsAdj:RecordCount() > 0,oRsAdj:Fields("ADJ_FIL"):Value,SPACE(1))}

   aCols[ 1]:cHeader           := "Nombre del archivo"
   aCols[ 1]:nHeadStrAlign     := AL_LEFT
   aCols[ 1]:nDataStrAlign     := AL_LEFT
   aCols[ 1]:nWidth                := 70
   */


   oBrw:l2007                  := (.F.)
   oBrw:nStretchCol            := STRETCHCOL_LAST

   // ???
   oBrw:bClrHeader := { || {CLR_WHITE,CLR_BLACK} }
   oBrw:bClrStd    := { || {CLR_BLACK,CLR_WHITE} }
   oBrw:bClrFooter := { || {CLR_WHITE,CLR_BLACK} }

   // ???
   // oBrw:nRecSelColor   := oApp:nRowParClr                  // Triangulo de selección

   oBrw:bClrSel        := { || {CLR_BLACK,CLR_WHITE} }

   // ???
   //oBrw:bClrSel        := {|| IF( oRsAdj:AbsolutePosition % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
   //oBrw:bClrSelFocus   := { || {oApp:nFClrFocus,oApp:nBClrFocus} }

   oBrw:bGoTop     := { || IF( ! oRsAdj:BOF() .AND. ! oRsAdj:EOF(), oRsAdj:MoveFirst(), ) }
   oBrw:bGoBottom  := { || IF( ! oRsAdj:BOF() .AND. ! oRsAdj:EOF(), oRsAdj:MoveLast(), ) }

   oBrw:bBof       := { || oRsAdj:BOF() }
   oBrw:bEof       := { || oRsAdj:EOF() }

   // ???
   // oBrw:bBookMark  := { | uBm | IF( oRsAdj:BOF() .AND. oRsAdj:EOF(), 0, IF( uBm == NIL, oRsAdj:BookMark, oRsAdj:BookMark := uBm ) ) }
   // oBrw:bKeyNo     := { | n | IF( oRsAdj:BOF() .AND. oRsAdj:EOF(), 0, IF( n == NIL, oRsAdj:AbsolutePosition, oRsAdj:AbsolutePosition := n ) ) }
   // oBrw:bKeyCount  := {|| oRsAdj:RecordCount() }

   // ????
   // oBrw:SetAdo(oRsAdj)
   // oBrw:bClrStd    := {|| IF( oRsAdj:AbsolutePosition % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
   // oBrw:nRecSelColor   := oApp:nRowParClr

   oBrw:bKeyDown   = { | nKey, nFlags | IIF( nKey == VK_DELETE, DltAdj( oDlg, oBrw ), ) }

   oBrw:bLDblClick = { | nRow, nCol, nFlags | MsgInfo( "Left Doble Click" ) }
     
   ACTIVATE DIALOG oDlg CENTER ON INIT ( oDlg:oClient := oBrw, oDlg:Resize() )

return nil

Static function DltAdj( oDlg, oBrw )

   ? "Wow... Go on..."

   oBrw:Refresh()

Return Nil

function PonImagen(oFld,oBrw,oImagen)

return nil
 


Salu2.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7352
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cargar y mostrar un archivo PDF

Postby Armando » Thu Feb 27, 2014 6:27 pm

Karinha:

Ajustando tu ejemplo con array funciona bien, yo uso recordset y ahí ya no funciona.

Que deseas que te envíe?

Saludos y en verdad aprecio tu esfuerzo
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3084
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cargar y mostrar un archivo PDF

Postby karinha » Thu Feb 27, 2014 6:44 pm

No uso xbrowse, que hace recordset? És necesario mismo?

Mira en \samples\TESTXBR3.PRG si ayuda.

No necesita enviar un ejemplo autocontenido.

Salu2.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7352
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cargar y mostrar un archivo PDF

Postby Armando » Thu Feb 27, 2014 6:54 pm

Karinha:

Usando el mismo código solo cambiando a una de estas dos líneas
Code: Select all  Expand view

oBrx:blDblClick             := { | nRow, nCol, nKey | Editar(oBrx)}
//oBrx:blDblClick           := { | nRow, nCol, nKey | MuestraPDF(oBrx) }
 


Con la primera línea funciona de 100 pero
Con la segunda línea se queda congelado, tengo que ir al administrador de tareas. :?

Este es el código de la función MuestraPDF, no me muestra el MsgInfo("HOLA")
Code: Select all  Expand view

/*
============================================================================
============================================================================
*/

STATIC FUNCTION MuestraPDF()
   LOCAL oWndPdf, oPdf, cTmp, cFilePdf

    MsgInfo("HOLA! ")
RETURN(.T.)
 


El recordset es para trabajar tablas con MySql.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3084
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cargar y mostrar un archivo PDF

Postby karinha » Thu Feb 27, 2014 7:03 pm

Cambie para:

PRIV nKey := VK_RETURN

Code: Select all  Expand view

FUNCTION EditarPDF( oBrx )

   LOCAL oWndPdf, oPdf, cTmp, cFilePdf

    MsgInfo("HOLA! ")

RETURN(.T.)
 


salu2.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7352
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cargar y mostrar un archivo PDF

Postby Armando » Thu Feb 27, 2014 8:00 pm

Karinha:

Tal parece que el problema va entre diálogos y ventanas, finalmente lo estoy resolviendo con un simple

WaitRun()

En verdad aprecio todo el tiempo e interés por ayudarme.

Un abrazo
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3084
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cargar y mostrar un archivo PDF RESUELTO

Postby cnavarro » Thu Feb 27, 2014 8:13 pm

Armando, la data aCols[ 1]:bLDClickData, creo que equivale al lDblClick que estabas usando
Habia entendido que tenías problemas en dicha data (no mostraba el mensaje "YES")
Lo que intentas hacer es que de una base de datos con los nombres de archivos .PDFs seleccionas con el raton para mostrarlo, es asi ?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Cargar y mostrar un archivo PDF RESUELTO

Postby Armando » Thu Feb 27, 2014 9:52 pm

Cristóbal:

Exacto, eso busco, que el usuario de un doble clic al renglón del browse que contiene
el nombre del fichero PDF a abrir y que este se abra con Acrobat Reader.

Como mencioné, con el mortal WaitRun() lo solucioné.

Como dice nuestro amigo R.F. "Estaba matando pulgas a cañonazos!."

Saludos y gracias por el aporte.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3084
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 43 guests