AntesDeImp(oBrush1,oWnd,@vChkSI,@vChkVP,@IfImp) // Acá modifico los variables vChkSI y vChkVP
IF vChkSI
GetPrintDc()
ENDIF
IF vChkVP
REPORT oReport TITLE Titulo CENTER;
HEADER Empresa,Titulo2 LEFT;
FOOTER "Fecha:"+DTOC(Date())+" Hora:"+Time()+" Pagina:"+STR(oReport:nPage,3) RIGHT;
FONT oFont0,oFont1,oFont2,oFont3;
PREVIEW;
CAPTION "Vista previa del listado"
ELSE
REPORT oReport TITLE Titulo CENTER;
HEADER Empresa,Titulo2 LEFT;
FOOTER "Fecha:"+DTOC(Date())+" Hora:"+Time()+" Pagina:"+STR(oReport:nPage,3) RIGHT;
FONT oFont0,oFont1,oFont2,oFont3;
CAPTION "Vista previa del listado"
ENDIF
// PREGUNTO SI SELECCIONA IMPRESORA Y VE VISTA PREVIA Y POR DONDE SALE
Function AntesDeImp(oBrush,oDlg,vChkSI,vChkVP,IfImp)
Local oDlg1,Btn1,Btn2,oGet1,oFont1
oBrush1:=oBrush
DEFINE FONT oFont1 NAME "ROMAN" SIZE 0,-12 BOLD
DEFINE DIALOG oDlg1 RESOURCE "ANTESDEIMP1" OF oDlg ICON "A_ICONO1";
TRANSPARENT BRUSH oBrush1
REDEFINE CHECKBOX vChkSI ID 100 OF oDlg1
REDEFINE CHECKBOX vChkVP ID 101 OF oDlg1
REDEFINE BTNBMP Btn1 ID 200 OF oDlg1 RESOURCE "ACEPTAR22" LEFT;
ACTION IfImp:=.t., oDlg1:End();
PROMPT "Aceptar" 2007;
TOOLTIP "Aceptar" FONT oFont1
REDEFINE BTNBMP Btn2 ID 201 OF oDlg1 RESOURCE "CANCELAR22" LEFT;
ACTION IfImp:=.f., oDlg1:End();
PROMPT "Cancelar" 2007;
TOOLTIP "Cancelar" FONT oFont1
Btn1:bGotFocus :={|| Btn1:bClrGrad:=bClrGradGF,Btn1:refresh()}
Btn1:bLostFocus:={|| Btn1:bClrGrad:=bClrGradLF,Btn1:refresh()}
Btn2:bGotFocus :={|| Btn2:bClrGrad:=bClrGradGF,Btn2:refresh()}
Btn2:bLostFocus:={|| Btn2:bClrGrad:=bClrGradLF,Btn2:refresh()}
ACTIVATE DIALOG oDlg1 CENTERED
oFont1:End()
Return nil
//
IF algo
lPreview := (.T.)
ELSE
lPreview := (.F.)
ENDIF
REPORT oReporte CAPTION cTitulo lPreview
if lPreview
REPORT oRpt ... PREVIEW
else
REPORT oRpt ...
endif
Antonio Linares wrote:Manuel,
Yo propondría una pequeña variación del código de Armando, repitiendo solo la primera línea del comando:
- Code: Select all Expand view
if lPreview
REPORT oRpt ... PREVIEW
else
REPORT oRpt ...
endif
y el resto del código del reporte sin variación
If lSipreview
cPrev := "PREVIEW"
eLSE
cPrev := ""
EndIf
REPORT oRpt ... &cPrev
Willi Quintana wrote:Hola, es solo una idea:
Salu2
- Code: Select all Expand view
If lSipreview
cPrev := "PREVIEW"
eLSE
cPrev := ""
EndIf
REPORT oRpt ... &cPrev
<oReport> := RptBegin( {<{bTitle}>}, {<{bHead}>}, {<{bFoot}>},;
{<oFont>}, {<oPen>}, <.lSum.>, <cRptFile>, <cResName>,;
[<.toPrint.>], <.toScreen.>, <(toFile)>, <oDevice>, <cName>,;
[UPPER(<(TFmt)>)], [UPPER(<(HFmt)>)], [UPPER(<(FFmt)>)] )
Antonio Linares wrote:Manuel,
La solución es sencilla: usar el código ya preprocesado
- Code: Select all Expand view
<oReport> := RptBegin( {<{bTitle}>}, {<{bHead}>}, {<{bFoot}>},;
{<oFont>}, {<oPen>}, <.lSum.>, <cRptFile>, <cResName>,;
[<.toPrint.>], <.toScreen.>, <(toFile)>, <oDevice>, <cName>,;
[UPPER(<(TFmt)>)], [UPPER(<(HFmt)>)], [UPPER(<(FFmt)>)] )
Y reemplazar <.toScreen.> con una variable lógica lPreview
armando.lagunas wrote:function reporte( lImp )
local oPrn, oRpt
IF lImp ; PRINTER oPrn FROM USER PREVIEW
ELSE ; PRINTER oPrn
ENDIF
REPORT oRpt TITLE ...... < etc >...... TO DEVICE oPrn
...
...
RETURN nil
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 13 guests