home *** CD-ROM | disk | FTP | other *** search
-
- *********************************************************
- * ▒╛│╠╨≥╣ª─▄: *
- * ╩╡╧╓╩²╛▌┐Γ╡─╥╗╢╘╢α─ú╨═╡─╧╘╩╛║═┤≥╙í *
- * *
- *╚δ┐┌: *
- * FORM ╬¬UCTAB 2.0 ▓·╔·╡──ú░σ╩²╛▌┐Γ *
- * MASRTERDB ╩╟╓≈╩²╛▌┐Γ,╘┌▒φ╓╨╧╘╩╛╥╗╠⌡╝╟┬╝ *
- * SLAVEDB ╩╟┤╙╩²╛▌┐Γ,╘┌▒φ╓╨╧╘╩╛╢α╠⌡╝╟┬╝ *
- * *
- *╘╝╢¿: ┤╙╩²╛▌┐Γ▒╪╨δ╙╨╥╗╫╓╢╬├√║═╓≈╩²╛▌┐Γ╡─╥╗╫╓╢╬├√╧α═¼ *
- * ╟╥▒╪╨δ╢╝╖┼╘┌╡┌╥╗╡─╬╗╓├╔╧. *
- *╙├╖¿: *
- * STEP 1 : ╙├F2╝ⁿ╢¿╥σ┤╙┐Γ╩╫╨╨ *
- * STEP 2 : ╙├F3╝ⁿ╢¿╥σ┤╙┐Γ╬▓╨╨ *
- * STEP 3 : ╙├F4╝ⁿ╢¿╥σ╓≈┐Γ┴┤╜╙ *
- * STEP 3 : ╙├F5╝ⁿ╢¿╥σ┤╙┐Γ┴┤╜╙,▒╪╨δ╘┌╩╫╨╨╢¿╥σ *
- * 1995─Ω12╘┬27╚╒ ═⌡┤║▓¿╓╞ *
- *********************************************************
-
- PARA FORM,MASTERDB,SLAVEDB
-
- set talk off
- set stat off
- set scor off
- set safe off
-
- load TAB.bin
-
- use &MASTERDB
- copy to MASTER STRU EXTE
-
- use &SLAVEDB
- copy to SLAVE STRU EXTE
- PUBLIC MAINNO
- *------------------------╓≈┐Γ╡─╝╟┬╝║┼--------
- MAINNO=1
- *--------------------------------------------
- PUBLIC SY
- PUBLIC TY
- set Proc To EXAM
- call TAB with chr(14)+' '
- call TAB with chr(22)+' 0 1'
- call TAB with chr(15) +' '+"0 0"
- LogicX=0
- LogicY=0
- CurX=320
- CurY=225
- *┤░┐┌
- lLimit=5
- rLimit=633
- uLimit=50
- dLimit=445
-
- use &FORM
- go top
- TabXS=TXS
- TabYS=TYS
- TabXE=TXE
- TabYE=TYE
- PAGE=twoNum
- RecNo=PAGE
- index on Y0 to p
- isKey=1
- go top
- do Cursor with CurX,CurY
- do while .t.
- if isKey = 1
- *╧╘╩╛
- do readLib
- do DispTab
- do Cursor with CurX,CurY
- endif
- isKey = 0
- key = inkey(0)
- call Tab with chr(26)
- step=24
- do case
- case key = 27
- close all
- exit
- case key = -1
- do SHead
- isKey = 1
- case key = -2
- do STail
- isKey = 1
- case key = -3
- do MainLink
- isKey = 1
- case key = -4
- do slaveLink
- isKey = 1
- case key = -5
- do ClearLink
- isKey = 1
- case key = -6
- DO PRINTTAB
- case key = -7
- *╓≈╩²╛▌┐Γ╡─╝╟┬╝║┼
- MAINNO=MAINNO+1
- isKey = 1
- case key = -8
- isKey = 0
- MAINNO=MAINNO-1
- isKey = 1
- case key = 13
- if ( LocateCel(CurX+LogicX-8,CurY+LogicY-50) <> 0 )
- NO=LocateCel(CurX+LogicX-8,CurY+LogicY-50)
- @18,5 say "╩Σ╚δ╡Ñ╘¬╓╡:" get value
- read
- ENDI
- isKey = 1
- case key = 1
- isKey = 1
- if LogicX = 0 .and. LogicY = 0
- isKey = 0
- endi
- LogicX = 0
- LogicY = 0
- do Cursor with CurX,CurY
- CurX = 320
- CurY = 225
- do Cursor with CurX,CurY
- case key=24
- do Cursor with CurX,CurY
- CurY = CurY + step
- if ( CurY > dLimit )
- LogicY = LogicY + step
- CurY = CurY - step
- isKey = 1
- endi
- do Cursor with CurX,CurY
- case key = 5
- do Cursor with CurX,CurY
- CurY = CurY - step
- if ( CurY < uLimit )
- LogicY = LogicY - step
- CurY = CurY + step
- isKey = 1
- endi
- do Cursor with CurX,CurY
- if LogicY < 0
- LogicY = 0
- isKey = 0
- endif
- case key = 4
- do Cursor with CurX,CurY
- CurX = CurX + step
- if CurX > rLimit
- LogicX = LogicX + step
- CurX = CurX - step
- isKey = 1
- endi
- do Cursor with CurX,CurY
- case key = 19
- do Cursor with CurX,CurY
- CurX=CurX-step
- if CurX < lLimit
- LogicX = LogicX - step
- CurX = CurX + step
- isKey = 1
- endi
- do Cursor with CurX,CurY
- if LogicX<0
- LogicX=0
- isKey=0
- endif
- otherwise
- isKey=0
- endcase
- enddo
- return
-
- PROC fieldch
- PARA X0,Y0,WinFdNum,dbName
- sele 9
- USE &dbName
- PUBLIC RecNum
- PUBLIC Locat0
- PUBLIC KeyValue
- PUBLIC FilePtr
- Call Tab With chr(24)+' '+str(X0*8)+str(Y0*18)+' '+'0'
- RecNum=RECCOUNT()
- GO TOP
- i=1
- FilePtr=1
- Locat0=1
- KeyValue=0
- i=0
-
- SET COLO TO 0+/W*+
- GO TOP
- DO WHILE ((.NOT. EOF()) .AND. (i<WinFdNum))
- @ Y0+i,X0 SAY FIELD_NAME
- i=i+1
- SKIP
- ENDD
-
- GO TOP
- SET COLO TO W+/r
- @Y0,X0 SAY FIELD_NAME
-
- DO WHILE .T.
- KeyValue=INKEY(0)
- DO CASE
- CASE KeyValue=5
- DO UpDo WITH Y0,X0
- CASE KeyValue=24
- DO DnDo WITH Y0,X0
- CASE KeyValue=13
- set colo to
- RETU rtrim(FIELD_NAME)
- CASE KeyValue=27
- set colo to
- RETU ""
- ENDCASE
- ENDDO
-
- PROC UpDo
- PARA Y0,X0
- IF FilePtr<>1
- IF Locat0<>1
- SET COLO TO 0+/W*+
- @ Y0+Locat0-1,X0 SAY FIELD_NAME
- SKIP -1
- FilePtr=FilePtr-1
- Locat0=Locat0-1
- SET COLO TO W+/r
- @ Y0+Locat0-1,X0 SAY FIELD_NAME
- ELSE
- SKIP -1
- FilePtr=FilePtr-1
- SET COLO TO W+/r
- @ Y0+Locat0-1,X0 SAY FIELD_NAME
- SKIP
- i=1
- DO WHILE ((.NOT. EOF()) .AND. (i<WinFdNum))
- SET COLO TO 0+/W*+
- @ Y0+i,X0 SAY FIELD_NAME
- SKIP
- i=i+1
- ENDDO
- GO FilePtr
- ENDIF
- ENDIF
- RETU
-
- PROC DnDo
- PARA Y0,X0
- IF FilePtr<>RecNum
- IF Locat0<WinFdNum
- SET COLO TO 0+/W*+
- @ Y0+Locat0-1,X0 SAY FIELD_NAME
- SKIP
- FilePtr=FilePtr+1
- Locat0=Locat0+1
- SET COLO TO W+/r
- @ Y0+Locat0-1,X0 SAY FIELD_NAME
- ELSE
- SKIP
- FilePtr=FilePtr+1
- SET COLO TO W+/r
- @ Y0+Locat0-1,X0 SAY FIELD_NAME
- i=WinFdNum-1
- SKIP -1
- DO WHILE (i>0)
- SET COLO TO 0+/W*+
- @ Y0+i-1,X0 SAY FIELD_NAME
- SKIP-1
- i=i-1
- ENDDO
- GO FilePtr
- ENDIF
- ENDIF
- RETU
-
-
- *╧╘╩╛╩«╫╓╣Γ▒Ω
- PROC Cursor
- PARA xr,yr
- call TAB with chr(23)+' '+str(xr)+str(yr)
- RETURN
-
- *╧╘╩╛▒¿▒φ
- PROC DispTab
- call TAB with chr(15) +' '+str(LogicX)+' '+str(LogicY)
- call TAB with chr(16)
- go top
- do while .not. eof()
- if CellType=1 .OR. CellType=20 .OR. CellType=2 .OR. CellType=9 .OR. CellType=10 .OR. CellType=3 .OR. CellType=4 .OR. CellType=5
- IF CellType=4
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y1)
- call TAB with chr(25) + ' 3'
- ENDI
-
- IF CellType=20
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y1)
- call TAB with chr(25) + ' '+str(6)
- ENDI
-
- IF CellType=3
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y1)
- call TAB with chr(25) + ' '+str(5)
- ENDI
- do case
- case UP=0
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "7"
- call TAB with "0 "+str(X0)+str(Y0+1)+str(X1)+str(Y0+1)
- call TAB with "7"
- case UP=1
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "7"
- case UP=2
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "7"
- call TAB with "0 "+str(X0)+str(Y0+2)+str(X1)+str(Y0+2)
- call TAB with "7"
- case UP=3
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "7"
- call TAB with "0 "+str(X0-2)+str(Y0-2)+str(X1+2)+str(Y0-2)
- call TAB with "7"
- call TAB with "0 "+str(X0-3)+str(Y0-3)+str(X1+3)+str(Y0-3)
- call TAB with "7"
- endcase
-
- do case
- case LEFT=0
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X0+1)+str(Y0)+str(X0+1)+str(Y1)
- call TAB with "7"
- case LEFT=1
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "7"
- case LEFT=2
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X0+2)+str(Y0)+str(X0+2)+str(Y1)
- call TAB with "7"
- case LEFT=3
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X0-2)+str(Y0-2)+str(X0-2)+str(Y1+2)
- call TAB with "7"
- call TAB with "0 "+str(X0-3)+str(Y0-3)+str(X0-3)+str(Y1+3)
- call TAB with "7"
- endcase
- if Y1=TabYE
- do case
- case DOWN=0
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X0)+str(Y1-1)+str(X1)+str(Y1-1)
- call TAB with "7"
- case DOWN=1
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "7"
- case DOWN=2
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X0)+str(Y1-2)+str(X1)+str(Y1-2)
- call TAB with "7"
- case DOWN=3
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X0-2)+str(Y1+2)+str(X1+2)+str(Y1+2)
- call TAB with "7"
- call TAB with "0 "+str(X0-3)+str(Y1+3)+str(X1+3)+str(Y1+3)
- call TAB with "7"
- endcase
- endif
- if X1=TabXE
- do case
- case RIGHT=0
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X1-1)+str(Y0)+str(X1-1)+str(Y1)
- call TAB with "7"
- case RIGHT=1
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "7"
- case RIGHT=2
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X1-2)+str(Y0)+str(X1-2)+str(Y1)
- call TAB with "7"
- case RIGHT=3
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "7"
- call TAB with "0 "+str(X1+2)+str(Y0-2)+str(X1+2)+str(Y1+2)
- call TAB with "7"
- call TAB with "0 "+str(X1+3)+str(Y0-3)+str(X1+3)+str(Y1+3)
- call TAB with "7"
- endcase
- endif
-
- call TAB with "0 "+str(X0)+' '+str(Y0)+' '+str(X1)+' '+str(Y1)
- call TAB with "2 "+trim(ltrim(VALUE))
-
- if CellType<>9 .AND. CellType<>10
- call TAB with 'D '+str(WIDTH)+' '+str(HEIGHT)+' '+str(WORDSTYLE)
- call TAB with "5"
- else
- call TAB with chr(18)+' '+str(CellType)
- endif
- endif
-
- if CellType=8
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y1)
- call TAB with "7"
- endif
- skip
- endd
- RETURN
-
- PROC MainLink
- NO=LocateCel(CurX+LogicX-8,CurY+LogicY-50)
- IF ( NO <> 0 )
- m=fieldch(60,6,8,"MASTER")
- sele 1
- if len(m)=0
- retu
- endi
- GO NO
- REPL FNAME WITH m
- REPL CellType WITH 3
- REPL DBNAME WITH MASTERDB
- REPL FTYPE WITH I->FIELD_TYPE
- ENDI
- isKey = 1
- RETU
-
- PROC SlaveLink
- *20Ϊͷ
- NO=LocateCel(CurX+LogicX-8,CurY+LogicY-50)
- IF ( NO <> 0 .and. CellType=20)
- m=fieldch(60,6,8,"SLAVE")
- sele 1
- if len(m)=0
- retu
- endi
- GO NO
-
- REPL FNAME WITH m
- REPL DBNAME WITH MASTERDB
- REPL FTYPE WITH I->FIELD_TYPE
-
- NAME=FNAME
- TYPES=FTYPE
- X=X0
- GO TOP
- DO WHILE .not. eof()
- IF ( CellType = 4 .and. X0=X )
- REPL FNAME WITH NAME
- REPL FTYPE WITH TYPES
- ENDI
- SKIP
- ENDD
- ENDI
- isKey = 1
- RETU
-
- *╡Ñ╘¬╢¿╬╗
- PROC LocateCel
- PARA X,Y
- GO TOP
- DO WHILE .not. EOF( )
- IF ( X>X0 .and. X<X1 .and. Y>Y0 .and. Y<Y1 )
- RETU RECNO( )
- ENDI
- SKIP
- ENDD
- RETU 0
-
- *╢¿╥σ┤╙┐Γ╩╫
- PROC SHead
- SY=0
- GO TOP
- DO WHILE .not. EOF( )
- IF ( CellType=4 .or. CellType=20)
- *╟σ
- REPL CellType WITH 1
- REPL DBNAME WITH ""
- REPL FNAME WITH ""
- REPL FTYPE WITH ""
- REPL VALUE WITH ""
- ENDI
- SKIP
- ENDD
- IF ( LocateCel(CurX+LogicX-8,CurY+LogicY-50) <> 0 )
- SY=Y0
- GO TOP
- DO WHILE .not. EOF( )
- IF ( SY=Y0 )
- *╢■╬¼╠ε╨┤╧ε
- *20Ϊͷ
- REPL CellType WITH 20
- REPL DBNAME WITH SLAVEDB
- REPL FTYPE WITH ""
- REPL FNAME WITH ""
- ENDI
- SKIP
- ENDD
- ENDI
- RETU
-
- *╢¿╥σ┤╙┐Γ╬▓
- PROC STail
- IF ( LocateCel(CurX+LogicX-8,CurY+LogicY-50) <> 0 )
- TY=Y1
- GO TOP
- DO WHILE .not. EOF( )
- IF ( Y0>=SY .and. Y0<TY .and. CellType<>20)
- *╢■╬¼╠ε╨┤╧ε
- REPL CellType WITH 4
- REPL DBNAME WITH SLAVEDB
- ENDI
- SKIP
- ENDD
- ENDI
- RETU
-
-
- PROC ClearLink
- NO=LocateCel(CurX+LogicX-8,CurY+LogicY-50)
- IF ( NO <> 0 .and. CellType=3)
- REPL FNAME WITH ""
- REPL FTYPE WITH ""
- REPL VALUE WITH ""
- REPL CellType WITH 1
- REPL DBNAME WITH ""
- ENDI
- isKey = 1
- RETU
-
- *╢┴╚í
- PROC readLib
- sele 1
- index on Y0 to p
-
- sele 9
- USE MASTER
- GO TOP
- public express
- store FIELD_NAME to express
- use
-
- sele 2
- use &MASTERDB
- sele 3
- use &SLAVEDB
- index on &express to p3
- sele 2
- set rela to &express into C
- if(MAINNO>reccount())
- MAINNO=MAINNO-1
- ?chr(7)
- endif
- if(MAINNO<=0)
- MAINNO=1
- ?chr(7)
- ENDI
- go MAINNO
- public cmds
- sele 1
- go top
- do while .not. eof()
- if ( CellType = 3 .or.CellType = 4 .or. CellType = 20 )
- REPL VALUE WITH ""
- endi
- skip
- enddo
-
- *╓≈┐Γ
- go top
- do while .not. eof()
- if ( CellType = 3 .and. len(FNAME)<>0 )
- do case
- case FTYPE='C'
- cmds='repl VALUE with '+'B->'+trim(ltrim(FNAME))
- &cmds
- case FTYPE='N'
- cmds='repl VALUE with '+'str(B->'+trim(ltrim(FNAME))+')'
- &cmds
- case FTYPE='D'
- cmds='repl VALUE with '+'DTOC(B->'+trim(ltrim(FNAME))+')'
- &cmds
- case FTYPE='M'
- endcase
- endi
- skip
- enddo
-
- *┤╙┐Γ
- temp=0
- go top
- do while .not. eof()
- if ( (CellType=4 .or. CellType=20) .and. len(FNAME)<>0 )
- if temp=0
- temp=Y0
- else
- if(Y0<>temp)
- sele 3
- if eof()
- exit
- endif
- skip
- cmds=trim(express)+'<>'+'B->'+trim(express)
- if (&cmds)
- sele 2
- use
- sele 3
- use
- sele 1
- return
- endi
- sele 1
- temp=Y0
- endif
- endif
- do case
- case FTYPE='C'
- cmds='repl VALUE with '+'C->'+trim(ltrim(FNAME))
- &cmds
- case FTYPE='N'
- cmds='repl VALUE with '+'str(C->'+trim(ltrim(FNAME))+')'
- &cmds
- case FTYPE='D'
- cmds='repl VALUE with '+'DTOC(C->'+trim(ltrim(FNAME))+')'
- &cmds
- case FTYPE='M'
- endcase
- endi
- skip
- enddo
-
- sele 2
- use
- sele 3
- use
- sele 1
- return
-
- *╥╘╧┬╬¬┤≥╙í▒φ╕±
-
- PROC PRINTTAB
- call TAB with "9"
- go top
- do while .not. eof()
- if CellType=1 .OR. CellType=2 .OR. CellType=20 .OR. CellType=9 .OR. CellType=10 .OR. CellType=3 .OR. CellType=4 .OR. CellType=5
- do case
- case UP=0
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "8"
- call TAB with "0 "+str(X0)+str(Y0+1)+str(X1)+str(Y0+1)
- call TAB with "8"
- case UP=1
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "8"
- case UP=2
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "8"
- call TAB with "0 "+str(X0)+str(Y0+2)+str(X1)+str(Y0+2)
- call TAB with "8"
- case UP=3
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y0)
- call TAB with "8"
- call TAB with "0 "+str(X0-2)+str(Y0-2)+str(X1+2)+str(Y0-2)
- call TAB with "8"
- call TAB with "0 "+str(X0-3)+str(Y0-3)+str(X1+3)+str(Y0-3)
- call TAB with "8"
- endcase
-
- do case
- case LEFT=0
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X0+1)+str(Y0)+str(X0+1)+str(Y1)
- call TAB with "8"
- case LEFT=1
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "8"
- case LEFT=2
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X0+2)+str(Y0)+str(X0+2)+str(Y1)
- call TAB with "8"
- case LEFT=3
- call TAB with "0 "+str(X0)+str(Y0)+str(X0)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X0-2)+str(Y0-2)+str(X0-2)+str(Y1+2)
- call TAB with "8"
- call TAB with "0 "+str(X0-3)+str(Y0-3)+str(X0-3)+str(Y1+3)
- call TAB with "8"
- endcase
- if Y1=TabYE
- do case
- case DOWN=0
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X0)+str(Y1-1)+str(X1)+str(Y1-1)
- call TAB with "8"
- case DOWN=1
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "8"
- case DOWN=2
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X0)+str(Y1-2)+str(X1)+str(Y1-2)
- call TAB with "8"
- case DOWN=3
- call TAB with "0 "+str(X0)+str(Y1)+str(X1)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X0-2)+str(Y1+2)+str(X1+2)+str(Y1+2)
- call TAB with "8"
- call TAB with "0 "+str(X0-3)+str(Y1+3)+str(X1+3)+str(Y1+3)
- call TAB with "8"
- endcase
- endif
- if X1=TabXE
- do case
- case RIGHT=0
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X1-1)+str(Y0)+str(X1-1)+str(Y1)
- call TAB with "8"
- case RIGHT=1
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "8"
- case RIGHT=2
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X1-2)+str(Y0)+str(X1-2)+str(Y1)
- call TAB with "8"
- case RIGHT=3
- call TAB with "0 "+str(X1)+str(Y0)+str(X1)+str(Y1)
- call TAB with "8"
- call TAB with "0 "+str(X1+2)+str(Y0-2)+str(X1+2)+str(Y1+2)
- call TAB with "8"
- call TAB with "0 "+str(X1+3)+str(Y0-3)+str(X1+3)+str(Y1+3)
- call TAB with "8"
- endcase
- endif
-
- call TAB with "0 "+str(X0)+' '+str(Y0)+' '+str(X1)+' '+str(Y1)
- call TAB with "2 "+trim(ltrim(VALUE))
-
- if CellType<>9 .AND. CellType<>10
- call TAB with 'D '+str(WIDTH)+' '+str(HEIGHT)+' '+str(WORDSTYLE)
- call TAB with "6"
- else
- call TAB with chr(19)+' '+str(CellType)
- endif
- endif
- if CellType=8
- call TAB with "0 "+str(X0)+str(Y0)+str(X1)+str(Y1)
- call TAB with "8"
- endif
- skip
- endd
- call TAB with chr(11)
- call TAB with chr(10)
- RETU
-