@ 0,20 SAY '╗╣╨Φ╥¬╤í╘±╩²╛▌╬─╝■┬≡?[Y/N]:' GET YN PICT '!' VALID YN$'YN'
READ
IF UPPE(YN)<>'Y'
EXIT
ENDIF
ENDDO
@ 1,0 CLEAR
SET DELI OFF
SELE 10
USE DB
HS=25
LS=5
HHJ=''
COUNT TO MAX
GO TOP
N=0
SET DEVI TO SCRE
@ 1,0
T=.T.
DO WHILE T
@ 2,0 CLEAR
I=2
J=0
N1=N+1
DO WHILE .NOT. EOF()
N=N+1
@ I,J*15 SAY STR(N,2)+'.'+TRIM(C_NAME)
J=J+1
IF J=LS
I=I+1
J=0
ENDIF
IF I=HS-6
EXIT
ENDIF
SKIP
ENDDO
DO WHILE .T.
@ HS-5,1 SAY '╡▒╟░╤í╓╨╡─╩²╛▌╧ε╬¬: '+HHJ
@ 1,9 SAY '╤í╘±║╧│╔┐Γ╩²╛▌╧ε╨≥║┼:Enter_═╦│÷ PgUp_╟░▓Θ PgDn_║≤▓Θ: '
DO WHILE .T.
@ 1,60 SAY ':'
YN=INKEY(0)
IF YN>48.AND.YN<58.OR.YN=13.OR.YN=3.OR.YN=18.OR.YN=27
EXIT
ENDIF
?? CHR(7)
ENDDO
@ 1,0 SAY SPACE(9)
@ 1,63 SAY SPACE(16)
DO CASE
CASE YN=27
CLOS DATA
RETU TO MAST
CASE YN=18
IF N1=1
LOOP
ENDIF
IF N1<LS*HS+1
N=0
ELSE
N=N1-LS*HS+1
ENDIF
GO TOP
SKIP N
EXIT
CASE YN=3
IF N=MAX
LOOP
ENDIF
SKIP
EXIT
CASE YN=13
IF LEN(HHJ)=0
LOOP
ENDIF
T=.F.
EXIT
OTHER
DO WHILE .T.
@ 1,61 SAY CHR(YN)
YN1=INKEY(0)
IF YN1>47.AND.YN<58.OR.YN1=13.OR.YN1=127.OR.YN1=19.OR.YN1=27
EXIT
ENDIF
??CHR(7)
ENDDO
IF YN1=27
CLOS DATA
RETU TO MAST
ENDIF
IF YN1=127.OR.YN1=19
LOOP
ENDIF
IF YN1=13
YN1=' '
ELSE
YN1=CHR(YN1)
@ 1,62 SAY YN1
ENDIF
YN=CHR(YN)
IF &YN.&YN1.>MAX .OR. &YN.&YN1.<1
@ 1,64 SAY '╨≥║┼{&YN.&YN1.}│¼╖╢╬º!'
@ 1,3 SAY '╟δ╓╪╨┬'
LOOP
ENDIF
GO TOP
SKIP &YN.&YN1.-1
REC=RECNO()
FD=FIELD_NAME
LOCA FOR DELE().AND.FIELD_NAME=FD
IF EOF()
GO REC
DELE
ELSE
@ 1,3 SAY '╟δ╓╪╨┬'
@ 1,64 SAY '╨≥║┼{&YN.&YN1.}╥╤╤í╣²'
LOOP
ENDIF
HHJ=HHJ+'; '+TRIM(C_NAME)
IF HHJ=';'
HHJ=SUBS(HHJ,2)
ENDIF
ENDCASE
ENDDO
ENDDO
COPY TO DB_1_1 FOR DELE()
FN1=SPACE(8)
CFN1=SPACE(20)
SELE 10
USE FILE
LOCA FOR RECNO()<>VAL(F_NO)
REC=RECNO()
FNO1=SUBS(STR(1000+RECNO(),4),2)
SET INDE TO FILE
DO WHILE .T.
CLEAR
@ 2,8 TO 8,70 DOUB
@ 4,8 TO 8,70 DOUB
@ 3,10 SAY ' ╟δ╩Σ╚δ║╧│╔╩²╛▌╬─╝■╡─'
@ 5,10 SAY ' ╬≈╬─╩²╛▌┐Γ├√:' GET FN1 PICT '!!!!!!!!'
@ 6,10 SAY ' ╓╨╬─╩²╛▌┐Γ├√:' GET CFN1
@ 7,10 SAY ' *** ╙╨╥╗╬¬┐╒╘≥╖╡╗╪ *** '
READ
IF FN1=SPACE(8).OR. CFN1=SPACE(20)
RETU
ENDIF
SET EXACT ON
SEEK FN1
SET EXACT OFF
IF .NOT. EOF()
@ 9,10 SAY '╕├╬─╝■├√ &FN1 ╥╤╩╣╙├ ╓╨╬─╬─╝■├√╬¬ '+C_FNAME
A=INKEY(5)
LOOP
ELSE
EXIT
ENDIF
ENDDO
USE DB_1_1
RECA ALL
REPL ALL FIELD_NO WITH SUBS(STR(100+RECNO(),3),2)
SUM FIELD_LEN TO NUM
FNUM=RECCOUNT()
COPY TO FNS STRU EXTE
REPL ALL F_NO WITH FNO1
USE FNS
ZAP
APPE FROM DB_1_1
USE
CREA &FN1 FROM FNS
USE DBD INDE DBD
APPE FROM DB_1_1
REIN
USE FILE
GO REC
INSE BEFO BLAN
REPL F_NO WITH FNO1,F_NAME WITH FN,SYSFILE WITH '3',REC_BYTE WITH NUM,FIELD_NUM WITH FNUM,F_DATE WITH DATE(),F_FMT WITH FN1,F_NAME WITH FN1,C_FNAME WITH CFN1,F_DEC WITH CFN1,IDX_NUM WITH 0
SET INDE TO FILE
REIN
USE
SELE 1
CLEAR
FN=TRIM(FN1)
CFN=TRIM(CFN1)
FNO=FNO1
CLEAR
@ 5,(80-28-LEN(FN)-LEN(CFN))/2 SAY '╩²╛▌┐Γ &CFN.(&FN..DBF)╜ß╣╣╜¿┴ó═Ω▒╧!'