Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1271722
  • 博文数量: 287
  • 博客积分: 11000
  • 博客等级: 上将
  • 技术积分: 3833
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-16 08:43
文章分类
文章存档

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2010-06-11 09:50:18

Qsn........ (DSM Api's)
 
FDSMREADPT O    E             PRINTER
*
D Str             S              4  0 inz(1)
**-- Global variables:  -------------------------------------------------**
D InpBufHdl       s             10i 0
D InpDtaPtr       s               *
**-- Parameters:  -------------------------------------------------------**
D Parm            Ds
D Row                           10i 0
D Col                           10i 0
D NbrBytRtn                     10i 0
D Screen                      3564a
**-- Prototype for DSM API's:  ------------------------------------------**
D GetCsrAdr       Pr            10i 0 ExtProc( 'QsnGetCsrAdr' )
D  Row                          10i 0
D  Col                          10i 0
D  LlvEnvHdl                    10i 0 Const  Options( *Omit )
D  ApiError                   1024a          Options( *Omit: *VarSize )
**
D CrtInpBuf       Pr            10i 0 ExtProc( 'QsnCrtInpBuf' )
D  InpBufSiz                    10i 0 Const
D  BufIncSiz                    10i 0 Const  Options( *Omit )
D  BufMaxSiz                    10i 0 Const  Options( *Omit )
D  InpBufHdl                    10i 0        Options( *Omit )
D  ApiError                   1024a          Options( *Omit: *VarSize )
**
D ReadScr         Pr            10i 0 ExtProc( 'QsnReadScr' )
D  NbrBytRead                   10i 0        Options( *Omit )
D  InpBufHdl                    10i 0 Const  Options( *Omit )
D  CmdBufHdl                    10i 0 Const  Options( *Omit )
D  LlvEnvHdl                    10i 0        Options( *Omit )
D  ApiError                   1024a          Options( *Omit: *VarSize )
**
D RtvDta          Pr              *   ExtProc( 'QsnRtvDta' )
D  InpBufHdl                    10i 0 Const
D  InpDtaPtr                      *          Options( *Omit )
D  ApiError                   1024a          Options( *Omit: *VarSize )
**
D*Beep            Pr            10i 0 ExtProc( 'QsnBeep' )
D* CmdBufHdl                    10i 0 Const  Options( *Omit )
D* LlvEnvHdl                    10i 0 Const  Options( *Omit )
D* ApiError                   1024a          Options( *Omit: *VarSize )
**
D DltBuf          Pr            10I 0 ExtProc( 'QsnDltBuf' )
D  BufferHdl                    10I 0 Const
D  ApiError                   1024a          Options( *Omit: *VarSize )
**--
D MemCpy          Pr              *   ExtProc( 'memcpy' )
D pOutMem                         *   Value
D pInpMem                         *   Value
D InpMemSiz                     10u 0 Value
**************************************************************************
* $GetScrn
**************************************************************************
C     $GetScrn      BEGSR
C                   Eval      InpBufHdl  =  CrtInpBuf( 27 * 132
C                                                    : *Omit
C                                                    : *Omit
C                                                    : *Omit
C                                                    : *Omit )
*
C                   CallP     GetCsrAdr( Row
C                                      : Col
C                                      : *Omit
C                                      : *Omit )
*
C                   Eval      NbrBytRtn  =  ReadScr( *Omit
C                                                  : InpBufHdl
C                                                  : *Omit
C                                                  : *Omit
C                                                  : *Omit )
*
C                   Eval      InpDtaPtr  =  RtvDta( InpBufHdl
C                                                 : *Omit
C                                                 : *Omit )
*
C                   CallP     MemCpy( %Addr( Screen )
C                                   : InpDtaPtr
C                                   : NbrBytRtn  )
*
C*                  CallP     Beep( *Omit
C*                                : *Omit
C*                                : *Omit )
*
C                   CallP     DltBuf( InpBufHdl: *Omit )
*
C                   ENDSR
**************************************************************************
* $PrtScrn
**************************************************************************
C     $PrtScrn      BEGSR
*
C                   dow       Str < %len(%trim(Screen))
C                   eval      PT80 =  %subst(Screen:Str:80)
C                   write     RDSMREAD
C                   eval      Str = Str + 80
C                   enddo
*
C                   ENDSR
**************************************************************************
* *INZSR
**************************************************************************
C     *INZSR        BEGSR
*
C                   exsr      $GetScrn
C                   exsr      $PrtScrn
C                   eval      *INLR = *ON
*
C                   ENDSR
阅读(699) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~