Consultor Eletrônico



Kbase 13563: 4GL Sample using the ProPrint.DLL and _osprint
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   08/06/2005
Status: Verified

GOAL:

4GL Sample using the ProPrint.DLL and _osprint

FACT(s) (Environment):

Windows
Progress 8.x
Progress 9.x

FIX:


The following example shows how to use the ProPrint.DLL provided with
PROGRESS under MS-Windows to print a file:

/* Sample Call to ProPrint.DLL */

DEFINE VARIABLE cEditor AS CHARACTER NO-UNDO VIEW-AS EDITOR SIZE 10 BY 1.
DEFINE VARIABLE cFile AS CHARACTER NO-UNDO FORMAT "X(50)" VIEW-AS FILL-IN SIZE 35 BY 2.
DEFINE VARIABLE lReturn AS LOGICAL NO-UNDO.
DEFINE VARIABLE lPrinted AS LOGICAL NO-UNDO.
DEFINE VARIABLE hWidget AS HANDLE NO-UNDO.
DEFINE VARIABLE iFontNumber AS INTEGER NO-UNDO INITIAL 5.
DEFINE VARIABLE iUseDialog AS INTEGER NO-UNDO INITIAL 1.
DEFINE VARIABLE iPageSize AS INTEGER NO-UNDO INITIAL 20.
DEFINE VARIABLE iPageCount AS INTEGER NO-UNDO INITIAL 0.

DEFINE BUTTON BUTTON-1
LABEL "Press to Print" SIZE 15 BY 1.

DEFINE FRAME FRAME-A
cFile AT ROW 4 COL 15
BUTTON-1 AT ROW 14 COL 15
WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS
NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 82 BY 22.

ON CHOOSE OF BUTTON-1 IN FRAME FRAME-A
DO:
ASSIGN cFile = cFile:SCREEN-VALUE
hWidget = CURRENT-WINDOW.
RUN adecomm\_osprint.p (INPUT hWidget,
INPUT cFile,
INPUT iFontNumber,
INPUT iUseDialog,
INPUT iPageSize,
INPUT iPageCount,
OUTPUT lPrinted).
END.

MAIN-BLOCK:
DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
RUN enable_UI.
WAIT-FOR CLOSE OF THIS-PROCEDURE.
END.

PROCEDURE enable_UI:
ENABLE cFile BUTTON-1 WITH FRAME FRAME-A.
END PROCEDURE.