From 11b824d53b223782fe2d22c05d6d24a8be7e4940 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 2 Feb 2009 21:45:25 +0000 Subject: [PATCH] 2009-02-02 22:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbct/fcopy.prg * contrib/hbtpathy/telepath.prg * contrib/hbziparc/hbziparc.prg * contrib/rddado/adordd.prg * contrib/gtwvg/wvgpaint.prg * contrib/gtwvg/tests/demowvg.prg * contrib/hbpgsql/pgrdd.prg * contrib/hbwin/win_tole.prg * contrib/hbvpdf/hbvpdf.prg * contrib/hbwhat/wincore.prg * Renamed THREAD STATIC vars to t_* (from s_*). --- harbour/ChangeLog | 13 + harbour/contrib/gtwvg/tests/demowvg.prg | 124 +-- harbour/contrib/gtwvg/wvgpaint.prg | 78 +- harbour/contrib/hbct/fcopy.prg | 60 +- harbour/contrib/hbpgsql/pgrdd.prg | 36 +- harbour/contrib/hbtpathy/telepath.prg | 164 ++-- harbour/contrib/hbvpdf/hbvpdf.prg | 992 ++++++++++++------------ harbour/contrib/hbwhat/wincore.prg | 8 +- harbour/contrib/hbwin/win_tole.prg | 6 +- harbour/contrib/hbziparc/hbziparc.prg | 17 +- harbour/contrib/rddado/adordd.prg | 58 +- 11 files changed, 784 insertions(+), 772 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 8edcc73d39..bc913c5b5b 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,19 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-02-02 22:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbct/fcopy.prg + * contrib/hbtpathy/telepath.prg + * contrib/hbziparc/hbziparc.prg + * contrib/rddado/adordd.prg + * contrib/gtwvg/wvgpaint.prg + * contrib/gtwvg/tests/demowvg.prg + * contrib/hbpgsql/pgrdd.prg + * contrib/hbwin/win_tole.prg + * contrib/hbvpdf/hbvpdf.prg + * contrib/hbwhat/wincore.prg + * Renamed THREAD STATIC vars to t_* (from s_*). + 2009-02-02 17:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * doc/cmpopt.txt ! Fixed missing SVN keyword. diff --git a/harbour/contrib/gtwvg/tests/demowvg.prg b/harbour/contrib/gtwvg/tests/demowvg.prg index 50107730fe..9abe184179 100644 --- a/harbour/contrib/gtwvg/tests/demowvg.prg +++ b/harbour/contrib/gtwvg/tests/demowvg.prg @@ -108,25 +108,25 @@ MEMVAR cCdxExp, First, Last, City //-------------------------------------------------------------------// -thread static wvtScreen := {} -thread static pic_:= { , , , , , , , , , , , , , , , , , , , } -thread static keys_:= { , , , , , , , , , , , , , , , , , , , } +thread static t_wvtScreen := {} +thread static t_pic_:= { , , , , , , , , , , , , , , , , , , , } +thread static t_keys_:= { , , , , , , , , , , , , , , , , , , , } -thread static ahFonts := {} -thread static aSlides := {} -thread static shIcon, shImage +thread static t_ahFonts := {} +thread static t_aSlides := {} +thread static t_hIcon, t_hImage #ifdef __XCC__ -static paint_:= { { "", {} } } +static s_paint_:= { { "", {} } } #endif -static pGT_:= { NIL,NIL,NIL } +static s_pGT_:= { NIL,NIL,NIL } //-------------------------------------------------------------------// EXIT PROCEDURE KillGTs() - pGT_[ 1 ] := NIL - pGT_[ 2 ] := NIL - pGT_[ 3 ] := NIL + s_pGT_[ 1 ] := NIL + s_pGT_[ 2 ] := NIL + s_pGT_[ 3 ] := NIL RETURN //----------------------------------------------------------------------// @@ -173,7 +173,7 @@ PROCEDURE Main() hPopup := Wvt_SetPopupMenu() oMenu := CreateMainMenu() - pGT_[ 1 ] := hb_gtSelect() + s_pGT_[ 1 ] := hb_gtSelect() // Force mouse pointer right below the xHarbour label // @@ -297,7 +297,7 @@ PROCEDURE Main() Wvt_SetPopupMenu( hPopup ) Popups( 1, .t. ) - pGT_[ 1 ] := NIL + s_pGT_[ 1 ] := NIL RETURN //-------------------------------------------------------------------// @@ -457,25 +457,25 @@ PROCEDURE WvtNextGets_X() FUNCTION WvtSetKeys( lSet ) if lSet - keys_[ 2 ] := SetKey( K_F2, {|| WvtNextGets() } ) - keys_[ 3 ] := SetKey( K_F3, {|| WvtWindowExpand( 1 ) } ) - keys_[ 4 ] := SetKey( K_F4, {|| WvtWindowExpand( -1 ) } ) - keys_[ 5 ] := SetKey( K_F5, {|| WvtMyBrowse() } ) - keys_[ 6 ] := SetKey( K_F6, {|| Wvt_Minimize() } ) - keys_[ 7 ] := SetKey( K_F7, {|| WvtPartialScreen() } ) - keys_[ 8 ] := SetKey( K_F8, {|| WvtLines() } ) - keys_[ 9 ] := SetKey( K_F9, {|| Wvt_ChooseFont() } ) - keys_[ 10] := SetKey( K_F10,{|| Wvt_ChooseColor() } ) + t_keys_[ 2 ] := SetKey( K_F2, {|| WvtNextGets() } ) + t_keys_[ 3 ] := SetKey( K_F3, {|| WvtWindowExpand( 1 ) } ) + t_keys_[ 4 ] := SetKey( K_F4, {|| WvtWindowExpand( -1 ) } ) + t_keys_[ 5 ] := SetKey( K_F5, {|| WvtMyBrowse() } ) + t_keys_[ 6 ] := SetKey( K_F6, {|| Wvt_Minimize() } ) + t_keys_[ 7 ] := SetKey( K_F7, {|| WvtPartialScreen() } ) + t_keys_[ 8 ] := SetKey( K_F8, {|| WvtLines() } ) + t_keys_[ 9 ] := SetKey( K_F9, {|| Wvt_ChooseFont() } ) + t_keys_[ 10] := SetKey( K_F10,{|| Wvt_ChooseColor() } ) else - SetKey( K_F2, keys_[ 2 ] ) - SetKey( K_F3, keys_[ 3 ] ) - SetKey( K_F4, keys_[ 4 ] ) - SetKey( K_F5, keys_[ 5 ] ) - SetKey( K_F6, keys_[ 6 ] ) - SetKey( K_F7, keys_[ 7 ] ) - SetKey( K_F8, keys_[ 8 ] ) - SetKey( K_F9, keys_[ 9 ] ) - SetKey( K_F10, keys_[ 10] ) + SetKey( K_F2, t_keys_[ 2 ] ) + SetKey( K_F3, t_keys_[ 3 ] ) + SetKey( K_F4, t_keys_[ 4 ] ) + SetKey( K_F5, t_keys_[ 5 ] ) + SetKey( K_F6, t_keys_[ 6 ] ) + SetKey( K_F7, t_keys_[ 7 ] ) + SetKey( K_F8, t_keys_[ 8 ] ) + SetKey( K_F9, t_keys_[ 9 ] ) + SetKey( K_F10, t_keys_[ 10] ) endif RETURN Nil @@ -610,12 +610,12 @@ FUNCTION Wvt_Mouse( nKey, nRow, nCol ) FUNCTION WvtSetBlocks( a_ ) LOCAL o - THREAD STATIC s := {} + THREAD STATIC t := {} - o := aclone( s ) + o := aclone( t ) IF a_ != nil - s := aclone( a_ ) + t := aclone( a_ ) ENDIF RETURN o @@ -773,7 +773,7 @@ FUNCTION WvtMyBrowse_X( oCrt ) BrwBuildMenu( oCrt ) oTBar := ActiveXBuildToolBar( oCrt ) - pGT_[ 2 ] := hb_gtSelect() + s_pGT_[ 2 ] := hb_gtSelect() cRDD := "DBFCDX" cFileDbf := "test.dbf" @@ -891,7 +891,7 @@ FUNCTION WvtMyBrowse_X( oCrt ) DBCloseArea() RestScreen( 0, 0, maxrow(), maxcol(), cScr ) Wvt_setPopupMenu( hPopup ) - pGT_[ 2 ] := NIL + s_pGT_[ 2 ] := NIL RETURN nil //-------------------------------------------------------------------// @@ -1355,9 +1355,9 @@ FUNCTION Popups( nID, lDestroy ) FUNCTION WvtPictures( nSlot,cFilePic ) if nSlot != nil .and. nSlot <= 20 .and. file( cFilePic ) - if pic_[ nSlot ] != cFilePic + if t_pic_[ nSlot ] != cFilePic if Wvt_LoadPicture( cFilePic, nSlot ) - pic_[ nSlot ] := cFilePic + t_pic_[ nSlot ] := cFilePic endif endif endif @@ -1366,7 +1366,7 @@ FUNCTION WvtPictures( nSlot,cFilePic ) //-------------------------------------------------------------------// FUNCTION WvtExePicture( nTop, nLeft, nBottom, nRight, nSlot, aOffset ) - if pic_[ nSlot ] != nil + if t_pic_[ nSlot ] != nil Wvt_DrawPicture( nTop, nLeft, nBottom, nRight, nSlot, aOffSet ) endif @@ -2053,29 +2053,29 @@ Function DynDlgProc_2( hDlg, nMsg, wParam, lParam ) case WM_INITDIALOG Win_SetTimer( hDlg, 5001, 1000 ) // 1 sec - if empty( ahFonts ) + if empty( t_ahFonts ) if ( hFont := Wvt_CreateFont( "Times New Roman", 18 ) ) != 0 - aadd( ahFonts, hFont ) + aadd( t_ahFonts, hFont ) endif endif - if len( ahFonts ) > 0 - Win_SendMessage( Win_GetDlgItem( hDlg, ID_MLE ), WM_SETFONT, ahFonts[ 1 ], 0 ) + if len( t_ahFonts ) > 0 + Win_SendMessage( Win_GetDlgItem( hDlg, ID_MLE ), WM_SETFONT, t_ahFonts[ 1 ], 0 ) endif - if shIcon == nil - shIcon := Win_LoadIcon( "vr_1.ico" ) + if t_hIcon == nil + t_hIcon := Win_LoadIcon( "vr_1.ico" ) endif - if shIcon != nil .or. shIcon != 0 - Win_SendMessage( Win_GetDlgItem( hDlg, ID_ICO_VOUCH ), STM_SETIMAGE, IMAGE_ICON, shIcon ) + if t_hIcon != nil .or. t_hIcon != 0 + Win_SendMessage( Win_GetDlgItem( hDlg, ID_ICO_VOUCH ), STM_SETIMAGE, IMAGE_ICON, t_hIcon ) endif /* - if shImage == nil - shImage := Win_LoadImage( "vouch1.bmp", 2 ) + if t_hImage == nil + t_hImage := Win_LoadImage( "vouch1.bmp", 2 ) endif - if shImage != nil .and. shImage != 0 - Win_SendMessage( Win_GetDlgItem( hDlg, ID_STA_IMAGE ), STM_SETIMAGE, IMAGE_BITMAP, shImage ) + if t_hImage != nil .and. t_hImage != 0 + Win_SendMessage( Win_GetDlgItem( hDlg, ID_STA_IMAGE ), STM_SETIMAGE, IMAGE_BITMAP, t_hImage ) endif */ Win_SetDlgItemText( hDlg, ID_MLE , GetEditText() ) @@ -2153,16 +2153,16 @@ static function GetEditText() EXIT PROCEDURE CleanHandles() LOCAL i - for i := 1 to len( ahFonts ) - Win_DeleteObject( ahFonts[ i ] ) + for i := 1 to len( t_ahFonts ) + Win_DeleteObject( t_ahFonts[ i ] ) next - if shIcon != nil - Win_DeleteObject( shIcon ) + if t_hIcon != nil + Win_DeleteObject( t_hIcon ) endif - if shImage != nil - Win_DeleteObject( shImage ) + if t_hImage != nil + Win_DeleteObject( t_hImage ) endif Return @@ -2172,7 +2172,7 @@ EXIT PROCEDURE CleanHandles() FUNCTION DlgSlideShow() LOCAL hDlg, aDlg, nStyle - aSlides := { "vouch1.bmp", "v_notes.ico", "2000.gif", "v_lock.bmp", "v_help.ico" } + t_aSlides := { "vouch1.bmp", "v_notes.ico", "2000.gif", "v_lock.bmp", "v_help.ico" } nStyle := DS_SETFONT + WS_VISIBLE + WS_POPUP + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX @@ -2203,7 +2203,7 @@ FUNCTION DlgSlideShowProc( hDlg, nMsg, wParam, lParam ) case WM_TIMER nSlide++ - if nSlide > len( aSlides ) + if nSlide > len( t_aSlides ) nSlide := 1 endif DrawSlide( hDlg, nSlide ) @@ -2222,7 +2222,7 @@ FUNCTION DrawSlide( hDlg, nSlide ) Win_Rectangle( hDC, aRect[ 1 ]+10, aRect[ 2 ]+10, aRect[ 3 ]-10, aRect[ 4 ]-10 ) Win_DrawImage( hDC, aRect[ 1 ]+10, aRect[ 2 ]+10, aRect[ 3 ] - aRect[ 1 ] -20, ; - aRect[ 4 ] - aRect[ 2 ] - 20, aSlides[ nSlide ] ) + aRect[ 4 ] - aRect[ 2 ] - 20, t_aSlides[ nSlide ] ) Win_ReleaseDC( hDlg,hDC ) @@ -2280,7 +2280,7 @@ Static Function DoModalWindow() oCrt:Create() oCrt:show() - pGT_[ 3 ] := hb_gtSelect() + s_pGT_[ 3 ] := hb_gtSelect() // Here goes the Clipper Code // @@ -2297,7 +2297,7 @@ Static Function DoModalWindow() // Cleanup // - pGT_[ 3 ] := NIL + s_pGT_[ 3 ] := NIL oCrt:Destroy() Return nil diff --git a/harbour/contrib/gtwvg/wvgpaint.prg b/harbour/contrib/gtwvg/wvgpaint.prg index 5e4237af4e..e5d4ffea4f 100644 --- a/harbour/contrib/gtwvg/wvgpaint.prg +++ b/harbour/contrib/gtwvg/wvgpaint.prg @@ -65,9 +65,9 @@ //-------------------------------------------------------------------// #if 0 // Until THREAD STATIC is made true thread sttaic -thread static paint_:= { { '', {} } } +thread static t_paint_:= { { '', {} } } #else -thread static paint_ +thread static t_paint_ #endif //-------------------------------------------------------------------// @@ -148,16 +148,16 @@ function WvtPaintObjects() function WvtSetPaint( a_ ) local o - thread static s + thread static t - IF s == nil - s := {} + IF t == nil + t := {} ENDIF - o := s + o := t if a_ <> nil - s := a_ + t := a_ endif return o @@ -167,23 +167,23 @@ function WvtSetPaint( a_ ) function SetPaint( cID, nAction, xData, aAttr ) local n, n1, oldData - IF paint_== NIL - paint_:= { { '', {} } } + IF t_paint_== NIL + t_paint_:= { { '', {} } } ENDIF if xData <> nil - if ( n := ascan( paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 - if ( n1 := ascan( paint_[ n,2 ], {|e_| e_[ 1 ] == nAction } ) ) > 0 - oldData := paint_[ n,2,n1,2 ] - paint_[ n,2,n1,2 ] := xData - paint_[ n,2,n1,3 ] := aAttr + if ( n := ascan( t_paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 + if ( n1 := ascan( t_paint_[ n,2 ], {|e_| e_[ 1 ] == nAction } ) ) > 0 + oldData := t_paint_[ n,2,n1,2 ] + t_paint_[ n,2,n1,2 ] := xData + t_paint_[ n,2,n1,3 ] := aAttr else - aadd( paint_[ n,2 ], { nAction,xData,aAttr } ) + aadd( t_paint_[ n,2 ], { nAction,xData,aAttr } ) endif else - aadd( paint_, { cID, {} } ) - n := len( paint_ ) - aadd( paint_[ n,2 ], { nAction, xData, aAttr } ) + aadd( t_paint_, { cID, {} } ) + n := len( t_paint_ ) + aadd( t_paint_[ n,2 ], { nAction, xData, aAttr } ) endif endif @@ -194,12 +194,12 @@ function SetPaint( cID, nAction, xData, aAttr ) function GetPaint( cID ) local n - IF paint_== NIL - paint_:= { { '', {} } } + IF t_paint_== NIL + t_paint_:= { { '', {} } } ENDIF - if ( n := ascan( paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 - return paint_[ n,2 ] + if ( n := ascan( t_paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 + return t_paint_[ n,2 ] endif return {} @@ -209,14 +209,14 @@ function GetPaint( cID ) function DelPaint( cID, nAction ) local xData, n1, n - IF paint_== NIL - paint_:= { { '', {} } } + IF t_paint_== NIL + t_paint_:= { { '', {} } } ENDIF - if ( n := ascan( paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 - if ( n1 := ascan( paint_[ n,2 ], {|e_| e_[ 1 ] == nAction } ) ) > 0 - xData := paint_[ n,2,n1,2 ] - paint_[ n,2,n1,2 ] := {|| .t. } + if ( n := ascan( t_paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 + if ( n1 := ascan( t_paint_[ n,2 ], {|e_| e_[ 1 ] == nAction } ) ) > 0 + xData := t_paint_[ n,2,n1,2 ] + t_paint_[ n,2,n1,2 ] := {|| .t. } endif endif @@ -229,14 +229,14 @@ function PurgePaint( cID,lDummy ) DEFAULT lDummy TO .f. - IF paint_== NIL - paint_:= { { '', {} } } + IF t_paint_== NIL + t_paint_:= { { '', {} } } ENDIF - if ( n := ascan( paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 - aPaint := paint_[ n ] - ADel( paint_, n ) - aSize( paint_, len( paint_ ) - 1 ) + if ( n := ascan( t_paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 + aPaint := t_paint_[ n ] + ADel( t_paint_, n ) + aSize( t_paint_, len( t_paint_ ) - 1 ) endif if lDummy @@ -252,14 +252,14 @@ function InsertPaint( cID, aPaint, lSet ) DEFAULT lSet TO .f. - IF paint_== NIL - paint_:= { { '', {} } } + IF t_paint_== NIL + t_paint_:= { { '', {} } } ENDIF - if ( n := ascan( paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 - paint_[ n ] := aPaint + if ( n := ascan( t_paint_, { |e_| e_[ 1 ] == cID } ) ) > 0 + t_paint_[ n ] := aPaint else - aadd( paint_, aPaint ) + aadd( t_paint_, aPaint ) endif if lSet diff --git a/harbour/contrib/hbct/fcopy.prg b/harbour/contrib/hbct/fcopy.prg index ff0c87c4e8..05299e8076 100644 --- a/harbour/contrib/hbct/fcopy.prg +++ b/harbour/contrib/hbct/fcopy.prg @@ -21,7 +21,7 @@ * Copyright 2007 Przemyslaw Czerpak * * added FILECDATI() and rewritten above functions for CT3 compatibility - * and some problems fixing, + * and some problems fixing, * * www - http://www.harbour-project.org * @@ -72,10 +72,10 @@ #define F_BLOCK 512 -THREAD STATIC s_hSrcFile := -1 -THREAD STATIC s_lSetDaTi := .T. -THREAD STATIC s_fileDate -THREAD STATIC s_fileTime +THREAD STATIC t_hSrcFile := -1 +THREAD STATIC t_lSetDaTi := .T. +THREAD STATIC t_fileDate +THREAD STATIC t_fileTime /* * FileCopy() @@ -91,15 +91,15 @@ FUNCTION FILECOPY( cSource, cDest, lMode ) IF !ISLOGICAL( lMode ) lMode := .F. ENDIF - IF s_hSrcFile != -1 - FCLOSE( s_hSrcFile ) + IF t_hSrcFile != -1 + FCLOSE( t_hSrcFile ) ENDIF - s_hSrcFile := FOPEN( cSource, FO_READ ) - IF s_hSrcFile != -1 + t_hSrcFile := FOPEN( cSource, FO_READ ) + IF t_hSrcFile != -1 hDstFile := FCREATE( cDest ) IF hDstFile != -1 DO WHILE !lDone - nSrcBytes := FREAD( s_hSrcFile, @cBuffer, F_BLOCK ) + nSrcBytes := FREAD( t_hSrcFile, @cBuffer, F_BLOCK ) IF nSrcBytes == 0 lDone := .T. EXIT @@ -114,30 +114,30 @@ FUNCTION FILECOPY( cSource, cDest, lMode ) ENDDO FCLOSE( hDstFile ) IF lDone .OR. !lMode - FCLOSE( s_hSrcFile ) - s_hSrcFile := -1 + FCLOSE( t_hSrcFile ) + t_hSrcFile := -1 ENDIF - s_fileDate := FILEDATE( cSource ) - s_fileTime := FILETIME( cSource ) - IF s_lSetDaTi - SETFDATI( cDest, s_fileDate, s_fileTime ) + t_fileDate := FILEDATE( cSource ) + t_fileTime := FILETIME( cSource ) + IF t_lSetDaTi + SETFDATI( cDest, t_fileDate, t_fileTime ) ENDIF ELSE - FCLOSE( s_hSrcFile ) - s_hSrcFile := -1 + FCLOSE( t_hSrcFile ) + t_hSrcFile := -1 ENDIF ENDIF RETURN nTotBytes FUNCTION FILECOPEN() -RETURN s_hSrcFile != -1 +RETURN t_hSrcFile != -1 FUNCTION FILECDATI( lNewMode ) - LOCAL lOldMode := s_lSetDaTi + LOCAL lOldMode := t_lSetDaTi IF ISLOGICAL( lNewMode ) - s_lSetDaTi := lNewMode + t_lSetDaTi := lNewMode ENDIF RETURN lOldMode @@ -148,11 +148,11 @@ FUNCTION FILECCONT( cDest ) LOCAL lDone := .F. LOCAL nSrcBytes, nDstBytes, nTotBytes := 0 - IF s_hSrcFile != -1 + IF t_hSrcFile != -1 hDstFile := FCREATE( cDest ) IF hDstFile != -1 DO WHILE !lDone - nSrcBytes := FREAD( s_hSrcFile, @cBuffer, F_BLOCK ) + nSrcBytes := FREAD( t_hSrcFile, @cBuffer, F_BLOCK ) IF nSrcBytes == 0 lDone := 0 EXIT @@ -167,11 +167,11 @@ FUNCTION FILECCONT( cDest ) ENDDO FCLOSE( hDstFile ) IF lDone - FCLOSE( s_hSrcFile ) - s_hSrcFile := -1 + FCLOSE( t_hSrcFile ) + t_hSrcFile := -1 ENDIF - IF s_lSetDaTi - SETFDATI( cDest, s_fileDate, s_fileTime ) + IF t_lSetDaTi + SETFDATI( cDest, t_fileDate, t_fileTime ) ENDIF ENDIF ENDIF @@ -179,9 +179,9 @@ RETURN nTotBytes FUNCTION FILECCLOSE() - IF s_hSrcFile != -1 - FCLOSE( s_hSrcFile ) - s_hSrcFile := -1 + IF t_hSrcFile != -1 + FCLOSE( t_hSrcFile ) + t_hSrcFile := -1 RETURN .T. ENDIF RETURN .F. diff --git a/harbour/contrib/hbpgsql/pgrdd.prg b/harbour/contrib/hbpgsql/pgrdd.prg index 7581ad1f0d..37d6cd7844 100644 --- a/harbour/contrib/hbpgsql/pgrdd.prg +++ b/harbour/contrib/hbpgsql/pgrdd.prg @@ -72,7 +72,7 @@ ANNOUNCE PGRDD -THREAD STATIC s_aConnections := {} +THREAD STATIC t_aConnections := {} FUNCTION DBPGCONNECTION( cConnString ) @@ -90,24 +90,24 @@ FUNCTION DBPGCONNECTION( cConnString ) alert( oServer:ErrorMsg() ) RETURN FAILURE ELSE - aadd( s_aConnections, oServer ) - nConn := len( s_aConnections ) + aadd( t_aConnections, oServer ) + nConn := len( t_aConnections ) ENDIF - + RETURN nConn FUNCTION DBPGCLEARCONNECTION( nConn ) LOCAL oServer - oServer := s_aConnections[ nConn ] + oServer := t_aConnections[ nConn ] oServer:Close() - s_aConnections[ nConn ] := nil + t_aConnections[ nConn ] := nil RETURN SUCCESS - + /* * non work area methods receive RDD ID as first parameter * Methods INIT and EXIT does not have to execute SUPER methods - these is @@ -137,8 +137,8 @@ STATIC FUNCTION PG_OPEN( nWA, aOpenInfo ) LOCAL oServer, oQuery, aStruct, aFieldStruct LOCAL aWAData := USRRDD_AREADATA( nWA ) - if !empty( aOpenInfo[ UR_OI_CONNECT ] ) .and. aOpenInfo[ UR_OI_CONNECT ] <= len( s_aConnections ) - oServer := s_aConnections[ aOpenInfo[ UR_OI_CONNECT ] ] + if !empty( aOpenInfo[ UR_OI_CONNECT ] ) .and. aOpenInfo[ UR_OI_CONNECT ] <= len( t_aConnections ) + oServer := t_aConnections[ aOpenInfo[ UR_OI_CONNECT ] ] endif if !empty( oServer ) @@ -147,7 +147,7 @@ STATIC FUNCTION PG_OPEN( nWA, aOpenInfo ) lError := oQuery:NetErr() cError := oQuery:ErrorMsg() else - lError := .T. + lError := .T. cError := "Invalid connection handle" endif @@ -163,7 +163,7 @@ STATIC FUNCTION PG_OPEN( nWA, aOpenInfo ) ELSE aWAData[ AREA_QUERY ] := oQuery ENDIF - + UR_SUPER_SETFIELDEXTENT( nWA, oQuery:nFields ) aStruct := oQuery:Struct() @@ -194,11 +194,11 @@ RETURN UR_SUPER_CLOSE( nWA ) STATIC FUNCTION PG_GETVALUE( nWA, nField, xValue ) LOCAL aWAData := USRRDD_AREADATA( nWA ) - + if !empty( aWAData[ AREA_ROW ] ) xValue := aWAData[ AREA_ROW ]:FieldGet( nField ) else - xValue := aWAData[ AREA_QUERY ]:FieldGet( nField ) + xValue := aWAData[ AREA_QUERY ]:FieldGet( nField ) endif RETURN SUCCESS @@ -301,13 +301,13 @@ STATIC FUNCTION PG_FLUSH( nWA ) oError := ErrorNew() oError:GenCode := EG_DATATYPE oError:SubCode := 3000 - oError:Description := HB_LANGERRMSG( EG_DATATYPE ) + ", " + aWAData[ AREA_QUERY ]:ErrorMsg() + oError:Description := HB_LANGERRMSG( EG_DATATYPE ) + ", " + aWAData[ AREA_QUERY ]:ErrorMsg() UR_SUPER_ERROR( nWA, oError ) RETURN FAILURE ENDIF /* - * The :Refresh() below costs a lot in term of performance. + * The :Refresh() below costs a lot in term of performance. * It redo the select to include inserts and updates. * It is the only solution I've found so far to simulate dbf behaviour */ @@ -340,7 +340,7 @@ RETURN SUCCESS STATIC FUNCTION PG_DELETE( nWA ) LOCAL oError LOCAL aWAData := USRRDD_AREADATA( nWA ) - + aWAData[ AREA_ROW ] := aWAData[ AREA_QUERY ]:GetRow() aWAData[ AREA_QUERY ]:Delete( aWAData[ AREA_ROW ] ) @@ -349,11 +349,11 @@ STATIC FUNCTION PG_DELETE( nWA ) oError := ErrorNew() oError:GenCode := EG_DATATYPE oError:SubCode := 2000 - oError:Description := HB_LANGERRMSG( EG_DATATYPE ) + ", " + aWAData[ AREA_QUERY ]:ErrorMsg() + oError:Description := HB_LANGERRMSG( EG_DATATYPE ) + ", " + aWAData[ AREA_QUERY ]:ErrorMsg() UR_SUPER_ERROR( nWA, oError ) RETURN FAILURE ENDIF - + aWAData[ AREA_ROW ] := nil RETURN SUCCESS diff --git a/harbour/contrib/hbtpathy/telepath.prg b/harbour/contrib/hbtpathy/telepath.prg index a261f1eab8..2d2c03e082 100644 --- a/harbour/contrib/hbtpathy/telepath.prg +++ b/harbour/contrib/hbtpathy/telepath.prg @@ -64,8 +64,8 @@ -THREAD STATIC s_aPorts // Array with port info -THREAD STATIC s_nErrorCode := 0 // Error code from last operation, 0 if no error +THREAD STATIC t_aPorts // Array with port info +THREAD STATIC t_nErrorCode := 0 // Error code from last operation, 0 if no error @@ -74,7 +74,7 @@ function tp_baud( nPort, nNewBaud ) default nNewBaud to 0 - if ! isport( nPort ) .OR. Empty( s_aPorts[ nPort, TPFP_NAME ] ) + if ! isport( nPort ) .OR. Empty( t_aPorts[ nPort, TPFP_NAME ] ) return TE_NOPORT endif @@ -83,13 +83,13 @@ function tp_baud( nPort, nNewBaud ) endif if nNewBaud > 0 - if p_InitPortSpeed( s_aPorts[ nPort, TPFP_HANDLE ] ,; + if p_InitPortSpeed( t_aPorts[ nPort, TPFP_HANDLE ] ,; nNewBaud,; - s_aPorts[ nPort, TPFP_DBITS ] ,; - s_aPorts[ nPort, TPFP_PARITY ] ,; - s_aPorts[ nPort, TPFP_SBITS ] ) == 0 + t_aPorts[ nPort, TPFP_DBITS ] ,; + t_aPorts[ nPort, TPFP_PARITY ] ,; + t_aPorts[ nPort, TPFP_SBITS ] ) == 0 - s_aPorts[ nPort, TPFP_BAUD ] := nNewBaud + t_aPorts[ nPort, TPFP_BAUD ] := nNewBaud else @@ -97,7 +97,7 @@ function tp_baud( nPort, nNewBaud ) endif endif -return s_aPorts[ nPort, TPFP_BAUD ] +return t_aPorts[ nPort, TPFP_BAUD ] @@ -148,16 +148,16 @@ function tp_close( nPort, nTimeout ) tp_flush( nPort, nTimeout ) endif - if s_aPorts[ nPort, TPFP_HANDLE ] >= 0 + if t_aPorts[ nPort, TPFP_HANDLE ] >= 0 - fClose( s_aPorts[ nPort, TPFP_HANDLE ] ) + fClose( t_aPorts[ nPort, TPFP_HANDLE ] ) /* Port parameters should stay the same for the case the port gets reopened */ - s_aPorts[ nPort, TPFP_OC ] := .F. - s_aPorts[ nPort, TPFP_INBUF ] := "" - s_aPorts[ nPort, TPFP_HANDLE ] := -1 + t_aPorts[ nPort, TPFP_OC ] := .F. + t_aPorts[ nPort, TPFP_INBUF ] := "" + t_aPorts[ nPort, TPFP_HANDLE ] := -1 endif return 0 @@ -170,15 +170,15 @@ function tp_reopen( nPort, nInSize, nOutSize ) default nInSize to 1536, nOutSize to 1536 - if ! isport( nPort ) .OR. Empty( s_aPorts[ nPort, TPFP_NAME ] ) + if ! isport( nPort ) .OR. Empty( t_aPorts[ nPort, TPFP_NAME ] ) return TE_NOPORT endif - cPortname := s_aPorts[ nPort, TPFP_NAME ] - nBaud := s_aPorts[ nPort, TPFP_BAUD ] - nData := s_aPorts[ nPort, TPFP_DBITS ] - cParity := s_aPorts[ nPort, TPFP_PARITY ] - nStop := s_aPorts[ nPort, TPFP_SBITS ] + cPortname := t_aPorts[ nPort, TPFP_NAME ] + nBaud := t_aPorts[ nPort, TPFP_BAUD ] + nData := t_aPorts[ nPort, TPFP_DBITS ] + cParity := t_aPorts[ nPort, TPFP_PARITY ] + nStop := t_aPorts[ nPort, TPFP_SBITS ] return tp_open( nPort, nInSize, nOutSize, nBaud, nData, cParity, nStop, cPortName ) @@ -230,37 +230,37 @@ function tp_open( nPort, nInSize, nOutSize, nBaud, nData, cParity, nStop, cPortn return TE_NOPORT endif - s_aPorts[ nPort, TPFP_NAME ] := cPortname - s_aPorts[ nPort, TPFP_BAUD ] := nBaud - s_aPorts[ nPort, TPFP_DBITS ] := nData - s_aPorts[ nPort, TPFP_PARITY ] := cParity - s_aPorts[ nPort, TPFP_SBITS ] := nStop - s_aPorts[ nPort, TPFP_OC ] := .F. - s_aPorts[ nPort, TPFP_INBUF ] := "" - s_aPorts[ nPort, TPFP_INBUF_SIZE ] := nInSize + t_aPorts[ nPort, TPFP_NAME ] := cPortname + t_aPorts[ nPort, TPFP_BAUD ] := nBaud + t_aPorts[ nPort, TPFP_DBITS ] := nData + t_aPorts[ nPort, TPFP_PARITY ] := cParity + t_aPorts[ nPort, TPFP_SBITS ] := nStop + t_aPorts[ nPort, TPFP_OC ] := .F. + t_aPorts[ nPort, TPFP_INBUF ] := "" + t_aPorts[ nPort, TPFP_INBUF_SIZE ] := nInSize #ifdef __PLATFORM__LINUX // Maybe we should have a p_Open() on every platform - s_aPorts[ nPort, TPFP_HANDLE ] := p_Open( cPortname ) + t_aPorts[ nPort, TPFP_HANDLE ] := p_Open( cPortname ) #else - s_aPorts[ nPort, TPFP_HANDLE ] := fOpen( cPortname, FO_READWRITE ) + t_aPorts[ nPort, TPFP_HANDLE ] := fOpen( cPortname, FO_READWRITE ) #endif - if s_aPorts[ nPort, TPFP_HANDLE ] >= 0 + if t_aPorts[ nPort, TPFP_HANDLE ] >= 0 /* low level C functions are prefixed p_ (don't ask me why :)) */ - if ( nRes := p_InitPortSpeed( s_aPorts[ nPort, TPFP_HANDLE ] ,; - s_aPorts[ nPort, TPFP_BAUD ] ,; - s_aPorts[ nPort, TPFP_DBITS ] ,; - s_aPorts[ nPort, TPFP_PARITY ] ,; - s_aPorts[ nPort, TPFP_SBITS ] ) ) == 0 + if ( nRes := p_InitPortSpeed( t_aPorts[ nPort, TPFP_HANDLE ] ,; + t_aPorts[ nPort, TPFP_BAUD ] ,; + t_aPorts[ nPort, TPFP_DBITS ] ,; + t_aPorts[ nPort, TPFP_PARITY ] ,; + t_aPorts[ nPort, TPFP_SBITS ] ) ) == 0 - s_aPorts[ nPort, TPFP_OC ] := .T. + t_aPorts[ nPort, TPFP_OC ] := .T. return nRes else - tp_Close( s_aPorts[ nPort, TPFP_HANDLE ] ) + tp_Close( t_aPorts[ nPort, TPFP_HANDLE ] ) return nRes endif @@ -270,15 +270,15 @@ function tp_open( nPort, nInSize, nOutSize, nBaud, nData, cParity, nStop, cPortn // set error code to a static var to have tp_error() work as expected //cnHandle := ferror() - s_aPorts[ nPort, TPFP_NAME ] := "" - s_aPorts[ nPort, TPFP_HANDLE ] := -1 - s_aPorts[ nPort, TPFP_BAUD ] := 1200 - s_aPorts[ nPort, TPFP_DBITS ] := 8 - s_aPorts[ nPort, TPFP_PARITY ] := "N" - s_aPorts[ nPort, TPFP_SBITS ] := 1 - s_aPorts[ nPort, TPFP_OC ] := .F. - s_aPorts[ nPort, TPFP_INBUF ] := "" - s_aPorts[ nPort, TPFP_INBUF_SIZE ] := 0 + t_aPorts[ nPort, TPFP_NAME ] := "" + t_aPorts[ nPort, TPFP_HANDLE ] := -1 + t_aPorts[ nPort, TPFP_BAUD ] := 1200 + t_aPorts[ nPort, TPFP_DBITS ] := 8 + t_aPorts[ nPort, TPFP_PARITY ] := "N" + t_aPorts[ nPort, TPFP_SBITS ] := 1 + t_aPorts[ nPort, TPFP_OC ] := .F. + t_aPorts[ nPort, TPFP_INBUF ] := "" + t_aPorts[ nPort, TPFP_INBUF_SIZE ] := 0 return TE_CONFL // maybe should return something different? @@ -289,14 +289,14 @@ function tp_recv( nPort, nLength, nTimeout ) local nDone local cRet - default nLength to s_aPorts[ nPort, TPFP_INBUF_SIZE ] + default nLength to t_aPorts[ nPort, TPFP_INBUF_SIZE ] default nTimeout to 0 FetchChars( nPort ) nDone := Seconds() + iif( nTimeout >= 0, nTimeout, 0 ) - while Len( s_aPorts[ nPort, TPFP_INBUF ] ) < nLength .AND.; + while Len( t_aPorts[ nPort, TPFP_INBUF ] ) < nLength .AND.; ( nTimeout < 0 .OR. Seconds() < nDone ) if ! tp_idle() @@ -307,12 +307,12 @@ function tp_recv( nPort, nLength, nTimeout ) enddo - if nLength > Len( s_aPorts[ nPort, TPFP_INBUF ] ) - cRet := s_aPorts[ nPort, TPFP_INBUF ] - s_aPorts[ nPort, TPFP_INBUF ] := "" + if nLength > Len( t_aPorts[ nPort, TPFP_INBUF ] ) + cRet := t_aPorts[ nPort, TPFP_INBUF ] + t_aPorts[ nPort, TPFP_INBUF ] := "" else - cRet := SubStr( s_aPorts[ nPort, TPFP_INBUF ], 1, nLength ) - s_aPorts[ nPort, TPFP_INBUF ] := SubStr( s_aPorts[ nPort, TPFP_INBUF ], nLength + 1 ) + cRet := SubStr( t_aPorts[ nPort, TPFP_INBUF ], 1, nLength ) + t_aPorts[ nPort, TPFP_INBUF ] := SubStr( t_aPorts[ nPort, TPFP_INBUF ], nLength + 1 ) endif return cRet @@ -339,7 +339,7 @@ function tp_send( nPort, cString, nTimeout ) while nTotWritten < Len( cString ) .AND. ; ( nTimeout < 0 .OR. Seconds() <= nDone ) - nWritten := p_WritePort( s_aPorts[ nPort, TPFP_HANDLE ], SubStr( cString, nTotWritten + 1 ) ) + nWritten := p_WritePort( t_aPorts[ nPort, TPFP_HANDLE ], SubStr( cString, nTotWritten + 1 ) ) if nWritten >= 0 @@ -398,7 +398,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) /* Telepathy ng: [...] If nTimeout is omitted or zero, reads until finding the delimiter or the input buffer is empty. */ - if nTimeout == 0 .AND. Empty( s_aPorts[ nPort, TPFP_INBUF ] ) + if nTimeout == 0 .AND. Empty( t_aPorts[ nPort, TPFP_INBUF ] ) return "" endif @@ -408,7 +408,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) if Len( cDelim ) == 1 - nAt := hb_At( cDelim, s_aPorts[ nPort, TPFP_INBUF ], nStartPos ) + nAt := hb_At( cDelim, t_aPorts[ nPort, TPFP_INBUF ], nStartPos ) if nAt > 0 .AND. iif( nFirst > 0, nAt < nFirst, .T. ) nFirst := nAt @@ -418,7 +418,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) FOR EACH cChar IN cDelim - nAt := hb_At( cChar, s_aPorts[ nPort, TPFP_INBUF ], nStartPos ) + nAt := hb_At( cChar, t_aPorts[ nPort, TPFP_INBUF ], nStartPos ) if nAt > 0 .AND. iif( nFirst > 0, nAt < nFirst, .T. ) nFirst := nAt @@ -435,7 +435,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) else // Next loop I don't need to search that part of the input buffer that // I've already just searched for - nStartPos := Max( Len( s_aPorts[ nPort, TPFP_INBUF ] ), 1 ) + nStartPos := Max( Len( t_aPorts[ nPort, TPFP_INBUF ] ), 1 ) // I've read more characters than I'm allowed to, so I exit if nStartPos >= nMaxLen @@ -452,8 +452,8 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) enddo if nFirst > 0 - cRet := Left( s_aPorts[ nPort, TPFP_INBUF ], nFirst ) - s_aPorts[ nPort, TPFP_INBUF ] := SubStr( s_aPorts[ nPort, TPFP_INBUF ], nFirst + 1 ) + cRet := Left( t_aPorts[ nPort, TPFP_INBUF ], nFirst ) + t_aPorts[ nPort, TPFP_INBUF ] := SubStr( t_aPorts[ nPort, TPFP_INBUF ], nFirst + 1 ) endif return cRet @@ -474,7 +474,7 @@ function tp_lookfor( nPort, cLookfor ) FetchChars( nPort ) -return At( cLookfor, s_aPorts[ nPort, TPFP_INBUF ] ) +return At( cLookfor, t_aPorts[ nPort, TPFP_INBUF ] ) @@ -486,7 +486,7 @@ function tp_inchrs( nPort ) FetchChars( nPort ) -return Len( s_aPorts[ nPort, TPFP_INBUF ] ) +return Len( t_aPorts[ nPort, TPFP_INBUF ] ) @@ -496,7 +496,7 @@ function tp_outfree( nPort ) return 0 endif -return p_OutFree( s_aPorts[ nPort, TPFP_HANDLE ] ) +return p_OutFree( t_aPorts[ nPort, TPFP_HANDLE ] ) @@ -504,7 +504,7 @@ function tp_clearin( nPort ) if isopenport( nPort ) FetchChars( nPort ) - s_aPorts[ nPort, TPFP_INBUF ] := "" + t_aPorts[ nPort, TPFP_INBUF ] := "" endif return nil @@ -567,9 +567,9 @@ function tp_waitfor( ... ) for x := 1 to len( acList ) if lIgnorecase - nAt := at( upper( acList[ x ] ), upper( s_aPorts[ nPort, TPFP_INBUF ] )) + nAt := at( upper( acList[ x ] ), upper( t_aPorts[ nPort, TPFP_INBUF ] )) else - nAt := at( acList[ x ] , s_aPorts[ nPort, TPFP_INBUF ] ) + nAt := at( acList[ x ] , t_aPorts[ nPort, TPFP_INBUF ] ) endif if nAt > 0 .and. nAt < nFirst nFirst := nAt @@ -608,10 +608,10 @@ function tp_ctrlcts( nPort, nNewCtrl ) endif if Valtype( nNewCtrl ) == "U" - nCurValue := p_ctrlcts( s_aPorts[ nPort, TPFP_HANDLE ] ) + nCurValue := p_ctrlcts( t_aPorts[ nPort, TPFP_HANDLE ] ) else - nCurValue := p_ctrlcts( s_aPorts[ nPort, TPFP_HANDLE ], nNewCtrl ) + nCurValue := p_ctrlcts( t_aPorts[ nPort, TPFP_HANDLE ], nNewCtrl ) endif @@ -637,7 +637,7 @@ function tp_ctrldtr( nPort, nParamNewval ) if ! isopenport( nPort ) return -1 endif - nph := s_aPorts[ nPort, TPFP_HANDLE ] + nph := t_aPorts[ nPort, TPFP_HANDLE ] _P_CTRLDTR(nph, @nnewval, @noldval) @@ -652,7 +652,7 @@ function tp_isdcd( nPort ) return .f. endif -return p_isdcd( s_aPorts[ nPort, TPFP_HANDLE ] ) +return p_isdcd( t_aPorts[ nPort, TPFP_HANDLE ] ) @@ -662,7 +662,7 @@ function tp_isri( nPort ) return .f. endif -return p_isri( s_aPorts[ nPort, TPFP_HANDLE ] ) +return p_isri( t_aPorts[ nPort, TPFP_HANDLE ] ) @@ -672,7 +672,7 @@ function tp_isdsr( nPort ) return .f. endif -return p_isdsr( s_aPorts[ nPort, TPFP_HANDLE ] ) +return p_isdsr( t_aPorts[ nPort, TPFP_HANDLE ] ) @@ -682,7 +682,7 @@ function tp_iscts( nPort ) return .f. endif -return p_iscts( s_aPorts[ nPort, TPFP_HANDLE ] ) +return p_iscts( t_aPorts[ nPort, TPFP_HANDLE ] ) @@ -700,7 +700,7 @@ function tp_flush( nPort, nTimeout ) return TE_CLOSED endif - nRes := p_Drain( s_aPorts[ nPort, TPFP_HANDLE ] ) + nRes := p_Drain( t_aPorts[ nPort, TPFP_HANDLE ] ) // Sleep rest of timeout /* @@ -767,7 +767,7 @@ static function isopenport( nPort ) return .f. endif -return s_aPorts[ nPort, TPFP_OC ] +return t_aPorts[ nPort, TPFP_OC ] @@ -789,10 +789,10 @@ static function FetchChars( nPort ) return 0 endif - cStr := p_ReadPort( s_aPorts[ nPort, TPFP_HANDLE ] ) + cStr := p_ReadPort( t_aPorts[ nPort, TPFP_HANDLE ] ) if ! Empty( cStr ) - s_aPorts[ nPort, TPFP_INBUF ] += cStr + t_aPorts[ nPort, TPFP_INBUF ] += cStr endif return Len( cStr ) @@ -803,11 +803,11 @@ INIT PROCEDURE _tpinit() local x - if s_aPorts == nil - s_aPorts := array( TP_MAXPORTS ) - for x := 1 to len( s_aPorts ) + if t_aPorts == nil + t_aPorts := array( TP_MAXPORTS ) + for x := 1 to len( t_aPorts ) /// port name, file handle, baud, data bits, parity, stop bits, Open?, input buffer, input buff.size - s_aPorts[ x ] := { "", -1, 1200, 8, "N", 1, .F., "", 0 } + t_aPorts[ x ] := { "", -1, 1200, 8, "N", 1, .F., "", 0 } next endif diff --git a/harbour/contrib/hbvpdf/hbvpdf.prg b/harbour/contrib/hbvpdf/hbvpdf.prg index 6745328585..300f53eb25 100644 --- a/harbour/contrib/hbvpdf/hbvpdf.prg +++ b/harbour/contrib/hbvpdf/hbvpdf.prg @@ -4,21 +4,21 @@ #include "hbvpdf.ch" -THREAD STATIC s_aReport +THREAD STATIC t_aReport /* =========================================================== */ function pdfInit() /* ============================================================= */ -s_aReport := array( PARAMLEN ) +t_aReport := array( PARAMLEN ) -return s_aReport - /* +return t_aReport + /* ============================================================= */ function pdfWidth( _nWidth ) /* ============================================================= */ -s_aReport[ REPORTWIDTH ] := _nWidth +t_aReport[ REPORTWIDTH ] := _nWidth return nil /* @@ -33,12 +33,12 @@ function pdfAtSay( cString, nRow, nCol, cUnits, lExact, cId ) /* ============================================================= */ local _nFont, lReverse, nAt -DEFAULT nRow to s_aReport[ REPORTLINE ] +DEFAULT nRow to t_aReport[ REPORTLINE ] DEFAULT cUnits to "R" DEFAULT lExact to .f. DEFAULT cId to "" - IF s_aReport[ HEADEREDIT ] + IF t_aReport[ HEADEREDIT ] return pdfHeader( "PDFATSAY", cId, { cString, nRow, nCol, cUnits, lExact } ) ENDIF @@ -53,28 +53,28 @@ DEFAULT cId to "" ELSEIF cUnits == "R" IF !lExact pdfCheckLine( nRow ) - nRow := nRow + s_aReport[ PDFTOP ] + nRow := nRow + t_aReport[ PDFTOP ] ENDIF nRow := pdfR2D( nRow ) - nCol := pdfM2X( s_aReport[ PDFLEFT ] ) + ; - nCol * 100.00 / s_aReport[ REPORTWIDTH ] * ; - ( s_aReport[ PAGEX ] - pdfM2X( s_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 + nCol := pdfM2X( t_aReport[ PDFLEFT ] ) + ; + nCol * 100.00 / t_aReport[ REPORTWIDTH ] * ; + ( t_aReport[ PAGEX ] - pdfM2X( t_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 ENDIF IF !empty( cString ) cString := pdfStringB( cString ) IF right( cString, 1 ) == chr(255) //reverse cString := left( cString, len( cString ) - 1 ) - pdfBox( s_aReport[ PAGEY ] - nRow - s_aReport[ FONTSIZE ] + 2.0 , nCol, s_aReport[ PAGEY ] - nRow + 2.0, nCol + pdfM2X( pdfLen( cString )) + 1,,100, "D") - s_aReport[ PAGEBUFFER ] += " 1 g " + pdfBox( t_aReport[ PAGEY ] - nRow - t_aReport[ FONTSIZE ] + 2.0 , nCol, t_aReport[ PAGEY ] - nRow + 2.0, nCol + pdfM2X( pdfLen( cString )) + 1,,100, "D") + t_aReport[ PAGEBUFFER ] += " 1 g " lReverse := .t. ELSEIF right( cString, 1 ) == chr(254) //underline cString := left( cString, len( cString ) - 1 ) - pdfBox( s_aReport[ PAGEY ] - nRow + 0.5, nCol, s_aReport[ PAGEY ] - nRow + 1, nCol + pdfM2X( pdfLen( cString )) + 1,,100, "D") + pdfBox( t_aReport[ PAGEY ] - nRow + 0.5, nCol, t_aReport[ PAGEY ] - nRow + 1, nCol + pdfM2X( pdfLen( cString )) + 1,,100, "D") ENDIF // version 0.01 IF ( nAt := at( chr(253), cString )) > 0 // some color text inside - s_aReport[ PAGEBUFFER ] += CRLF + ; + t_aReport[ PAGEBUFFER ] += CRLF + ; Chr_RGB( substr( cString, nAt + 1, 1 )) + " " + ; Chr_RGB( substr( cString, nAt + 2, 1 )) + " " + ; Chr_RGB( substr( cString, nAt + 3, 1 )) + " rg " @@ -82,18 +82,18 @@ DEFAULT cId to "" ENDIF // version 0.01 - _nFont := ascan( s_aReport[ FONTS ], {|arr| arr[1] == s_aReport[ FONTNAME ]} ) - IF !( s_aReport[ FONTNAME ] == s_aReport[ FONTNAMEPREV ] ) - s_aReport[ FONTNAMEPREV ] := s_aReport[ FONTNAME ] - s_aReport[ PAGEBUFFER ] += CRLF + "BT /Fo" + ltrim(str( _nFont )) + " " + ltrim(transform( s_aReport[ FONTSIZE ], "999.99")) + " Tf " + ltrim(transform( nCol, "9999.99" )) + " " + ltrim(transform( nRow, "9999.99" )) + " Td (" + cString + ") Tj ET" - ELSEIF s_aReport[ FONTSIZE ] != s_aReport[ FONTSIZEPREV ] - s_aReport[ FONTSIZEPREV ] := s_aReport[ FONTSIZE ] - s_aReport[ PAGEBUFFER ] += CRLF + "BT /Fo" + ltrim(str( _nFont )) + " " + ltrim(transform( s_aReport[ FONTSIZE ], "999.99")) + " Tf " + ltrim(transform( nCol, "9999.99" )) + " " + ltrim(transform( nRow, "9999.99" )) + " Td (" + cString + ") Tj ET" + _nFont := ascan( t_aReport[ FONTS ], {|arr| arr[1] == t_aReport[ FONTNAME ]} ) + IF !( t_aReport[ FONTNAME ] == t_aReport[ FONTNAMEPREV ] ) + t_aReport[ FONTNAMEPREV ] := t_aReport[ FONTNAME ] + t_aReport[ PAGEBUFFER ] += CRLF + "BT /Fo" + ltrim(str( _nFont )) + " " + ltrim(transform( t_aReport[ FONTSIZE ], "999.99")) + " Tf " + ltrim(transform( nCol, "9999.99" )) + " " + ltrim(transform( nRow, "9999.99" )) + " Td (" + cString + ") Tj ET" + ELSEIF t_aReport[ FONTSIZE ] != t_aReport[ FONTSIZEPREV ] + t_aReport[ FONTSIZEPREV ] := t_aReport[ FONTSIZE ] + t_aReport[ PAGEBUFFER ] += CRLF + "BT /Fo" + ltrim(str( _nFont )) + " " + ltrim(transform( t_aReport[ FONTSIZE ], "999.99")) + " Tf " + ltrim(transform( nCol, "9999.99" )) + " " + ltrim(transform( nRow, "9999.99" )) + " Td (" + cString + ") Tj ET" ELSE - s_aReport[ PAGEBUFFER ] += CRLF + "BT " + ltrim(transform( nCol, "9999.99" )) + " " + ltrim(transform( nRow, "9999.99" )) + " Td (" + cString + ") Tj ET" + t_aReport[ PAGEBUFFER ] += CRLF + "BT " + ltrim(transform( nCol, "9999.99" )) + " " + ltrim(transform( nRow, "9999.99" )) + " Td (" + cString + ") Tj ET" ENDIF IF lReverse - s_aReport[ PAGEBUFFER ] += " 0 g " + t_aReport[ PAGEBUFFER ] += " 0 g " ENDIF ENDIF return nil @@ -102,15 +102,15 @@ return nil function pdfBold() /* ================== */ IF pdfGetFontInfo("NAME") = "Times" - s_aReport[ FONTNAME ] := 2 + t_aReport[ FONTNAME ] := 2 ELSEIF pdfGetFontInfo("NAME") = "Helvetica" - s_aReport[ FONTNAME ] := 6 + t_aReport[ FONTNAME ] := 6 ELSE - s_aReport[ FONTNAME ] := 10 // Courier // 0.04 + t_aReport[ FONTNAME ] := 10 // Courier // 0.04 ENDIF - aadd( s_aReport[ PAGEFONTS ], s_aReport[ FONTNAME ] ) - IF ascan( s_aReport[ FONTS ], { |arr| arr[1] == s_aReport[ FONTNAME ] } ) == 0 - aadd( s_aReport[ FONTS ], { s_aReport[ FONTNAME ], ++s_aReport[ NEXTOBJ ] } ) + aadd( t_aReport[ PAGEFONTS ], t_aReport[ FONTNAME ] ) + IF ascan( t_aReport[ FONTS ], { |arr| arr[1] == t_aReport[ FONTNAME ] } ) == 0 + aadd( t_aReport[ FONTS ], { t_aReport[ FONTNAME ], ++t_aReport[ NEXTOBJ ] } ) ENDIF return nil /* @@ -118,37 +118,37 @@ return nil function pdfBoldItalic() /* ======================== */ IF pdfGetFontInfo("NAME") = "Times" - s_aReport[ FONTNAME ] := 4 + t_aReport[ FONTNAME ] := 4 ELSEIF pdfGetFontInfo("NAME") = "Helvetica" - s_aReport[ FONTNAME ] := 8 + t_aReport[ FONTNAME ] := 8 ELSE - s_aReport[ FONTNAME ] := 12 // 0.04 + t_aReport[ FONTNAME ] := 12 // 0.04 ENDIF - aadd( s_aReport[ PAGEFONTS ], s_aReport[ FONTNAME ] ) - IF ascan( s_aReport[ FONTS ], { |arr| arr[1] == s_aReport[ FONTNAME ] } ) == 0 - aadd( s_aReport[ FONTS ], { s_aReport[ FONTNAME ], ++s_aReport[ NEXTOBJ ] } ) + aadd( t_aReport[ PAGEFONTS ], t_aReport[ FONTNAME ] ) + IF ascan( t_aReport[ FONTS ], { |arr| arr[1] == t_aReport[ FONTNAME ] } ) == 0 + aadd( t_aReport[ FONTS ], { t_aReport[ FONTNAME ], ++t_aReport[ NEXTOBJ ] } ) ENDIF return nil /* =================================================== */ function pdfBookAdd( cTitle, nLevel, nPage, nLine ) /* =================================================== */ - aadd( s_aReport[ BOOKMARK ], { nLevel, alltrim( cTitle ), 0, 0, 0, 0, 0, 0, nPage, IIF( nLevel == 1, s_aReport[ PAGEY ], s_aReport[ PAGEY ] - nLine * 72 / s_aReport[ LPI ] ) }) + aadd( t_aReport[ BOOKMARK ], { nLevel, alltrim( cTitle ), 0, 0, 0, 0, 0, 0, nPage, IIF( nLevel == 1, t_aReport[ PAGEY ], t_aReport[ PAGEY ] - nLine * 72 / t_aReport[ LPI ] ) }) return Nil /* ======================== */ function pdfBookClose( ) /* ======================== */ - s_aReport[ BOOKMARK ] := nil + t_aReport[ BOOKMARK ] := nil return Nil /* ================================================= */ static function pdfBookCount( nRecno, nCurLevel ) /* ================================================= */ -local nTempLevel, nCount := 0, nLen := len( s_aReport[ BOOKMARK ] ) +local nTempLevel, nCount := 0, nLen := len( t_aReport[ BOOKMARK ] ) ++nRecno while nRecno <= nLen - nTempLevel := s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + nTempLevel := t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] IF nTempLevel <= nCurLevel exit ELSE @@ -163,10 +163,10 @@ return -1 * nCount ======================================================= */ static function pdfBookFirst( nRecno, nCurLevel, nObj ) /* ======================================================= */ -local nFirst := 0, nLen := len( s_aReport[ BOOKMARK ] ) +local nFirst := 0, nLen := len( t_aReport[ BOOKMARK ] ) ++nRecno IF nRecno <= nLen - IF nCurLevel + 1 == s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + IF nCurLevel + 1 == t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] nFirst := nRecno ENDIF ENDIF @@ -175,12 +175,12 @@ return IIF( nFirst == 0, nFirst, nObj + nFirst ) ====================================================== */ static function pdfBookLast( nRecno, nCurLevel, nObj ) /* ====================================================== */ -local nLast := 0, nLen := len( s_aReport[ BOOKMARK ] ) +local nLast := 0, nLen := len( t_aReport[ BOOKMARK ] ) ++nRecno IF nRecno <= nLen - IF nCurLevel + 1 == s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] - while nRecno <= nLen .and. nCurLevel + 1 <= s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] - IF nCurLevel + 1 == s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + IF nCurLevel + 1 == t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + while nRecno <= nLen .and. nCurLevel + 1 <= t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + IF nCurLevel + 1 == t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] nLast := nRecno ENDIF ++nRecno @@ -192,10 +192,10 @@ return IIF( nLast == 0, nLast, nObj + nLast ) ====================================================== */ static function pdfBookNext( nRecno, nCurLevel, nObj ) /* ====================================================== */ -local nTempLevel, nNext := 0, nLen := len( s_aReport[ BOOKMARK ] ) +local nTempLevel, nNext := 0, nLen := len( t_aReport[ BOOKMARK ] ) ++nRecno while nRecno <= nLen - nTempLevel := s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + nTempLevel := t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] IF nCurLevel > nTempLevel exit ELSEIF nCurLevel == nTempLevel @@ -211,7 +211,7 @@ return IIF( nNext == 0, nNext, nObj + nNext ) ======================= */ function pdfBookOpen( ) /* ======================= */ - s_aReport[ BOOKMARK ] := {} + t_aReport[ BOOKMARK ] := {} return Nil /* ======================================================== */ @@ -221,7 +221,7 @@ local nTempLevel local nParent := 0 --nRecno while nRecno > 0 - nTempLevel := s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + nTempLevel := t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] IF nTempLevel < nCurLevel nParent := nRecno exit @@ -237,7 +237,7 @@ local nTempLevel local nPrev := 0 --nRecno while nRecno > 0 - nTempLevel := s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + nTempLevel := t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] IF nCurLevel > nTempLevel exit ELSEIF nCurLevel == nTempLevel @@ -271,7 +271,7 @@ DEFAULT cColor to "" ENDIF // version 0.02 - IF s_aReport[ HEADEREDIT ] + IF t_aReport[ HEADEREDIT ] return pdfHeader( "PDFBOX", cId, { x1, y1, x2, y2, nBorder, nShade, cUnits } ) ENDIF @@ -281,20 +281,20 @@ DEFAULT cColor to "" IF nShade > 0 // version 0.02 - s_aReport[ PAGEBUFFER ] += CRLF + transform( 1.00 - nShade / 100.00, "9.99") + " g " + cBoxColor + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( y2 - y1 ))) + " -" + ltrim(str(pdfM2X( x2 - x1 ))) + " re f 0 g" + t_aReport[ PAGEBUFFER ] += CRLF + transform( 1.00 - nShade / 100.00, "9.99") + " g " + cBoxColor + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( y2 - y1 ))) + " -" + ltrim(str(pdfM2X( x2 - x1 ))) + " re f 0 g" ENDIF IF nBorder > 0 - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( y2 - y1 ))) + " -" + ltrim(str(pdfM2X( nBorder ))) + " re f" - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y2 - nBorder ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( nBorder ))) + " -" + ltrim(str(pdfM2X( x2 - x1 ))) + " re f" - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x2 - nBorder ))) + " " + ltrim(str(pdfM2X( y2 - y1 ))) + " -" + ltrim(str(pdfM2X( nBorder ))) + " re f" - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( nBorder ))) + " -" + ltrim(str(pdfM2X( x2 - x1 ))) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( y2 - y1 ))) + " -" + ltrim(str(pdfM2X( nBorder ))) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y2 - nBorder ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( nBorder ))) + " -" + ltrim(str(pdfM2X( x2 - x1 ))) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x2 - nBorder ))) + " " + ltrim(str(pdfM2X( y2 - y1 ))) + " -" + ltrim(str(pdfM2X( nBorder ))) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str(pdfM2X( y1 ))) + " " + ltrim(str(pdfM2Y( x1 ))) + " " + ltrim(str(pdfM2X( nBorder ))) + " -" + ltrim(str(pdfM2X( x2 - x1 ))) + " re f" ENDIF ELSEIF cUnits == "D"// "Dots" //x1, y1, x2, y2 - nTop, nLeft, nBottom, nRight IF nShade > 0 // version 0.02 - s_aReport[ PAGEBUFFER ] += CRLF + transform( 1.00 - nShade / 100.00, "9.99") + " g " + cBoxColor + ltrim(str( y1 )) + " " + ltrim(str( s_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( y2 - y1 )) + " -" + ltrim(str( x2 - x1 )) + " re f 0 g" + t_aReport[ PAGEBUFFER ] += CRLF + transform( 1.00 - nShade / 100.00, "9.99") + " g " + cBoxColor + ltrim(str( y1 )) + " " + ltrim(str( t_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( y2 - y1 )) + " -" + ltrim(str( x2 - x1 )) + " re f 0 g" ENDIF IF nBorder > 0 @@ -305,10 +305,10 @@ DEFAULT cColor to "" ÀÄÄÄÄÄÙ 3 */ - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y1 )) + " " + ltrim(str( s_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( y2 - y1 )) + " -" + ltrim(str( nBorder )) + " re f" - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y2 - nBorder )) + " " + ltrim(str( s_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( nBorder )) + " -" + ltrim(str( x2 - x1 )) + " re f" - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y1 )) + " " + ltrim(str( s_aReport[ PAGEY ] - x2 + nBorder )) + " " + ltrim(str( y2 - y1 )) + " -" + ltrim(str( nBorder )) + " re f" - s_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y1 )) + " " + ltrim(str( s_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( nBorder )) + " -" + ltrim(str( x2 - x1 )) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y1 )) + " " + ltrim(str( t_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( y2 - y1 )) + " -" + ltrim(str( nBorder )) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y2 - nBorder )) + " " + ltrim(str( t_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( nBorder )) + " -" + ltrim(str( x2 - x1 )) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y1 )) + " " + ltrim(str( t_aReport[ PAGEY ] - x2 + nBorder )) + " " + ltrim(str( y2 - y1 )) + " -" + ltrim(str( nBorder )) + " re f" + t_aReport[ PAGEBUFFER ] += CRLF + "0 g " + ltrim(str( y1 )) + " " + ltrim(str( t_aReport[ PAGEY ] - x1 )) + " " + ltrim(str( nBorder )) + " -" + ltrim(str( x2 - x1 )) + " re f" ENDIF ENDIF @@ -322,7 +322,7 @@ DEFAULT nBorderWidth to 0.5 DEFAULT cBorderColor to chr(0) + chr(0) + chr(0) DEFAULT cBoxColor to chr(255) + chr(255) + chr(255) - s_aReport[ PAGEBUFFER ] += CRLF + ; + t_aReport[ PAGEBUFFER ] += CRLF + ; Chr_RGB( substr( cBorderColor, 1, 1 )) + " " + ; Chr_RGB( substr( cBorderColor, 2, 1 )) + " " + ; Chr_RGB( substr( cBorderColor, 3, 1 )) + ; @@ -334,7 +334,7 @@ DEFAULT cBoxColor to chr(255) + chr(255) + chr(255) " rg" + ; CRLF + ltrim(str( nBorderWidth )) + " w" + ; CRLF + ltrim( str ( nLeft + nBorderWidth / 2 )) + " " + ; - CRLF + ltrim( str ( s_aReport[ PAGEY ] - nBottom + nBorderWidth / 2)) + " " + ; + CRLF + ltrim( str ( t_aReport[ PAGEY ] - nBottom + nBorderWidth / 2)) + " " + ; CRLF + ltrim( str ( nRight - nLeft - nBorderWidth )) + ; CRLF + ltrim( str ( nBottom - nTop - nBorderWidth )) + " " + ; " re" + ; @@ -345,12 +345,12 @@ return nil function pdfCenter( cString, nRow, nCol, cUnits, lExact, cId ) /* ============================================================== */ local nLen, nAt -DEFAULT nRow to s_aReport[ REPORTLINE ] +DEFAULT nRow to t_aReport[ REPORTLINE ] DEFAULT cUnits to "R" DEFAULT lExact to .f. -DEFAULT nCol to IIF( cUnits == "R", s_aReport[ REPORTWIDTH ] / 2, s_aReport[ PAGEX ] / 72 * 25.4 / 2 ) +DEFAULT nCol to IIF( cUnits == "R", t_aReport[ REPORTWIDTH ] / 2, t_aReport[ PAGEX ] / 72 * 25.4 / 2 ) - IF s_aReport[ HEADEREDIT ] + IF t_aReport[ HEADEREDIT ] return pdfHeader( "PDFCENTER", cId, { cString, nRow, nCol, cUnits, lExact } ) ENDIF @@ -362,20 +362,20 @@ DEFAULT nCol to IIF( cUnits == "R", s_aReport[ REPORTWIDTH ] / 2, s_aReport[ PAG IF cUnits == "R" IF !lExact pdfCheckLine( nRow ) - nRow := nRow + s_aReport[ PDFTOP ] + nRow := nRow + t_aReport[ PDFTOP ] ENDIF ENDIF - pdfAtSay( cString, pdfR2M( nRow ), IIF( cUnits == "R", s_aReport[ PDFLEFT ] + ( s_aReport[ PAGEX ] / 72 * 25.4 - 2 * s_aReport[ PDFLEFT ] ) * nCol / s_aReport[ REPORTWIDTH ], nCol ) - nLen, "M", lExact ) + pdfAtSay( cString, pdfR2M( nRow ), IIF( cUnits == "R", t_aReport[ PDFLEFT ] + ( t_aReport[ PAGEX ] / 72 * 25.4 - 2 * t_aReport[ PDFLEFT ] ) * nCol / t_aReport[ REPORTWIDTH ], nCol ) - nLen, "M", lExact ) return nil /* ==================================== */ static function pdfCheckLine( nRow ) /* ==================================== */ - IF nRow + s_aReport[ PDFTOP ] > s_aReport[ PDFBOTTOM ] + IF nRow + t_aReport[ PDFTOP ] > t_aReport[ PDFBOTTOM ] pdfNewPage() - nRow := s_aReport[ REPORTLINE ] + nRow := t_aReport[ REPORTLINE ] ENDIF - s_aReport[ REPORTLINE ] := nRow + t_aReport[ REPORTLINE ] := nRow return nil /* =================== */ @@ -388,28 +388,28 @@ local nI, cTemp, nCurLevel, nObj1, nLast, nCount, nFirst, nRecno, nBooklen pdfClosePage() // kids - s_aReport[ REFS ][ 2 ] := s_aReport[ DOCLEN ] + t_aReport[ REFS ][ 2 ] := t_aReport[ DOCLEN ] cTemp := ; "1 0 obj"+CRLF+; "<<"+CRLF+; - "/Type /Pages /Count " + ltrim(str(s_aReport[ REPORTPAGE ])) + CRLF +; + "/Type /Pages /Count " + ltrim(str(t_aReport[ REPORTPAGE ])) + CRLF +; "/Kids [" - for nI := 1 to s_aReport[ REPORTPAGE ] - cTemp += " " + ltrim(str( s_aReport[ PAGES ][ nI ] )) + " 0 R" + for nI := 1 to t_aReport[ REPORTPAGE ] + cTemp += " " + ltrim(str( t_aReport[ PAGES ][ nI ] )) + " 0 R" next cTemp += " ]" + CRLF + ; ">>" + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) // info - ++s_aReport[ REPORTOBJ ] - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) - cTemp := ltrim(str( s_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; + ++t_aReport[ REPORTOBJ ] + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) + cTemp := ltrim(str( t_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; "<<" + CRLF + ; "/Producer ()" + CRLF + ; "/Title ()" + CRLF + ; @@ -420,34 +420,34 @@ local nI, cTemp, nCurLevel, nObj1, nLast, nCount, nFirst, nRecno, nBooklen "/CreationDate (D:" + str(year(date()), 4) + padl( month(date()), 2, "0") + padl( day(date()), 2, "0") + substr( time(), 1, 2 ) + substr( time(), 4, 2 ) + substr( time(), 7, 2 ) + ")" + CRLF + ; ">>" + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) // root - ++s_aReport[ REPORTOBJ ] - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) - cTemp := ltrim(str( s_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; - "<< /Type /Catalog /Pages 1 0 R /Outlines " + ltrim(str( s_aReport[ REPORTOBJ ] + 1 )) + " 0 R" + IIF( ( nBookLen := len( s_aReport[ BOOKMARK ] )) > 0, " /PageMode /UseOutlines", "") + " >>" + CRLF + "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + ++t_aReport[ REPORTOBJ ] + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) + cTemp := ltrim(str( t_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; + "<< /Type /Catalog /Pages 1 0 R /Outlines " + ltrim(str( t_aReport[ REPORTOBJ ] + 1 )) + " 0 R" + IIF( ( nBookLen := len( t_aReport[ BOOKMARK ] )) > 0, " /PageMode /UseOutlines", "") + " >>" + CRLF + "endobj" + CRLF + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - ++s_aReport[ REPORTOBJ ] - nObj1 := s_aReport[ REPORTOBJ ] + ++t_aReport[ REPORTOBJ ] + nObj1 := t_aReport[ REPORTOBJ ] IF nBookLen > 0 nRecno := 1 - nFirst := s_aReport[ REPORTOBJ ] + 1 + nFirst := t_aReport[ REPORTOBJ ] + 1 nLast := 0 nCount := 0 while nRecno <= nBookLen - nCurLevel := s_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] - s_aReport[ BOOKMARK ][ nRecno ][ BOOKPARENT ] := pdfBookParent( nRecno, nCurLevel, s_aReport[ REPORTOBJ ] ) - s_aReport[ BOOKMARK ][ nRecno ][ BOOKPREV ] := pdfBookPrev( nRecno, nCurLevel, s_aReport[ REPORTOBJ ] ) - s_aReport[ BOOKMARK ][ nRecno ][ BOOKNEXT ] := pdfBookNext( nRecno, nCurLevel, s_aReport[ REPORTOBJ ] ) - s_aReport[ BOOKMARK ][ nRecno ][ BOOKFIRST ] := pdfBookFirst( nRecno, nCurLevel, s_aReport[ REPORTOBJ ] ) - s_aReport[ BOOKMARK ][ nRecno ][ BOOKLAST ] := pdfBookLast( nRecno, nCurLevel, s_aReport[ REPORTOBJ ] ) - s_aReport[ BOOKMARK ][ nRecno ][ BOOKCOUNT ] := pdfBookCount( nRecno, nCurLevel ) + nCurLevel := t_aReport[ BOOKMARK ][ nRecno ][ BOOKLEVEL ] + t_aReport[ BOOKMARK ][ nRecno ][ BOOKPARENT ] := pdfBookParent( nRecno, nCurLevel, t_aReport[ REPORTOBJ ] ) + t_aReport[ BOOKMARK ][ nRecno ][ BOOKPREV ] := pdfBookPrev( nRecno, nCurLevel, t_aReport[ REPORTOBJ ] ) + t_aReport[ BOOKMARK ][ nRecno ][ BOOKNEXT ] := pdfBookNext( nRecno, nCurLevel, t_aReport[ REPORTOBJ ] ) + t_aReport[ BOOKMARK ][ nRecno ][ BOOKFIRST ] := pdfBookFirst( nRecno, nCurLevel, t_aReport[ REPORTOBJ ] ) + t_aReport[ BOOKMARK ][ nRecno ][ BOOKLAST ] := pdfBookLast( nRecno, nCurLevel, t_aReport[ REPORTOBJ ] ) + t_aReport[ BOOKMARK ][ nRecno ][ BOOKCOUNT ] := pdfBookCount( nRecno, nCurLevel ) IF nCurLevel == 1 nLast := nRecno ++nCount @@ -455,69 +455,69 @@ local nI, cTemp, nCurLevel, nObj1, nLast, nCount, nFirst, nRecno, nBooklen ++nRecno enddo - nLast += s_aReport[ REPORTOBJ ] + nLast += t_aReport[ REPORTOBJ ] - cTemp := ltrim(str( s_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + "<< /Type /Outlines /Count " + ltrim(str( nCount )) + " /First " + ltrim(str( nFirst )) + " 0 R /Last " + ltrim(str( nLast )) + " 0 R >>" + CRLF + "endobj" //+ CRLF - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + cTemp := ltrim(str( t_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + "<< /Type /Outlines /Count " + ltrim(str( nCount )) + " /First " + ltrim(str( nFirst )) + " 0 R /Last " + ltrim(str( nLast )) + " 0 R >>" + CRLF + "endobj" //+ CRLF + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - ++s_aReport[ REPORTOBJ ] + ++t_aReport[ REPORTOBJ ] nRecno := 1 FOR nI := 1 to nBookLen - cTemp := CRLF + ltrim(str( s_aReport[ REPORTOBJ ] + nI - 1 )) + " 0 obj" + CRLF + ; + cTemp := CRLF + ltrim(str( t_aReport[ REPORTOBJ ] + nI - 1 )) + " 0 obj" + CRLF + ; "<<" + CRLF + ; - "/Parent " + ltrim(str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKPARENT ])) + " 0 R" + CRLF + ; - "/Dest [" + ltrim(str( s_aReport[ PAGES ][ s_aReport[ BOOKMARK ][ nRecno ][ BOOKPAGE ] ] )) + " 0 R /XYZ 0 " + ltrim( str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKCOORD ])) + " 0]" + CRLF + ; - "/Title (" + alltrim( s_aReport[ BOOKMARK ][ nRecno ][ BOOKTITLE ]) + ")" + CRLF + ; - IIF( s_aReport[ BOOKMARK ][ nRecno ][ BOOKPREV ] > 0, "/Prev " + ltrim(str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKPREV ])) + " 0 R" + CRLF, "") + ; - IIF( s_aReport[ BOOKMARK ][ nRecno ][ BOOKNEXT ] > 0, "/Next " + ltrim(str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKNEXT ])) + " 0 R" + CRLF, "") + ; - IIF( s_aReport[ BOOKMARK ][ nRecno ][ BOOKFIRST ] > 0, "/First " + ltrim(str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKFIRST ])) + " 0 R" + CRLF, "") + ; - IIF( s_aReport[ BOOKMARK ][ nRecno ][ BOOKLAST ] > 0, "/Last " + ltrim(str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKLAST ])) + " 0 R" + CRLF, "") + ; - IIF( s_aReport[ BOOKMARK ][ nRecno ][ BOOKCOUNT ] != 0, "/Count " + ltrim(str( s_aReport[ BOOKMARK ][ nRecno ][ BOOKCOUNT ])) + CRLF, "") + ; + "/Parent " + ltrim(str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKPARENT ])) + " 0 R" + CRLF + ; + "/Dest [" + ltrim(str( t_aReport[ PAGES ][ t_aReport[ BOOKMARK ][ nRecno ][ BOOKPAGE ] ] )) + " 0 R /XYZ 0 " + ltrim( str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKCOORD ])) + " 0]" + CRLF + ; + "/Title (" + alltrim( t_aReport[ BOOKMARK ][ nRecno ][ BOOKTITLE ]) + ")" + CRLF + ; + IIF( t_aReport[ BOOKMARK ][ nRecno ][ BOOKPREV ] > 0, "/Prev " + ltrim(str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKPREV ])) + " 0 R" + CRLF, "") + ; + IIF( t_aReport[ BOOKMARK ][ nRecno ][ BOOKNEXT ] > 0, "/Next " + ltrim(str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKNEXT ])) + " 0 R" + CRLF, "") + ; + IIF( t_aReport[ BOOKMARK ][ nRecno ][ BOOKFIRST ] > 0, "/First " + ltrim(str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKFIRST ])) + " 0 R" + CRLF, "") + ; + IIF( t_aReport[ BOOKMARK ][ nRecno ][ BOOKLAST ] > 0, "/Last " + ltrim(str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKLAST ])) + " 0 R" + CRLF, "") + ; + IIF( t_aReport[ BOOKMARK ][ nRecno ][ BOOKCOUNT ] != 0, "/Count " + ltrim(str( t_aReport[ BOOKMARK ][ nRecno ][ BOOKCOUNT ])) + CRLF, "") + ; ">>" + CRLF + "endobj" + CRLF - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] + 2 ) - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] + 2 ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) ++nRecno NEXT pdfBookClose() - s_aReport[ REPORTOBJ ] += nBookLen - 1 + t_aReport[ REPORTOBJ ] += nBookLen - 1 ELSE - cTemp := ltrim(str( s_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + "<< /Type /Outlines /Count 0 >>" + CRLF + "endobj" + CRLF - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + cTemp := ltrim(str( t_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + "<< /Type /Outlines /Count 0 >>" + CRLF + "endobj" + CRLF + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) ENDIF cTemp := CRLF - s_aReport[ DOCLEN ] += len( cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) - ++s_aReport[ REPORTOBJ ] + ++t_aReport[ REPORTOBJ ] cTemp += "xref" + CRLF + ; - "0 " + ltrim(str( s_aReport[ REPORTOBJ ] )) + CRLF +; - padl( s_aReport[ REFS ][ 1 ], 10, "0") + " 65535 f" + CRLF + "0 " + ltrim(str( t_aReport[ REPORTOBJ ] )) + CRLF +; + padl( t_aReport[ REFS ][ 1 ], 10, "0") + " 65535 f" + CRLF - for nI := 2 to len( s_aReport[ REFS ] ) - cTemp += padl( s_aReport[ REFS ][ nI ], 10, "0") + " 00000 n" + CRLF + for nI := 2 to len( t_aReport[ REFS ] ) + cTemp += padl( t_aReport[ REFS ][ nI ], 10, "0") + " 00000 n" + CRLF next - cTemp += "trailer << /Size " + ltrim(str( s_aReport[ REPORTOBJ ] )) + " /Root " + ltrim(str( nObj1 - 1 )) + " 0 R /Info " + ltrim(str( nObj1 - 2 )) + " 0 R >>" + CRLF + ; + cTemp += "trailer << /Size " + ltrim(str( t_aReport[ REPORTOBJ ] )) + " /Root " + ltrim(str( nObj1 - 1 )) + " 0 R /Info " + ltrim(str( nObj1 - 2 )) + " 0 R >>" + CRLF + ; "startxref" + CRLF + ; - ltrim(str( s_aReport[ DOCLEN ] )) + CRLF + ; + ltrim(str( t_aReport[ DOCLEN ] )) + CRLF + ; "%%EOF" + CRLF - fwrite( s_aReport[ HANDLE ], cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) /* - IF s_aReport[ OPTIMIZE ] + IF t_aReport[ OPTIMIZE ] pdfOptimize( ) coming ! ENDIF */ - fclose( s_aReport[ HANDLE ] ) + fclose( t_aReport[ HANDLE ] ) - s_aReport := nil + t_aReport := nil return nil /* @@ -526,166 +526,166 @@ static function pdfClosePage() /* ============================== */ local cTemp, cBuffer, nBuffer, nRead, nI, k, nImage, nFont, nImageHandle - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) - aadd( s_aReport[ PAGES ], s_aReport[ REPORTOBJ ] + 1 ) + aadd( t_aReport[ PAGES ], t_aReport[ REPORTOBJ ] + 1 ) cTemp := ; - ltrim(str( ++s_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; + ltrim(str( ++t_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; "<<" + CRLF + ; "/Type /Page /Parent 1 0 R" + CRLF + ; - "/Resources " + ltrim(str( ++s_aReport[ REPORTOBJ ] )) + " 0 R" + CRLF + ; - "/MediaBox [ 0 0 " + ltrim(transform( s_aReport[ PAGEX ], "9999.99")) + " " + ; - ltrim(transform(s_aReport[ PAGEY ], "9999.99")) + " ]" + CRLF + ; - "/Contents " + ltrim(str( ++s_aReport[ REPORTOBJ ] )) + " 0 R" + CRLF + ; + "/Resources " + ltrim(str( ++t_aReport[ REPORTOBJ ] )) + " 0 R" + CRLF + ; + "/MediaBox [ 0 0 " + ltrim(transform( t_aReport[ PAGEX ], "9999.99")) + " " + ; + ltrim(transform(t_aReport[ PAGEY ], "9999.99")) + " ]" + CRLF + ; + "/Contents " + ltrim(str( ++t_aReport[ REPORTOBJ ] )) + " 0 R" + CRLF + ; ">>" + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) cTemp := ; - ltrim(str(s_aReport[ REPORTOBJ ] - 1)) + " 0 obj" + CRLF + ; + ltrim(str(t_aReport[ REPORTOBJ ] - 1)) + " 0 obj" + CRLF + ; "<<"+CRLF+; "/ColorSpace << /DeviceRGB /DeviceGray >>" + CRLF + ; //version 0.01 "/ProcSet [ /PDF /Text /ImageB /ImageC ]" - IF len( s_aReport[ PAGEFONTS ] ) > 0 + IF len( t_aReport[ PAGEFONTS ] ) > 0 cTemp += CRLF + ; "/Font" + CRLF + ; "<<" - for nI := 1 to len( s_aReport[ PAGEFONTS ] ) - nFont := ascan( s_aReport[ FONTS ], { |arr| arr[1] == s_aReport[ PAGEFONTS ][ nI ] } ) - cTemp += CRLF + "/Fo" + ltrim(str( nFont )) + " " + ltrim(str( s_aReport[ FONTS ][ nFont ][ 2 ])) + " 0 R" + for nI := 1 to len( t_aReport[ PAGEFONTS ] ) + nFont := ascan( t_aReport[ FONTS ], { |arr| arr[1] == t_aReport[ PAGEFONTS ][ nI ] } ) + cTemp += CRLF + "/Fo" + ltrim(str( nFont )) + " " + ltrim(str( t_aReport[ FONTS ][ nFont ][ 2 ])) + " 0 R" next cTemp += CRLF + ">>" ENDIF - IF len( s_aReport[ PAGEIMAGES ] ) > 0 + IF len( t_aReport[ PAGEIMAGES ] ) > 0 cTemp += CRLF + "/XObject" + CRLF + "<<" - for nI := 1 to len( s_aReport[ PAGEIMAGES ] ) - nImage := ascan( s_aReport[ IMAGES ], { |arr| arr[1] == s_aReport[ PAGEIMAGES ][ nI ][ 1 ] } ) + for nI := 1 to len( t_aReport[ PAGEIMAGES ] ) + nImage := ascan( t_aReport[ IMAGES ], { |arr| arr[1] == t_aReport[ PAGEIMAGES ][ nI ][ 1 ] } ) IF nImage == 0 - aadd( s_aReport[ IMAGES ], { s_aReport[ PAGEIMAGES ][ nI ][ 1 ], ++s_aReport[ NEXTOBJ ], pdfImageInfo( s_aReport[ PAGEIMAGES ][ nI ][ 1 ] ) } ) - nImage := len( s_aReport[ IMAGES ] ) + aadd( t_aReport[ IMAGES ], { t_aReport[ PAGEIMAGES ][ nI ][ 1 ], ++t_aReport[ NEXTOBJ ], pdfImageInfo( t_aReport[ PAGEIMAGES ][ nI ][ 1 ] ) } ) + nImage := len( t_aReport[ IMAGES ] ) ENDIF - cTemp += CRLF + "/Image" + ltrim(str( nImage )) + " " + ltrim(str( s_aReport[ IMAGES ][ nImage ][ 2 ])) + " 0 R" + cTemp += CRLF + "/Image" + ltrim(str( nImage )) + " " + ltrim(str( t_aReport[ IMAGES ][ nImage ][ 2 ])) + " 0 R" next cTemp += CRLF + ">>" ENDIF cTemp += CRLF + ">>" + CRLF + "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) - cTemp := ltrim(str( s_aReport[ REPORTOBJ ] )) + " 0 obj << /Length " + ; - ltrim(str( s_aReport[ REPORTOBJ ] + 1 )) + " 0 R >>" + CRLF +; + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) + cTemp := ltrim(str( t_aReport[ REPORTOBJ ] )) + " 0 obj << /Length " + ; + ltrim(str( t_aReport[ REPORTOBJ ] + 1 )) + " 0 R >>" + CRLF +; "stream" - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - IF len( s_aReport[ PAGEIMAGES ] ) > 0 + IF len( t_aReport[ PAGEIMAGES ] ) > 0 cTemp := "" - for nI := 1 to len( s_aReport[ PAGEIMAGES ] ) + for nI := 1 to len( t_aReport[ PAGEIMAGES ] ) cTemp += CRLF + "q" - nImage := ascan( s_aReport[ IMAGES ], { |arr| arr[1] == s_aReport[ PAGEIMAGES ][ nI ][ 1 ] } ) - cTemp += CRLF + ltrim(str( IIF( s_aReport[ PAGEIMAGES ][ nI ][ 5 ] == 0, pdfM2X( s_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_WIDTH ] / s_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_XRES ] * 25.4 ), s_aReport[ PAGEIMAGES ][ nI ][ 5 ]))) + ; + nImage := ascan( t_aReport[ IMAGES ], { |arr| arr[1] == t_aReport[ PAGEIMAGES ][ nI ][ 1 ] } ) + cTemp += CRLF + ltrim(str( IIF( t_aReport[ PAGEIMAGES ][ nI ][ 5 ] == 0, pdfM2X( t_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_WIDTH ] / t_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_XRES ] * 25.4 ), t_aReport[ PAGEIMAGES ][ nI ][ 5 ]))) + ; " 0 0 " + ; - ltrim(str( IIF( s_aReport[ PAGEIMAGES ][ nI ][ 4 ] == 0, pdfM2X( s_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_HEIGHT ] / s_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_YRES ] * 25.4 ), s_aReport[ PAGEIMAGES ][ nI ][ 4 ]))) + ; - " " + ltrim(str( s_aReport[ PAGEIMAGES ][ nI ][ 3 ] )) + ; - " " + ltrim(str( s_aReport[ PAGEY ] - s_aReport[ PAGEIMAGES ][ nI ][ 2 ] - ; - IIF( s_aReport[ PAGEIMAGES ][ nI ][ 4 ] == 0, pdfM2X( s_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_HEIGHT ] / s_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_YRES ] * 25.4 ), s_aReport[ PAGEIMAGES ][ nI ][ 4 ]))) + " cm" + ltrim(str( IIF( t_aReport[ PAGEIMAGES ][ nI ][ 4 ] == 0, pdfM2X( t_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_HEIGHT ] / t_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_YRES ] * 25.4 ), t_aReport[ PAGEIMAGES ][ nI ][ 4 ]))) + ; + " " + ltrim(str( t_aReport[ PAGEIMAGES ][ nI ][ 3 ] )) + ; + " " + ltrim(str( t_aReport[ PAGEY ] - t_aReport[ PAGEIMAGES ][ nI ][ 2 ] - ; + IIF( t_aReport[ PAGEIMAGES ][ nI ][ 4 ] == 0, pdfM2X( t_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_HEIGHT ] / t_aReport[ IMAGES ][ nImage ][ 3 ][ IMAGE_YRES ] * 25.4 ), t_aReport[ PAGEIMAGES ][ nI ][ 4 ]))) + " cm" cTemp += CRLF + "/Image" + ltrim(str( nImage )) + " Do" cTemp += CRLF + "Q" next - s_aReport[ PAGEBUFFER ] := cTemp + s_aReport[ PAGEBUFFER ] + t_aReport[ PAGEBUFFER ] := cTemp + t_aReport[ PAGEBUFFER ] ENDIF - cTemp := s_aReport[ PAGEBUFFER ] + cTemp := t_aReport[ PAGEBUFFER ] cTemp += CRLF + "endstream" + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) - cTemp := ltrim(str( ++s_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; - ltrim(str(len( s_aReport[ PAGEBUFFER ] ))) + CRLF + ; + cTemp := ltrim(str( ++t_aReport[ REPORTOBJ ] )) + " 0 obj" + CRLF + ; + ltrim(str(len( t_aReport[ PAGEBUFFER ] ))) + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - for nI := 1 to len( s_aReport[ FONTS ] ) - IF s_aReport[ FONTS ][ nI ][ 2 ] > s_aReport[ REPORTOBJ ] + for nI := 1 to len( t_aReport[ FONTS ] ) + IF t_aReport[ FONTS ][ nI ][ 2 ] > t_aReport[ REPORTOBJ ] - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) cTemp := ; - ltrim(str( s_aReport[ FONTS ][ nI ][ 2 ] )) + " 0 obj" + CRLF + ; + ltrim(str( t_aReport[ FONTS ][ nI ][ 2 ] )) + " 0 obj" + CRLF + ; "<<" + CRLF + ; "/Type /Font" + CRLF + ; "/Subtype /Type1" + CRLF + ; "/Name /Fo" + ltrim(str( nI )) + CRLF + ; - "/BaseFont /" + s_aReport[ TYPE1 ][ s_aReport[ FONTS ][ nI ][ 1 ] ] + CRLF + ; + "/BaseFont /" + t_aReport[ TYPE1 ][ t_aReport[ FONTS ][ nI ][ 1 ] ] + CRLF + ; "/Encoding /WinAnsiEncoding" + CRLF + ; ">>" + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) ENDIF next - for nI := 1 to len( s_aReport[ IMAGES ] ) - IF s_aReport[ IMAGES ][ nI ][ 2 ] > s_aReport[ REPORTOBJ ] + for nI := 1 to len( t_aReport[ IMAGES ] ) + IF t_aReport[ IMAGES ][ nI ][ 2 ] > t_aReport[ REPORTOBJ ] - aadd( s_aReport[ REFS ], s_aReport[ DOCLEN ] ) + aadd( t_aReport[ REFS ], t_aReport[ DOCLEN ] ) // "/Filter /CCITTFaxDecode" for B&W only ? cTemp := ; - ltrim(str( s_aReport[ IMAGES ][ nI ][ 2 ] )) + " 0 obj" + CRLF + ; + ltrim(str( t_aReport[ IMAGES ][ nI ][ 2 ] )) + " 0 obj" + CRLF + ; "<<" + CRLF + ; "/Type /XObject" + CRLF + ; "/Subtype /Image" + CRLF + ; "/Name /Image" + ltrim(str(nI)) + CRLF + ; - "/Filter [" + IIF( at( ".jpg", lower( s_aReport[ IMAGES ][ nI ][ 1 ]) ) > 0, " /DCTDecode", "" ) + " ]" + CRLF + ; - "/Width " + ltrim(str( s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_WIDTH ] )) + CRLF + ; - "/Height " + ltrim(str( s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_HEIGHT ] )) + CRLF + ; - "/BitsPerComponent " + ltrim(str( s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_BITS ] )) + CRLF + ; - "/ColorSpace /" + IIF( s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_SPACE ] == 1, "DeviceGray", "DeviceRGB") + CRLF + ; - "/Length " + ltrim(str( s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ])) + CRLF + ; + "/Filter [" + IIF( at( ".jpg", lower( t_aReport[ IMAGES ][ nI ][ 1 ]) ) > 0, " /DCTDecode", "" ) + " ]" + CRLF + ; + "/Width " + ltrim(str( t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_WIDTH ] )) + CRLF + ; + "/Height " + ltrim(str( t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_HEIGHT ] )) + CRLF + ; + "/BitsPerComponent " + ltrim(str( t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_BITS ] )) + CRLF + ; + "/ColorSpace /" + IIF( t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_SPACE ] == 1, "DeviceGray", "DeviceRGB") + CRLF + ; + "/Length " + ltrim(str( t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ])) + CRLF + ; ">>" + CRLF + ; "stream" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) - nImageHandle := fopen( s_aReport[ IMAGES ][ nI ][ 1 ] ) - fseek( nImageHandle, s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_FROM ] ) + nImageHandle := fopen( t_aReport[ IMAGES ][ nI ][ 1 ] ) + fseek( nImageHandle, t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_FROM ] ) nBuffer := 8192 cBuffer := space( nBuffer ) k := 0 - while k < s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ] - IF k + nBuffer <= s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ] + while k < t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ] + IF k + nBuffer <= t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ] nRead := nBuffer ELSE - nRead := s_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ] - k + nRead := t_aReport[ IMAGES ][ nI ][ 3 ][ IMAGE_LENGTH ] - k ENDIF fread( nImageHandle, @cBuffer, nRead ) - s_aReport[ DOCLEN ] += nRead - fwrite( s_aReport[ HANDLE ], cBuffer, nRead ) + t_aReport[ DOCLEN ] += nRead + fwrite( t_aReport[ HANDLE ], cBuffer, nRead ) k += nRead enddo @@ -694,17 +694,17 @@ local cTemp, cBuffer, nBuffer, nRead, nI, k, nImage, nFont, nImageHandle cTemp := CRLF + "endstream" + CRLF + ; "endobj" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) ENDIF next - s_aReport[ REPORTOBJ ] := s_aReport[ NEXTOBJ ] + t_aReport[ REPORTOBJ ] := t_aReport[ NEXTOBJ ] - s_aReport[ NEXTOBJ ] := s_aReport[ REPORTOBJ ] + 4 + t_aReport[ NEXTOBJ ] := t_aReport[ REPORTOBJ ] + 4 - s_aReport[ PAGEBUFFER ] := "" + t_aReport[ PAGEBUFFER ] := "" return nil /* @@ -713,15 +713,15 @@ static function pdfGetFontInfo( cParam ) /* ======================================== */ local cRet IF cParam == "NAME" - IF left( s_aReport[ TYPE1 ][ s_aReport[ FONTNAME ] ], 5 ) == "Times" + IF left( t_aReport[ TYPE1 ][ t_aReport[ FONTNAME ] ], 5 ) == "Times" cRet := "Times" - ELSEIF left( s_aReport[ TYPE1 ][ s_aReport[ FONTNAME ] ], 9 ) == "Helvetica" + ELSEIF left( t_aReport[ TYPE1 ][ t_aReport[ FONTNAME ] ], 9 ) == "Helvetica" cRet := "Helvetica" ELSE cRet := "Courier" // 0.04 ENDIF ELSE // size - cRet := int(( s_aReport[ FONTNAME ] - 1 ) % 4) + cRet := int(( t_aReport[ FONTNAME ] - 1 ) % 4) ENDIF return cRet /* @@ -729,35 +729,35 @@ return cRet function pdfImage( cFile, nRow, nCol, cUnits, nHeight, nWidth, cId ) /* ==================================================================== */ -DEFAULT nRow to s_aReport[ REPORTLINE ] +DEFAULT nRow to t_aReport[ REPORTLINE ] DEFAULT nCol to 0 DEFAULT nHeight to 0 DEFAULT nWidth to 0 DEFAULT cUnits to "R" DEFAULT cId to "" - IF s_aReport[ HEADEREDIT ] + IF t_aReport[ HEADEREDIT ] return pdfHeader( "PDFIMAGE", cId, { cFile, nRow, nCol, cUnits, nHeight, nWidth } ) ENDIF IF cUnits == "M" - nRow := s_aReport[ PAGEY ] - pdfM2Y( nRow ) + nRow := t_aReport[ PAGEY ] - pdfM2Y( nRow ) nCol := pdfM2X( nCol ) - nHeight := s_aReport[ PAGEY ] - pdfM2Y( nHeight ) + nHeight := t_aReport[ PAGEY ] - pdfM2Y( nHeight ) nWidth := pdfM2X( nWidth ) ELSEIF cUnits == "R" - nRow := s_aReport[ PAGEY ] - pdfR2D( nRow ) - nCol := pdfM2X( s_aReport[ PDFLEFT ] ) + ; - nCol * 100.00 / s_aReport[ REPORTWIDTH ] * ; - ( s_aReport[ PAGEX ] - pdfM2X( s_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 - nHeight := s_aReport[ PAGEY ] - pdfR2D( nHeight ) - nWidth := pdfM2X( s_aReport[ PDFLEFT ] ) + ; - nWidth * 100.00 / s_aReport[ REPORTWIDTH ] * ; - ( s_aReport[ PAGEX ] - pdfM2X( s_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 + nRow := t_aReport[ PAGEY ] - pdfR2D( nRow ) + nCol := pdfM2X( t_aReport[ PDFLEFT ] ) + ; + nCol * 100.00 / t_aReport[ REPORTWIDTH ] * ; + ( t_aReport[ PAGEX ] - pdfM2X( t_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 + nHeight := t_aReport[ PAGEY ] - pdfR2D( nHeight ) + nWidth := pdfM2X( t_aReport[ PDFLEFT ] ) + ; + nWidth * 100.00 / t_aReport[ REPORTWIDTH ] * ; + ( t_aReport[ PAGEX ] - pdfM2X( t_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 ELSEIF cUnits == "D" ENDIF - aadd( s_aReport[ PAGEIMAGES ], { cFile, nRow, nCol, nHeight, nWidth } ) + aadd( t_aReport[ PAGEIMAGES ], { cFile, nRow, nCol, nHeight, nWidth } ) return nil /* @@ -765,22 +765,22 @@ return nil function pdfItalic() /* ==================== */ IF pdfGetFontInfo("NAME") = "Times" - s_aReport[ FONTNAME ] := 3 + t_aReport[ FONTNAME ] := 3 ELSEIF pdfGetFontInfo("NAME") = "Helvetica" - s_aReport[ FONTNAME ] := 7 + t_aReport[ FONTNAME ] := 7 ELSE - s_aReport[ FONTNAME ] := 11 // 0.04 + t_aReport[ FONTNAME ] := 11 // 0.04 ENDIF - aadd( s_aReport[ PAGEFONTS ], s_aReport[ FONTNAME ] ) - IF ascan( s_aReport[ FONTS ], { |arr| arr[1] == s_aReport[ FONTNAME ] } ) == 0 - aadd( s_aReport[ FONTS ], { s_aReport[ FONTNAME ], ++s_aReport[ NEXTOBJ ] } ) + aadd( t_aReport[ PAGEFONTS ], t_aReport[ FONTNAME ] ) + IF ascan( t_aReport[ FONTS ], { |arr| arr[1] == t_aReport[ FONTNAME ] } ) == 0 + aadd( t_aReport[ FONTS ], { t_aReport[ FONTNAME ], ++t_aReport[ NEXTOBJ ] } ) ENDIF return nil /* ========================== */ function pdfLen( cString ) /* ========================== */ -local nWidth := 0.00, nI, nLen, nArr, nAdd := ( s_aReport[ FONTNAME ] - 1 ) % 4 +local nWidth := 0.00, nI, nLen, nArr, nAdd := ( t_aReport[ FONTNAME ] - 1 ) % 4 nLen := len( cString ) IF right( cString, 1 ) == chr(255) .or. right( cString, 1 ) == chr(254 )// reverse or underline @@ -793,10 +793,10 @@ local nWidth := 0.00, nI, nLen, nArr, nAdd := ( s_aReport[ FONTNAME ] - 1 ) % 4 ELSE nArr := 3 // 0.04 ENDIF - - if !empty( s_aReport[ FONTWIDTH ] ) + + if !empty( t_aReport[ FONTWIDTH ] ) For nI:= 1 To nLen - nWidth += s_aReport[ FONTWIDTH ][ nArr ][ ( asc( substr( cString, nI, 1 )) - 32 ) * 4 + 1 + nAdd ] * 25.4 * s_aReport[ FONTSIZE ] / 720.00 / 100.00 + nWidth += t_aReport[ FONTWIDTH ][ nArr ][ ( asc( substr( cString, nI, 1 )) - 32 ) * 4 + 1 + nAdd ] * 25.4 * t_aReport[ FONTSIZE ] / 720.00 / 100.00 Next endif @@ -805,7 +805,7 @@ return nWidth ============================ */ static function pdfM2R( mm ) /* ============================ */ -return int( s_aReport[ LPI ] * mm / 25.4 ) +return int( t_aReport[ LPI ] * mm / 25.4 ) /* =========================== */ static function pdfM2X( n ) /* @@ -815,39 +815,39 @@ return n * 72 / 25.4 =========================== */ static function pdfM2Y( n ) /* =========================== */ -return s_aReport[ PAGEY ] - n * 72 / 25.4 +return t_aReport[ PAGEY ] - n * 72 / 25.4 /* ======================== */ function pdfNewLine( n ) /* ======================== */ DEFAULT n to 1 - IF s_aReport[ REPORTLINE ] + n + s_aReport[ PDFTOP ] > s_aReport[ PDFBOTTOM ] + IF t_aReport[ REPORTLINE ] + n + t_aReport[ PDFTOP ] > t_aReport[ PDFBOTTOM ] pdfNewPage() - s_aReport[ REPORTLINE ] += 1 + t_aReport[ REPORTLINE ] += 1 ELSE - s_aReport[ REPORTLINE ] += n + t_aReport[ REPORTLINE ] += n ENDIF -return s_aReport[ REPORTLINE ] +return t_aReport[ REPORTLINE ] /* ==========================================================================================*/ function pdfNewPage( _cPageSize, _cPageOrient, _nLpi, _cFontName, _nFontType, _nFontSize )/* ==========================================================================================*/ -DEFAULT _cPageSize to s_aReport[ PAGESIZE ] -DEFAULT _cPageOrient to s_aReport[ PAGEORIENT ] -DEFAULT _nLpi to s_aReport[ LPI ] +DEFAULT _cPageSize to t_aReport[ PAGESIZE ] +DEFAULT _cPageOrient to t_aReport[ PAGEORIENT ] +DEFAULT _nLpi to t_aReport[ LPI ] DEFAULT _cFontName to pdfGetFontInfo("NAME") DEFAULT _nFontType to pdfGetFontInfo("TYPE") -DEFAULT _nFontSize to s_aReport[ FONTSIZE ] +DEFAULT _nFontSize to t_aReport[ FONTSIZE ] - IF !empty(s_aReport[ PAGEBUFFER ]) + IF !empty(t_aReport[ PAGEBUFFER ]) pdfClosePage() ENDIF - s_aReport[ PAGEFONTS ] := {} - s_aReport[ PAGEIMAGES ] := {} + t_aReport[ PAGEFONTS ] := {} + t_aReport[ PAGEIMAGES ] := {} - ++s_aReport[ REPORTPAGE ] // NEW !!! + ++t_aReport[ REPORTPAGE ] // NEW !!! pdfPageSize( _cPageSize ) pdfPageOrient( _cPageOrient ) @@ -857,24 +857,24 @@ DEFAULT _nFontSize to s_aReport[ FONTSIZE ] pdfDrawHeader() - s_aReport[ REPORTLINE ] := 0//5 - s_aReport[ FONTNAMEPREV ] := 0 - s_aReport[ FONTSIZEPREV ] := 0 + t_aReport[ REPORTLINE ] := 0//5 + t_aReport[ FONTNAMEPREV ] := 0 + t_aReport[ FONTSIZEPREV ] := 0 return nil /* ==================== */ function pdfNormal() /* ==================== */ IF pdfGetFontInfo("NAME") = "Times" - s_aReport[ FONTNAME ] := 1 + t_aReport[ FONTNAME ] := 1 ELSEIF pdfGetFontInfo("NAME") = "Helvetica" - s_aReport[ FONTNAME ] := 5 + t_aReport[ FONTNAME ] := 5 ELSE - s_aReport[ FONTNAME ] := 9 // 0.04 + t_aReport[ FONTNAME ] := 9 // 0.04 ENDIF - aadd( s_aReport[ PAGEFONTS ], s_aReport[ FONTNAME ] ) - IF ascan( s_aReport[ FONTS ], { |arr| arr[1] == s_aReport[ FONTNAME ] } ) == 0 - aadd( s_aReport[ FONTS ], { s_aReport[ FONTNAME ], ++s_aReport[ NEXTOBJ ] } ) + aadd( t_aReport[ PAGEFONTS ], t_aReport[ FONTNAME ] ) + IF ascan( t_aReport[ FONTS ], { |arr| arr[1] == t_aReport[ FONTNAME ] } ) == 0 + aadd( t_aReport[ FONTS ], { t_aReport[ FONTNAME ], ++t_aReport[ NEXTOBJ ] } ) ENDIF return nil /* @@ -885,66 +885,66 @@ local cTemp, nI, nJ, n1, n2 := 896, n12 DEFAULT nLen to 200 DEFAULT lOptimize to .f. - s_aReport[ FONTNAME ] := 1 - s_aReport[ FONTSIZE ] := 10 - s_aReport[ LPI ] := 6 - s_aReport[ PAGESIZE ] := "LETTER" - s_aReport[ PAGEORIENT ] := "P" - s_aReport[ PAGEX ] := 8.5 * 72 - s_aReport[ PAGEY ] := 11.0 * 72 - s_aReport[ REPORTWIDTH ] := nLen // 200 // should be as parameter - s_aReport[ REPORTPAGE ] := 0 - s_aReport[ REPORTLINE ] := 0//5 - s_aReport[ FONTNAMEPREV ] := 0 - s_aReport[ FONTSIZEPREV ] := 0 - s_aReport[ PAGEBUFFER ] := "" - s_aReport[ REPORTOBJ ] := 1//2 - s_aReport[ DOCLEN ] := 0 - s_aReport[ TYPE1 ] := { "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic", "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique", "Courier", "Courier-Bold", "Courier-Oblique", "Courier-BoldOblique" } // 0.04 - s_aReport[ MARGINS ] := .t. - s_aReport[ HEADEREDIT ] := .f. - s_aReport[ NEXTOBJ ] := 0 - s_aReport[ PDFTOP ] := 1 // top - s_aReport[ PDFLEFT ] := 10 // left & right - s_aReport[ PDFBOTTOM ] := s_aReport[ PAGEY ] / 72 * s_aReport[ LPI ] - 1 // bottom, default "LETTER", "P", 6 - s_aReport[ HANDLE ] := fcreate( cFile ) - s_aReport[ PAGES ] := {} - s_aReport[ REFS ] := { 0, 0 } - s_aReport[ BOOKMARK ] := {} - s_aReport[ HEADER ] := {} - s_aReport[ FONTS ] := {} - s_aReport[ IMAGES ] := {} - s_aReport[ PAGEIMAGES ] := {} - s_aReport[ PAGEFONTS ] := {} + t_aReport[ FONTNAME ] := 1 + t_aReport[ FONTSIZE ] := 10 + t_aReport[ LPI ] := 6 + t_aReport[ PAGESIZE ] := "LETTER" + t_aReport[ PAGEORIENT ] := "P" + t_aReport[ PAGEX ] := 8.5 * 72 + t_aReport[ PAGEY ] := 11.0 * 72 + t_aReport[ REPORTWIDTH ] := nLen // 200 // should be as parameter + t_aReport[ REPORTPAGE ] := 0 + t_aReport[ REPORTLINE ] := 0//5 + t_aReport[ FONTNAMEPREV ] := 0 + t_aReport[ FONTSIZEPREV ] := 0 + t_aReport[ PAGEBUFFER ] := "" + t_aReport[ REPORTOBJ ] := 1//2 + t_aReport[ DOCLEN ] := 0 + t_aReport[ TYPE1 ] := { "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic", "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique", "Courier", "Courier-Bold", "Courier-Oblique", "Courier-BoldOblique" } // 0.04 + t_aReport[ MARGINS ] := .t. + t_aReport[ HEADEREDIT ] := .f. + t_aReport[ NEXTOBJ ] := 0 + t_aReport[ PDFTOP ] := 1 // top + t_aReport[ PDFLEFT ] := 10 // left & right + t_aReport[ PDFBOTTOM ] := t_aReport[ PAGEY ] / 72 * t_aReport[ LPI ] - 1 // bottom, default "LETTER", "P", 6 + t_aReport[ HANDLE ] := fcreate( cFile ) + t_aReport[ PAGES ] := {} + t_aReport[ REFS ] := { 0, 0 } + t_aReport[ BOOKMARK ] := {} + t_aReport[ HEADER ] := {} + t_aReport[ FONTS ] := {} + t_aReport[ IMAGES ] := {} + t_aReport[ PAGEIMAGES ] := {} + t_aReport[ PAGEFONTS ] := {} // TOFIX: This external file dependency should be removed. cTemp := vpdf_FontsDat() // times, times-bold, times-italic, times-bolditalic, helvetica..., courier... // 0.04 n1 := len( cTemp ) / ( 2 * n2 ) - s_aReport[ FONTWIDTH ] := array( n1, n2 ) + t_aReport[ FONTWIDTH ] := array( n1, n2 ) - s_aReport[ OPTIMIZE ] := lOptimize + t_aReport[ OPTIMIZE ] := lOptimize - s_aReport[ NEXTOBJ ] := s_aReport[ REPORTOBJ ] + 4 + t_aReport[ NEXTOBJ ] := t_aReport[ REPORTOBJ ] + 4 n12 := 2 * n2 // 0.04 for nI := 1 to n1 for nJ := 1 to n2 - s_aReport[ FONTWIDTH ][ nI ][ nJ ] := bin2i(substr( cTemp, ( nI - 1 ) * n12 + ( nJ - 1 ) * 2 + 1, 2 )) + t_aReport[ FONTWIDTH ][ nI ][ nJ ] := bin2i(substr( cTemp, ( nI - 1 ) * n12 + ( nJ - 1 ) * 2 + 1, 2 )) next next - s_aReport[ DOCLEN ] := 0 + t_aReport[ DOCLEN ] := 0 cTemp := "%PDF-1.3" + CRLF - s_aReport[ DOCLEN ] += len( cTemp ) - fwrite( s_aReport[ HANDLE ], cTemp ) + t_aReport[ DOCLEN ] += len( cTemp ) + fwrite( t_aReport[ HANDLE ], cTemp ) return nil /* ================================== */ function pdfPageSize( _cPageSize, _nWidth, _nHeight ) /* ================================== */ -local nSize, aSize, nWidth, nHeight +local nSize, aSize, nWidth, nHeight aSize := { { "LETTER", 8.50, 11.00 }, ; { "LEGAL" , 8.50, 14.00 }, ; @@ -962,7 +962,7 @@ local nSize, aSize, nWidth, nHeight { "DL", 4.33, 8.66 }, ; { "B5", 6.93, 9.84 }, ; { "USSTDFOLD", 14.87, 11.00 } } - + DEFAULT _cPageSize to "LETTER" if empty( _nWidth ) .or. empty( _nHeight ) @@ -973,9 +973,9 @@ local nSize, aSize, nWidth, nHeight nSize := 1 ENDIF - s_aReport[ PAGESIZE ] := aSize[ nSize ][ 1 ] + t_aReport[ PAGESIZE ] := aSize[ nSize ][ 1 ] - nWidth := aSize[ nSize ][ 2 ] + nWidth := aSize[ nSize ][ 2 ] nHeight := aSize[ nSize ][ 3 ] else @@ -987,27 +987,27 @@ local nSize, aSize, nWidth, nHeight if nSize == 0 nSize := ascan( aSize, { |arr| ( arr[ 3 ] == _nWidth ) .and. ( arr[ 2 ] == _nHeight ) } ) - endif + endif IF nSize = 0 nSize := 1 ENDIF - s_aReport[ PAGESIZE ] := aSize[ nSize ][ 1 ] + t_aReport[ PAGESIZE ] := aSize[ nSize ][ 1 ] nWidth = _nWidth nHeight = _nHeight - - endif - IF s_aReport[ PAGEORIENT ] = "P" - s_aReport[ PAGEX ] := nWidth * 72 - s_aReport[ PAGEY ] := nHeight * 72 + endif + + IF t_aReport[ PAGEORIENT ] = "P" + t_aReport[ PAGEX ] := nWidth * 72 + t_aReport[ PAGEY ] := nHeight * 72 ELSE - s_aReport[ PAGEX ] := nHeight * 72 - s_aReport[ PAGEY ] := nWidth * 72 + t_aReport[ PAGEX ] := nHeight * 72 + t_aReport[ PAGEY ] := nWidth * 72 ENDIF - + return nil /* ====================================== */ @@ -1015,29 +1015,29 @@ function pdfPageOrient( _cPageOrient ) /* ====================================== */ DEFAULT _cPageOrient to "P" - s_aReport[ PAGEORIENT ] := _cPageOrient - pdfPageSize( s_aReport[ PAGESIZE ] ) + t_aReport[ PAGEORIENT ] := _cPageOrient + pdfPageSize( t_aReport[ PAGESIZE ] ) return nil /* ============================== */ static function pdfR2D( nRow ) /* ============================== */ -return s_aReport[ PAGEY ] - nRow * 72 / s_aReport[ LPI ] +return t_aReport[ PAGEY ] - nRow * 72 / t_aReport[ LPI ] /* ============================== */ static function pdfR2M( nRow ) /* ============================== */ -return 25.4 * nRow / s_aReport[ LPI ] +return 25.4 * nRow / t_aReport[ LPI ] /* =========================== */ function pdfPageNumber( n ) /* =========================== */ DEFAULT n to 0 IF n > 0 - s_aReport[ REPORTPAGE ] := n // NEW !!! + t_aReport[ REPORTPAGE ] := n // NEW !!! ENDIF -return s_aReport[ REPORTPAGE ] +return t_aReport[ REPORTPAGE ] /* ============================== */ function pdfReverse( cString ) /* @@ -1048,11 +1048,11 @@ return cString + chr(255) function pdfRJust( cString, nRow, nCol, cUnits, lExact, cId ) /* ============================================================= */ local nLen, nAdj := 1.0, nAt -DEFAULT nRow to s_aReport[ REPORTLINE ] +DEFAULT nRow to t_aReport[ REPORTLINE ] DEFAULT cUnits to "R" DEFAULT lExact to .f. - IF s_aReport[ HEADEREDIT ] + IF t_aReport[ HEADEREDIT ] return pdfHeader( "PDFRJUST", cId, { cString, nRow, nCol, cUnits, lExact } ) ENDIF @@ -1065,10 +1065,10 @@ DEFAULT lExact to .f. IF cUnits == "R" IF !lExact pdfCheckLine( nRow ) - nRow := nRow + s_aReport[ PDFTOP ] + nRow := nRow + t_aReport[ PDFTOP ] ENDIF ENDIF - pdfAtSay( cString, pdfR2M( nRow ), IIF( cUnits == "R", s_aReport[ PDFLEFT ] + ( s_aReport[ PAGEX ] / 72 * 25.4 - 2 * s_aReport[ PDFLEFT ] ) * nCol / s_aReport[ REPORTWIDTH ] - nAdj, nCol ) - nLen, "M", lExact ) + pdfAtSay( cString, pdfR2M( nRow ), IIF( cUnits == "R", t_aReport[ PDFLEFT ] + ( t_aReport[ PAGEX ] / 72 * 25.4 - 2 * t_aReport[ PDFLEFT ] ) * nCol / t_aReport[ REPORTWIDTH ] - nAdj, nCol ) - nLen, "M", lExact ) return nil /* ================================================== */ @@ -1079,25 +1079,25 @@ DEFAULT _cFont to "Times" DEFAULT _nType to 0 DEFAULT _nSize to 10 - IF s_aReport[ HEADEREDIT ] + IF t_aReport[ HEADEREDIT ] return pdfHeader( "PDFSETFONT", cId, { _cFont, _nType, _nSize } ) ENDIF _cFont := upper( _cFont ) - s_aReport[ FONTSIZE ] := _nSize + t_aReport[ FONTSIZE ] := _nSize IF _cFont == "TIMES" - s_aReport[ FONTNAME ] := _nType + 1 + t_aReport[ FONTNAME ] := _nType + 1 ELSEIF _cFont == "HELVETICA" - s_aReport[ FONTNAME ] := _nType + 5 + t_aReport[ FONTNAME ] := _nType + 5 ELSE - s_aReport[ FONTNAME ] := _nType + 9 // 0.04 + t_aReport[ FONTNAME ] := _nType + 9 // 0.04 ENDIF - aadd( s_aReport[ PAGEFONTS ], s_aReport[ FONTNAME ] ) + aadd( t_aReport[ PAGEFONTS ], t_aReport[ FONTNAME ] ) - IF ascan( s_aReport[ FONTS ], { |arr| arr[1] == s_aReport[ FONTNAME ] } ) == 0 - aadd( s_aReport[ FONTS ], { s_aReport[ FONTNAME ], ++s_aReport[ NEXTOBJ ] } ) + IF ascan( t_aReport[ FONTS ], { |arr| arr[1] == t_aReport[ FONTNAME ] } ) == 0 + aadd( t_aReport[ FONTS ], { t_aReport[ FONTNAME ], ++t_aReport[ NEXTOBJ ] } ) ENDIF return nil /* @@ -1108,9 +1108,9 @@ local cLpi := alltrim(str(_nLpi)) DEFAULT _nLpi to 6 cLpi := iif(cLpi$"1;2;3;4;6;8;12;16;24;48",cLpi,"6") - s_aReport[ LPI ] := val( cLpi ) + t_aReport[ LPI ] := val( cLpi ) - pdfPageSize( s_aReport[ PAGESIZE ] ) + pdfPageSize( t_aReport[ PAGESIZE ] ) return nil /* ============================== */ @@ -1140,12 +1140,12 @@ DEFAULT cColor to "" IF cUnits == "M" nTop := pdfM2R( nTop ) ELSEIF cUnits == "R" - nLeft := pdfX2M( pdfM2X( s_aReport[ PDFLEFT ] ) + ; - nLeft * 100.00 / s_aReport[ REPORTWIDTH ] * ; - ( s_aReport[ PAGEX ] - pdfM2X( s_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 ) + nLeft := pdfX2M( pdfM2X( t_aReport[ PDFLEFT ] ) + ; + nLeft * 100.00 / t_aReport[ REPORTWIDTH ] * ; + ( t_aReport[ PAGEX ] - pdfM2X( t_aReport[ PDFLEFT ] ) * 2 - 9.0 ) / 100.00 ) ENDIF - s_aReport[ REPORTLINE ] := nTop - 1 + t_aReport[ REPORTLINE ] := nTop - 1 nSpace := pdfLen( " " ) nLines := 0 @@ -1209,7 +1209,7 @@ DEFAULT cColor to "" IF lPrint nRow := pdfNewLine( 1 ) // version 0.02 - pdfAtSay( cColor + cTemp, pdfR2M( nRow + s_aReport[ PDFTOP ] ), nL, "M" ) + pdfAtSay( cColor + cTemp, pdfR2M( nRow + t_aReport[ PDFTOP ] ), nL, "M" ) ENDIF enddo ++nI @@ -1271,7 +1271,7 @@ local nFinish, nL, nB, nJ, cToken, nRow cToken := token( cString, cDelim, nJ ) IF lPrint // version 0.02 - pdfAtSay( cColor + cToken, pdfR2M( nRow + s_aReport[ PDFTOP ] ), nL, "M" ) + pdfAtSay( cColor + cToken, pdfR2M( nRow + t_aReport[ PDFTOP ] ), nL, "M" ) ENDIF nL += pdfLen ( cToken ) + nB next @@ -1335,63 +1335,63 @@ DEFAULT cFile to "" copy file (cFile) to temp.tmp cFile := "temp.tmp" ENDIF - //s_aReport[ HEADER ] := FT_RestArr( cFile, @nErrorCode ) - s_aReport[ HEADER ] := File2Array( cFile ) + //t_aReport[ HEADER ] := FT_RestArr( cFile, @nErrorCode ) + t_aReport[ HEADER ] := File2Array( cFile ) ELSE - s_aReport[ HEADER ] := {} + t_aReport[ HEADER ] := {} ENDIF - s_aReport[ MARGINS ] := .t. + t_aReport[ MARGINS ] := .t. return nil function pdfEditOnHeader() - s_aReport[ HEADEREDIT ] := .t. - s_aReport[ MARGINS ] := .t. + t_aReport[ HEADEREDIT ] := .t. + t_aReport[ MARGINS ] := .t. return nil function pdfEditOffHeader() - s_aReport[ HEADEREDIT ] := .f. - s_aReport[ MARGINS ] := .t. + t_aReport[ HEADEREDIT ] := .f. + t_aReport[ MARGINS ] := .t. return nil function pdfCloseHeader() - s_aReport[ HEADER ] := {} - s_aReport[ MARGINS ] := .f. + t_aReport[ HEADER ] := {} + t_aReport[ MARGINS ] := .f. return nil function pdfDeleteHeader( cId ) local nRet := -1, nId cId := upper( cId ) - nId := ascan( s_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) + nId := ascan( t_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) IF nId > 0 - nRet := len( s_aReport[ HEADER ] ) - 1 - aDel( s_aReport[ HEADER ], nId ) - aSize( s_aReport[ HEADER ], nRet ) - s_aReport[ MARGINS ] := .t. + nRet := len( t_aReport[ HEADER ] ) - 1 + aDel( t_aReport[ HEADER ], nId ) + aSize( t_aReport[ HEADER ], nRet ) + t_aReport[ MARGINS ] := .t. ENDIF return nRet function pdfEnableHeader( cId ) local nId cId := upper( cId ) - nId := ascan( s_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) + nId := ascan( t_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) IF nId > 0 - s_aReport[ HEADER ][ nId ][ 1 ] := .t. - s_aReport[ MARGINS ] := .t. + t_aReport[ HEADER ][ nId ][ 1 ] := .t. + t_aReport[ MARGINS ] := .t. ENDIF return nil function pdfDisableHeader( cId ) local nId cId := upper( cId ) - nId := ascan( s_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) + nId := ascan( t_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) IF nId > 0 - s_aReport[ HEADER ][ nId ][ 1 ] := .f. - s_aReport[ MARGINS ] := .t. + t_aReport[ HEADER ][ nId ][ 1 ] := .f. + t_aReport[ MARGINS ] := .t. ENDIF return nil function pdfSaveHeader( cFile ) - Array2File( 'temp.tmp', s_aReport[ HEADER ] ) + Array2File( 'temp.tmp', t_aReport[ HEADER ] ) copy file temp.tmp to (cFile) return nil @@ -1400,249 +1400,249 @@ local nId, nI, nLen, nIdLen nId := 0 IF !empty( cId ) cId := upper( cId ) - nId := ascan( s_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) + nId := ascan( t_aReport[ HEADER ], {| arr | arr[ 3 ] == cId }) ENDIF IF nId == 0 - nLen := len( s_aReport[ HEADER ] ) + nLen := len( t_aReport[ HEADER ] ) IF empty( cId ) cId := cFunction nIdLen := len( cId ) for nI := 1 to nLen - IF s_aReport[ HEADER ][ nI ][ 2 ] == cId - IF val( substr( s_aReport[ HEADER ][ nI ][ 3 ], nIdLen + 1 ) ) > nId - nId := val( substr( s_aReport[ HEADER ][ nI ][ 3 ], nIdLen + 1 ) ) + IF t_aReport[ HEADER ][ nI ][ 2 ] == cId + IF val( substr( t_aReport[ HEADER ][ nI ][ 3 ], nIdLen + 1 ) ) > nId + nId := val( substr( t_aReport[ HEADER ][ nI ][ 3 ], nIdLen + 1 ) ) ENDIF ENDIF next ++nId cId += ltrim(str(nId)) ENDIF - aadd( s_aReport[ HEADER ], { .t., cFunction, cId } ) + aadd( t_aReport[ HEADER ], { .t., cFunction, cId } ) ++nLen for nI := 1 to len( arr ) - aadd( s_aReport[ HEADER ][ nLen ], arr[ nI ] ) + aadd( t_aReport[ HEADER ][ nLen ], arr[ nI ] ) next ELSE - aSize( s_aReport[ HEADER ][ nId ], 3 ) + aSize( t_aReport[ HEADER ][ nId ], 3 ) for nI := 1 to len( arr ) - aadd( s_aReport[ HEADER ][ nId ], arr[ nI ] ) + aadd( t_aReport[ HEADER ][ nId ], arr[ nI ] ) next ENDIF return cId function pdfDrawHeader() -local nI, _nFont, _nSize, nLen := len( s_aReport[ HEADER ] ) +local nI, _nFont, _nSize, nLen := len( t_aReport[ HEADER ] ) IF nLen > 0 // save font - _nFont := s_aReport[ FONTNAME ] - _nSize := s_aReport[ FONTSIZE ] + _nFont := t_aReport[ FONTNAME ] + _nSize := t_aReport[ FONTSIZE ] for nI := 1 to nLen - IF s_aReport[ HEADER ][ nI ][ 1 ] // enabled + IF t_aReport[ HEADER ][ nI ][ 1 ] // enabled do case - case s_aReport[ HEADER ][ nI ][ 2 ] == "PDFATSAY" - pdfAtSay( s_aReport[ HEADER ][ nI ][ 4 ], s_aReport[ HEADER ][ nI ][ 5 ], s_aReport[ HEADER ][ nI ][ 6 ], s_aReport[ HEADER ][ nI ][ 7 ], s_aReport[ HEADER ][ nI ][ 8 ], s_aReport[ HEADER ][ nI ][ 3 ] ) + case t_aReport[ HEADER ][ nI ][ 2 ] == "PDFATSAY" + pdfAtSay( t_aReport[ HEADER ][ nI ][ 4 ], t_aReport[ HEADER ][ nI ][ 5 ], t_aReport[ HEADER ][ nI ][ 6 ], t_aReport[ HEADER ][ nI ][ 7 ], t_aReport[ HEADER ][ nI ][ 8 ], t_aReport[ HEADER ][ nI ][ 3 ] ) - case s_aReport[ HEADER ][ nI ][ 2 ] == "PDFCENTER" - pdfCenter( s_aReport[ HEADER ][ nI ][ 4 ], s_aReport[ HEADER ][ nI ][ 5 ], s_aReport[ HEADER ][ nI ][ 6 ], s_aReport[ HEADER ][ nI ][ 7 ], s_aReport[ HEADER ][ nI ][ 8 ], s_aReport[ HEADER ][ nI ][ 3 ] ) + case t_aReport[ HEADER ][ nI ][ 2 ] == "PDFCENTER" + pdfCenter( t_aReport[ HEADER ][ nI ][ 4 ], t_aReport[ HEADER ][ nI ][ 5 ], t_aReport[ HEADER ][ nI ][ 6 ], t_aReport[ HEADER ][ nI ][ 7 ], t_aReport[ HEADER ][ nI ][ 8 ], t_aReport[ HEADER ][ nI ][ 3 ] ) - case s_aReport[ HEADER ][ nI ][ 2 ] == "PDFRJUST" - pdfRJust( s_aReport[ HEADER ][ nI ][ 4 ], s_aReport[ HEADER ][ nI ][ 5 ], s_aReport[ HEADER ][ nI ][ 6 ], s_aReport[ HEADER ][ nI ][ 7 ], s_aReport[ HEADER ][ nI ][ 8 ], s_aReport[ HEADER ][ nI ][ 3 ] ) + case t_aReport[ HEADER ][ nI ][ 2 ] == "PDFRJUST" + pdfRJust( t_aReport[ HEADER ][ nI ][ 4 ], t_aReport[ HEADER ][ nI ][ 5 ], t_aReport[ HEADER ][ nI ][ 6 ], t_aReport[ HEADER ][ nI ][ 7 ], t_aReport[ HEADER ][ nI ][ 8 ], t_aReport[ HEADER ][ nI ][ 3 ] ) - case s_aReport[ HEADER ][ nI ][ 2 ] == "PDFBOX" - pdfBox( s_aReport[ HEADER ][ nI ][ 4 ], s_aReport[ HEADER ][ nI ][ 5 ], s_aReport[ HEADER ][ nI ][ 6 ], s_aReport[ HEADER ][ nI ][ 7 ], s_aReport[ HEADER ][ nI ][ 8 ], s_aReport[ HEADER ][ nI ][ 9 ], s_aReport[ HEADER ][ nI ][ 10 ], s_aReport[ HEADER ][ nI ][ 3 ] ) + case t_aReport[ HEADER ][ nI ][ 2 ] == "PDFBOX" + pdfBox( t_aReport[ HEADER ][ nI ][ 4 ], t_aReport[ HEADER ][ nI ][ 5 ], t_aReport[ HEADER ][ nI ][ 6 ], t_aReport[ HEADER ][ nI ][ 7 ], t_aReport[ HEADER ][ nI ][ 8 ], t_aReport[ HEADER ][ nI ][ 9 ], t_aReport[ HEADER ][ nI ][ 10 ], t_aReport[ HEADER ][ nI ][ 3 ] ) - case s_aReport[ HEADER ][ nI ][ 2 ] == "PDFSETFONT" - pdfSetFont( s_aReport[ HEADER ][ nI ][ 4 ], s_aReport[ HEADER ][ nI ][ 5 ], s_aReport[ HEADER ][ nI ][ 6 ], s_aReport[ HEADER ][ nI ][ 3 ] ) + case t_aReport[ HEADER ][ nI ][ 2 ] == "PDFSETFONT" + pdfSetFont( t_aReport[ HEADER ][ nI ][ 4 ], t_aReport[ HEADER ][ nI ][ 5 ], t_aReport[ HEADER ][ nI ][ 6 ], t_aReport[ HEADER ][ nI ][ 3 ] ) - case s_aReport[ HEADER ][ nI ][ 2 ] == "PDFIMAGE" - pdfImage( s_aReport[ HEADER ][ nI ][ 4 ], s_aReport[ HEADER ][ nI ][ 5 ], s_aReport[ HEADER ][ nI ][ 6 ], s_aReport[ HEADER ][ nI ][ 7 ], s_aReport[ HEADER ][ nI ][ 8 ], s_aReport[ HEADER ][ nI ][ 9 ], s_aReport[ HEADER ][ nI ][ 3 ] ) + case t_aReport[ HEADER ][ nI ][ 2 ] == "PDFIMAGE" + pdfImage( t_aReport[ HEADER ][ nI ][ 4 ], t_aReport[ HEADER ][ nI ][ 5 ], t_aReport[ HEADER ][ nI ][ 6 ], t_aReport[ HEADER ][ nI ][ 7 ], t_aReport[ HEADER ][ nI ][ 8 ], t_aReport[ HEADER ][ nI ][ 9 ], t_aReport[ HEADER ][ nI ][ 3 ] ) endcase ENDIF next - s_aReport[ FONTNAME ] := _nFont - s_aReport[ FONTSIZE ] := _nSize + t_aReport[ FONTNAME ] := _nFont + t_aReport[ FONTSIZE ] := _nSize - IF s_aReport[ MARGINS ] + IF t_aReport[ MARGINS ] pdfMargins() ENDIF ELSE - IF s_aReport[ MARGINS ] - s_aReport[ PDFTOP ] := 1 // top - s_aReport[ PDFLEFT ] := 10 // left & right - s_aReport[ PDFBOTTOM ] := s_aReport[ PAGEY ] / 72 * s_aReport[ LPI ] - 1 // bottom, default "LETTER", "P", 6 + IF t_aReport[ MARGINS ] + t_aReport[ PDFTOP ] := 1 // top + t_aReport[ PDFLEFT ] := 10 // left & right + t_aReport[ PDFBOTTOM ] := t_aReport[ PAGEY ] / 72 * t_aReport[ LPI ] - 1 // bottom, default "LETTER", "P", 6 - s_aReport[ MARGINS ] := .f. + t_aReport[ MARGINS ] := .f. ENDIF ENDIF return nil function pdfMargins( nTop, nLeft, nBottom ) -local nI, nLen := len( s_aReport[ HEADER ] ), nTemp, aTemp, nHeight +local nI, nLen := len( t_aReport[ HEADER ] ), nTemp, aTemp, nHeight // version 0.07 begin DEFAULT nTop to 1 // top DEFAULT nLeft to 10 // left & right - DEFAULT nBottom to s_aReport[ PAGEY ] / 72 * s_aReport[ LPI ] - 1 // bottom, default "LETTER", "P", 6 + DEFAULT nBottom to t_aReport[ PAGEY ] / 72 * t_aReport[ LPI ] - 1 // bottom, default "LETTER", "P", 6 - s_aReport[ PDFTOP ] := nTop - s_aReport[ PDFLEFT ] := nLeft - s_aReport[ PDFBOTTOM ] := nBottom + t_aReport[ PDFTOP ] := nTop + t_aReport[ PDFLEFT ] := nLeft + t_aReport[ PDFBOTTOM ] := nBottom // version 0.07 end for nI := 1 to nLen - IF s_aReport[ HEADER ][ nI ][ 1 ] // enabled + IF t_aReport[ HEADER ][ nI ][ 1 ] // enabled - IF s_aReport[ HEADER ][ nI ][ 2 ] == "PDFSETFONT" + IF t_aReport[ HEADER ][ nI ][ 2 ] == "PDFSETFONT" - ELSEIF s_aReport[ HEADER ][ nI ][ 2 ] == "PDFIMAGE" - IF s_aReport[ HEADER ][ nI ][ 8 ] == 0 // picture in header, first at all, not at any page yet - aTemp := pdfImageInfo( s_aReport[ HEADER ][ nI ][ 4 ] ) + ELSEIF t_aReport[ HEADER ][ nI ][ 2 ] == "PDFIMAGE" + IF t_aReport[ HEADER ][ nI ][ 8 ] == 0 // picture in header, first at all, not at any page yet + aTemp := pdfImageInfo( t_aReport[ HEADER ][ nI ][ 4 ] ) nHeight := aTemp[ IMAGE_HEIGHT ] / aTemp[ IMAGE_YRES ] * 25.4 - IF s_aReport[ HEADER ][ nI ][ 7 ] == "D" + IF t_aReport[ HEADER ][ nI ][ 7 ] == "D" nHeight := pdfM2X( nHeight ) ENDIF ELSE - nHeight := s_aReport[ HEADER ][ nI ][ 8 ] + nHeight := t_aReport[ HEADER ][ nI ][ 8 ] ENDIF - IF s_aReport[ HEADER ][ nI ][ 7 ] == "M" + IF t_aReport[ HEADER ][ nI ][ 7 ] == "M" - nTemp := s_aReport[ PAGEY ] / 72 * 25.4 / 2 + nTemp := t_aReport[ PAGEY ] / 72 * 25.4 / 2 - IF s_aReport[ HEADER ][ nI ][ 5 ] < nTemp - nTemp := ( s_aReport[ HEADER ][ nI ][ 5 ] + nHeight ) * s_aReport[ LPI ] / 25.4 // top - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF t_aReport[ HEADER ][ nI ][ 5 ] < nTemp + nTemp := ( t_aReport[ HEADER ][ nI ][ 5 ] + nHeight ) * t_aReport[ LPI ] / 25.4 // top + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF ELSE - nTemp := s_aReport[ HEADER ][ nI ][ 5 ] * s_aReport[ LPI ] / 25.4 // top - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + nTemp := t_aReport[ HEADER ][ nI ][ 5 ] * t_aReport[ LPI ] / 25.4 // top + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 7 ] == "D" - nTemp := s_aReport[ PAGEY ] / 2 + ELSEIF t_aReport[ HEADER ][ nI ][ 7 ] == "D" + nTemp := t_aReport[ PAGEY ] / 2 - IF s_aReport[ HEADER ][ nI ][ 5 ] < nTemp - nTemp := ( s_aReport[ HEADER ][ nI ][ 5 ] + nHeight ) * s_aReport[ LPI ] / 72 // top - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF t_aReport[ HEADER ][ nI ][ 5 ] < nTemp + nTemp := ( t_aReport[ HEADER ][ nI ][ 5 ] + nHeight ) * t_aReport[ LPI ] / 72 // top + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF ELSE - nTemp := s_aReport[ HEADER ][ nI ][ 5 ] * s_aReport[ LPI ] / 72 // top - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + nTemp := t_aReport[ HEADER ][ nI ][ 5 ] * t_aReport[ LPI ] / 72 // top + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ENDIF ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 2 ] == "PDFBOX" + ELSEIF t_aReport[ HEADER ][ nI ][ 2 ] == "PDFBOX" - IF s_aReport[ HEADER ][ nI ][ 10 ] == "M" + IF t_aReport[ HEADER ][ nI ][ 10 ] == "M" - nTemp := s_aReport[ PAGEY ] / 72 * 25.4 / 2 + nTemp := t_aReport[ PAGEY ] / 72 * 25.4 / 2 - IF s_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; - s_aReport[ HEADER ][ nI ][ 6 ] < nTemp - nTemp := s_aReport[ HEADER ][ nI ][ 6 ] * s_aReport[ LPI ] / 25.4 // top - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF t_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; + t_aReport[ HEADER ][ nI ][ 6 ] < nTemp + nTemp := t_aReport[ HEADER ][ nI ][ 6 ] * t_aReport[ LPI ] / 25.4 // top + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; - s_aReport[ HEADER ][ nI ][ 6 ] > nTemp + ELSEIF t_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; + t_aReport[ HEADER ][ nI ][ 6 ] > nTemp - nTemp := ( s_aReport[ HEADER ][ nI ][ 4 ] + s_aReport[ HEADER ][ nI ][ 8 ] ) * s_aReport[ LPI ] / 25.4 // top - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + nTemp := ( t_aReport[ HEADER ][ nI ][ 4 ] + t_aReport[ HEADER ][ nI ][ 8 ] ) * t_aReport[ LPI ] / 25.4 // top + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF - nTemp := ( s_aReport[ HEADER ][ nI ][ 6 ] - s_aReport[ HEADER ][ nI ][ 8 ] ) * s_aReport[ LPI ] / 25.4 // top - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + nTemp := ( t_aReport[ HEADER ][ nI ][ 6 ] - t_aReport[ HEADER ][ nI ][ 8 ] ) * t_aReport[ LPI ] / 25.4 // top + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 4 ] > nTemp .and. ; - s_aReport[ HEADER ][ nI ][ 6 ] > nTemp - nTemp := s_aReport[ HEADER ][ nI ][ 4 ] * s_aReport[ LPI ] / 25.4 // top - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + ELSEIF t_aReport[ HEADER ][ nI ][ 4 ] > nTemp .and. ; + t_aReport[ HEADER ][ nI ][ 6 ] > nTemp + nTemp := t_aReport[ HEADER ][ nI ][ 4 ] * t_aReport[ LPI ] / 25.4 // top + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 10 ] == "D" - nTemp := s_aReport[ PAGEY ] / 2 + ELSEIF t_aReport[ HEADER ][ nI ][ 10 ] == "D" + nTemp := t_aReport[ PAGEY ] / 2 - IF s_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; - s_aReport[ HEADER ][ nI ][ 6 ] < nTemp - nTemp := s_aReport[ HEADER ][ nI ][ 6 ] / s_aReport[ LPI ] // top - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF t_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; + t_aReport[ HEADER ][ nI ][ 6 ] < nTemp + nTemp := t_aReport[ HEADER ][ nI ][ 6 ] / t_aReport[ LPI ] // top + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; - s_aReport[ HEADER ][ nI ][ 6 ] > nTemp + ELSEIF t_aReport[ HEADER ][ nI ][ 4 ] < nTemp .and. ; + t_aReport[ HEADER ][ nI ][ 6 ] > nTemp - nTemp := ( s_aReport[ HEADER ][ nI ][ 4 ] + s_aReport[ HEADER ][ nI ][ 8 ] ) / s_aReport[ LPI ] // top - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + nTemp := ( t_aReport[ HEADER ][ nI ][ 4 ] + t_aReport[ HEADER ][ nI ][ 8 ] ) / t_aReport[ LPI ] // top + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF - nTemp := ( s_aReport[ HEADER ][ nI ][ 6 ] - s_aReport[ HEADER ][ nI ][ 8 ] ) / s_aReport[ LPI ] // top - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + nTemp := ( t_aReport[ HEADER ][ nI ][ 6 ] - t_aReport[ HEADER ][ nI ][ 8 ] ) / t_aReport[ LPI ] // top + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 4 ] > nTemp .and. ; - s_aReport[ HEADER ][ nI ][ 6 ] > nTemp - nTemp := s_aReport[ HEADER ][ nI ][ 4 ] / s_aReport[ LPI ] // top - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + ELSEIF t_aReport[ HEADER ][ nI ][ 4 ] > nTemp .and. ; + t_aReport[ HEADER ][ nI ][ 6 ] > nTemp + nTemp := t_aReport[ HEADER ][ nI ][ 4 ] / t_aReport[ LPI ] // top + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ENDIF ENDIF ELSE - IF s_aReport[ HEADER ][ nI ][ 7 ] == "R" - nTemp := s_aReport[ HEADER ][ nI ][ 5 ] // top - IF s_aReport[ HEADER ][ nI ][ 5 ] > s_aReport[ PAGEY ] / 72 * s_aReport[ LPI ] / 2 - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + IF t_aReport[ HEADER ][ nI ][ 7 ] == "R" + nTemp := t_aReport[ HEADER ][ nI ][ 5 ] // top + IF t_aReport[ HEADER ][ nI ][ 5 ] > t_aReport[ PAGEY ] / 72 * t_aReport[ LPI ] / 2 + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ELSE - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 7 ] == "M" - nTemp := s_aReport[ HEADER ][ nI ][ 5 ] * s_aReport[ LPI ] / 25.4 // top - IF s_aReport[ HEADER ][ nI ][ 5 ] > s_aReport[ PAGEY ] / 72 * 25.4 / 2 - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + ELSEIF t_aReport[ HEADER ][ nI ][ 7 ] == "M" + nTemp := t_aReport[ HEADER ][ nI ][ 5 ] * t_aReport[ LPI ] / 25.4 // top + IF t_aReport[ HEADER ][ nI ][ 5 ] > t_aReport[ PAGEY ] / 72 * 25.4 / 2 + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ELSE - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF ENDIF - ELSEIF s_aReport[ HEADER ][ nI ][ 7 ] == "D" - nTemp := s_aReport[ HEADER ][ nI ][ 5 ] / s_aReport[ LPI ] // top - IF s_aReport[ HEADER ][ nI ][ 5 ] > s_aReport[ PAGEY ] / 2 - IF nTemp < s_aReport[ PDFBOTTOM ] - s_aReport[ PDFBOTTOM ] := nTemp + ELSEIF t_aReport[ HEADER ][ nI ][ 7 ] == "D" + nTemp := t_aReport[ HEADER ][ nI ][ 5 ] / t_aReport[ LPI ] // top + IF t_aReport[ HEADER ][ nI ][ 5 ] > t_aReport[ PAGEY ] / 2 + IF nTemp < t_aReport[ PDFBOTTOM ] + t_aReport[ PDFBOTTOM ] := nTemp ENDIF ELSE - IF nTemp > s_aReport[ PDFTOP ] - s_aReport[ PDFTOP ] := nTemp + IF nTemp > t_aReport[ PDFTOP ] + t_aReport[ PDFTOP ] := nTemp ENDIF ENDIF ENDIF @@ -1650,13 +1650,13 @@ local nI, nLen := len( s_aReport[ HEADER ] ), nTemp, aTemp, nHeight ENDIF next - s_aReport[ MARGINS ] := .f. + t_aReport[ MARGINS ] := .f. return nil function pdfCreateHeader( _file, _size, _orient, _lpi, _width ) local ; - s_aReportStyle := { ; + t_aReportStyle := { ; { 1, 2, 3, 4, 5, 6 }, ; //"Default" { 2.475, 4.0, 4.9, 6.4, 7.5, 64.0 }, ; //"P6" { 3.3 , 5.4, 6.5, 8.6, 10.0, 85.35 }, ; //"P8" @@ -1667,9 +1667,9 @@ local ; } local nStyle := 1, nAdd := 0.00 -DEFAULT _size to s_aReport[ PAGESIZE ] -DEFAULT _orient to s_aReport[ PAGEORIENT ] -DEFAULT _lpi to s_aReport[ LPI ] +DEFAULT _size to t_aReport[ PAGESIZE ] +DEFAULT _orient to t_aReport[ PAGEORIENT ] +DEFAULT _lpi to t_aReport[ LPI ] DEFAULT _width to 200 IF _size == "LETTER" @@ -1726,22 +1726,22 @@ DEFAULT _width to 200 ENDIF pdfSetFont("Helvetica", BOLD, 10) // 0.04 - pdfAtSay( "Test Line 1", s_aReportStyle[ nStyle ][ 1 ], 1, "R", .t. ) + pdfAtSay( "Test Line 1", t_aReportStyle[ nStyle ][ 1 ], 1, "R", .t. ) pdfSetFont("Times", BOLD, 18) - pdfCenter( "Test Line 2", s_aReportStyle[ nStyle ][ 2 ],,"R", .t. ) + pdfCenter( "Test Line 2", t_aReportStyle[ nStyle ][ 2 ],,"R", .t. ) pdfSetFont("Times", BOLD, 12) - pdfCenter( "Test Line 3", s_aReportStyle[ nStyle ][ 3 ],,"R", .t. ) + pdfCenter( "Test Line 3", t_aReportStyle[ nStyle ][ 3 ],,"R", .t. ) pdfSetFont("Helvetica", BOLD, 10) // 0.04 - pdfAtSay( "Test Line 4", s_aReportStyle[ nStyle ][ 4 ], 1, "R", .t. ) + pdfAtSay( "Test Line 4", t_aReportStyle[ nStyle ][ 4 ], 1, "R", .t. ) pdfSetFont("Helvetica", BOLD, 10) // 0.04 - pdfAtSay( "Test Line 5", s_aReportStyle[ nStyle ][ 5 ], 1, "R", .t. ) + pdfAtSay( "Test Line 5", t_aReportStyle[ nStyle ][ 5 ], 1, "R", .t. ) - pdfAtSay( dtoc( date()) + " " + TimeAsAMPM( time() ), s_aReportStyle[ nStyle ][ 6 ], 1, "R", .t. ) - pdfRJust( "Page: #pagenumber#", s_aReportStyle[ nStyle ][ 6 ], s_aReport[ REPORTWIDTH ], "R", .t. ) + pdfAtSay( dtoc( date()) + " " + TimeAsAMPM( time() ), t_aReportStyle[ nStyle ][ 6 ], 1, "R", .t. ) + pdfRJust( "Page: #pagenumber#", t_aReportStyle[ nStyle ][ 6 ], t_aReport[ REPORTWIDTH ], "R", .t. ) pdfEditOffHeader() pdfSaveHeader( _file ) diff --git a/harbour/contrib/hbwhat/wincore.prg b/harbour/contrib/hbwhat/wincore.prg index e0cd1e08f0..a320251c3d 100644 --- a/harbour/contrib/hbwhat/wincore.prg +++ b/harbour/contrib/hbwhat/wincore.prg @@ -30,7 +30,7 @@ //PUBLIC lPrevInstance //PUBLIC hThisInstance -THREAD STATIC s_hWndActive := 0 +THREAD STATIC t_hWndActive := 0 STATIC s_aClass:={} // cClass,nType,{{anWM,bAction,nProc,0}} STATIC s_aWindow:={} // hWnd, nType, {{anWM,bAction,nProc,nOldProc}} @@ -323,7 +323,7 @@ Function __KillWindow( hWnd ) // to the codeblock // Function WHT__ProcessDlgMsg( hDlg, nMsg, nwParam, nlParam ) - Local nIndex + Local nIndex Local nResult Local n @@ -659,10 +659,10 @@ Function WHT_WinProcCount( hWnd, nProc ) Function WHT_SelectWindow( hNewWnd ) - Local hOldActive := s_hWndActive + Local hOldActive := t_hWndActive If hNewWnd != NIL .AND. VWN_IsWindow( hNewWnd ) - s_hWndActive := hNewWnd + t_hWndActive := hNewWnd EndIf Return( hOldActive ) diff --git a/harbour/contrib/hbwin/win_tole.prg b/harbour/contrib/hbwin/win_tole.prg index 4009003b93..fe26200739 100644 --- a/harbour/contrib/hbwin/win_tole.prg +++ b/harbour/contrib/hbwin/win_tole.prg @@ -67,11 +67,11 @@ #define EG_OLEEXCEPTION 1001 -#xcommand TRY => BEGIN SEQUENCE WITH s_bBreak +#xcommand TRY => BEGIN SEQUENCE WITH t_bBreak #xcommand CATCH [] => RECOVER [USING ] <-oErr-> #xcommand FINALLY => ALWAYS -THREAD STATIC s_bBreak := { |oErr| break( oErr ) } +THREAD STATIC t_bBreak := { |oErr| break( oErr ) } STATIC PROCEDURE THROW( oError ) LOCAL lError := Eval( ErrorBlock(), oError ) @@ -215,7 +215,7 @@ METHOD New( uObj, cClass, cLicense ) CLASS TOleAuto IF ::hObj != NIL RETURN HB_ExecFromArray( Self, "_New", HB_aParams() ) ENDIF - + IF ISCHARACTER( uObj ) ::hObj := CreateOleObject( uObj, , cLicense ) diff --git a/harbour/contrib/hbziparc/hbziparc.prg b/harbour/contrib/hbziparc/hbziparc.prg index 394d84ff58..fdadbb3beb 100644 --- a/harbour/contrib/hbziparc/hbziparc.prg +++ b/harbour/contrib/hbziparc/hbziparc.prg @@ -57,16 +57,15 @@ #include "directry.ch" #include "fileio.ch" -THREAD STATIC s_nReadBuffer := 32768 -THREAD STATIC s_cComment -THREAD STATIC s_lReadOnly := .F. -THREAD STATIC s_bProgress +THREAD STATIC t_nReadBuffer := 32768 +THREAD STATIC t_cComment +THREAD STATIC t_lReadOnly := .F. PROCEDURE SetZipReadOnly( lReadOnly ) DEFAULT lReadOnly TO .F. - s_lReadOnly := lReadOnly + t_lReadOnly := lReadOnly /* TODO: Implement. */ @@ -104,7 +103,7 @@ PROCEDURE SetZipReadOnly( lReadOnly ) PROCEDURE hb_SetZipComment( cComment ) IF cComment == NIL .OR. ISCHARACTER( cComment ) - s_cComment := cComment + t_cComment := cComment ENDIF RETURN @@ -406,7 +405,7 @@ PROCEDURE hb_SetBuffer( nWriteBuffer, nExtractBuffer, nReadBuffer ) HB_SYMBOL_UNUSED( nExtractBuffer ) IF !Empty( nReadBuffer ) - s_nReadBuffer := Min( nReadBuffer, 32768 ) + t_nReadBuffer := Min( nReadBuffer, 32768 ) ENDIF RETURN @@ -737,7 +736,7 @@ FUNCTION hb_ZipFile( cFileName,; LOCAL hZip LOCAL hHandle LOCAL nLen - LOCAL cBuffer := Space( s_nReadBuffer ) + LOCAL cBuffer := Space( t_nReadBuffer ) LOCAL cFileToZip LOCAL nPos LOCAL nRead @@ -852,7 +851,7 @@ FUNCTION hb_ZipFile( cFileName,; ENDIF NEXT - hb_ZipClose( hZip, s_cComment ) + hb_ZipClose( hZip, t_cComment ) ELSE lRetVal := .F. ENDIF diff --git a/harbour/contrib/rddado/adordd.prg b/harbour/contrib/rddado/adordd.prg index 6c25da8e15..7de762f5cf 100644 --- a/harbour/contrib/rddado/adordd.prg +++ b/harbour/contrib/rddado/adordd.prg @@ -83,11 +83,11 @@ #ifndef __XHARBOUR__ #include "hbusrrdd.ch" - #xcommand TRY => s_bError := errorBlock( {|oErr| break( oErr ) } ) ;; + #xcommand TRY => t_bError := errorBlock( {|oErr| break( oErr ) } ) ;; BEGIN SEQUENCE - #xcommand CATCH [] => errorBlock( s_bError ) ;; + #xcommand CATCH [] => errorBlock( t_bError ) ;; RECOVER [USING ] <-oErr-> ;; - errorBlock( s_bError ) + errorBlock( t_bError ) #command FINALLY => ALWAYS #else #include "usrrdd.ch" @@ -120,15 +120,15 @@ ANNOUNCE ADORDD -THREAD STATIC s_cTableName -THREAD STATIC s_cEngine -THREAD STATIC s_cServer -THREAD STATIC s_cUserName -THREAD STATIC s_cPassword -THREAD STATIC s_cQuery := "" +THREAD STATIC t_cTableName +THREAD STATIC t_cEngine +THREAD STATIC t_cServer +THREAD STATIC t_cUserName +THREAD STATIC t_cPassword +THREAD STATIC t_cQuery := "" #ifndef __XHARBOUR__ -THREAD STATIC s_bError +THREAD STATIC t_bError #endif #ifdef __XHARBOUR__ @@ -317,12 +317,12 @@ STATIC FUNCTION ADO_OPEN( nWA, aOpenInfo ) IF Empty( aOpenInfo[ UR_OI_CONNECT ] ) aWAData[ WA_CONNECTION ] := TOleAuto():New( "ADODB.Connection" ) - aWAData[ WA_TABLENAME ] := s_cTableName - aWAData[ WA_QUERY ] := s_cQuery - aWAData[ WA_USERNAME ] := s_cUserName - aWAData[ WA_PASSWORD ] := s_cPassword - aWAData[ WA_SERVER ] := s_cServer - aWAData[ WA_ENGINE ] := s_cEngine + aWAData[ WA_TABLENAME ] := t_cTableName + aWAData[ WA_QUERY ] := t_cQuery + aWAData[ WA_USERNAME ] := t_cUserName + aWAData[ WA_PASSWORD ] := t_cPassword + aWAData[ WA_SERVER ] := t_cServer + aWAData[ WA_ENGINE ] := t_cEngine aWAData[ WA_CONNOPEN ] := .T. DO CASE @@ -372,17 +372,17 @@ STATIC FUNCTION ADO_OPEN( nWA, aOpenInfo ) ENDCASE ELSE aWAData[ WA_CONNECTION ] := TOleAuto():New( aOpenInfo[ UR_OI_CONNECT ], "ADODB.Connection" ) - aWAData[ WA_TABLENAME ] := s_cTableName - aWAData[ WA_QUERY ] := s_cQuery - aWAData[ WA_USERNAME ] := s_cUserName - aWAData[ WA_PASSWORD ] := s_cPassword - aWAData[ WA_SERVER ] := s_cServer - aWAData[ WA_ENGINE ] := s_cEngine + aWAData[ WA_TABLENAME ] := t_cTableName + aWAData[ WA_QUERY ] := t_cQuery + aWAData[ WA_USERNAME ] := t_cUserName + aWAData[ WA_PASSWORD ] := t_cPassword + aWAData[ WA_SERVER ] := t_cServer + aWAData[ WA_ENGINE ] := t_cEngine aWAData[ WA_CONNOPEN ] := .F. ENDIF // will be initilized - s_cQuery := "" + t_cQuery := "" IF Empty( aWAData[ WA_QUERY ] ) aWAData[ WA_QUERY ] := "SELECT * FROM " @@ -1625,31 +1625,31 @@ RETURN nDBFFieldType function HB_AdoSetTable( cTableName ) - s_cTableName := cTableName + t_cTableName := cTableName return nil function HB_AdoSetEngine( cEngine ) - s_cEngine := cEngine + t_cEngine := cEngine return nil function HB_AdoSetServer( cServer ) - s_cServer := cServer + t_cServer := cServer return nil function HB_AdoSetUser( cUser ) - s_cUserName := cUser + t_cUserName := cUser RETURN NIL function HB_AdoSetPassword( cPassword ) - s_cPassword := cPassword + t_cPassword := cPassword RETURN NIL @@ -1657,7 +1657,7 @@ FUNCTION HB_AdoSetQuery( cQuery ) DEFAULT cQuery TO "SELECT * FROM " - s_cQuery := cQuery + t_cQuery := cQuery RETURN NIL