home *** CD-ROM | disk | FTP | other *** search
- ****** ═¿╙├╩²╛▌┐Γ╝╟┬╝╨▐╕─ DBR.PRG ******
- ****** DO DBR ******
- ****** ╚δ┐┌: FILE.DBF:╬─╝■┐Γ ******
- ****** IDX.DBF :╦≈╥²┐Γ ******
- SET TALK OFF
- CLEAR
- EXP=''
- IF TYPE('FN')='U' .OR. TYPE('FNO')='U'
- FN=''
- FNO=''
- CFN=''
- @ 0,0 SAY '<<╩²╛▌▒α╝⌐>>'
- DO SELEF
- IF LEN(FN)=0
- RETU
- ENDIF
- ENDIF
- USE IDX INDE IDX
- SET FILT TO F_NO=FNO
- GO TOP
- NDX=''
- DO WHILE .NOT.EOF()
- NDX=NDX+','+TRIM(IDX_NAME)
- SKIP
- ENDDO
- IF LEN(NDX)<>0
- NDX=SUBS(NDX,2)
- ENDIF
- DO WHILE .T.
- CLOS DATA
- DO CO
- CLEAR
- @ 0,0 SAY '╡▒╟░╬─╝■:&FN..DBF &CFN'
- @ 1,30 SAY ' ╩²╛▌┐Γ╝╟┬╝╨▐╕─ '
- @ 3,20 PROM '1-------╓≡╠⌡╨▐╕─'
- @ 4,20 PROM '2-------┤░┐┌╨▐╕─'
- @ 3,44 PROM '3-------═│╥╗╨▐╕─'
- @ 4,44 PROM '4-------╠⌡╝■╨▐╕─'
- @ 5,20 PROM 'S-------╓╪╤í╬─╝■'
- @ 5,44 PROM '0-------═╦│÷╨▐╕─'
- MENU TO GN
- DO CASE
- CASE GN=5
- @ 0,40 SAY '<<╩²╛▌▒α╝⌐>>'
- DO SELEF
- USE IDX INDE IDX
- SET FILT TO F_NO=FNO
- GO TOP
- NDX=''
- DO WHILE .NOT. EOF()
- NDX=NDX+','+TRIM(IDX_NAME)
- SKIP
- ENDDO
- IF LEN(NDX)<>0
- NDX=SUBS(NDX,2)
- ENDIF
- CASE GN=6
- RETURN
- CASE GN=1
- @ 0,20 SAY '***╔·│╔╜½╥¬╨▐╕─╡─╝╟┬╝╙ª┬·╫π╡─╠⌡╝■***'
- A=INKEY(5)
- DO DBFEXP
- USE &FN
- SET INDE TO &NDX
- SET FILT TO &EXP
- GO TOP
- CLEAR
- SET FORM TO &FN
- EDIT
- CASE GN=2
- USE &FN
- SET INDE TO &NDX
- SET MENU ON
- BROW
- SET MENU OFF
- COUNT ALL FOR DELETE() TO DEL
- IF DEL#0
- PACK
- ENDIF
- CASE GN=3.OR. GN=4
- IF GN=4
- EXP='.T.'
- DO DBFEXP
- ENDIF
- USE DBD INDE DBD
- SET FILT TO F_NO=FNO
- GO TOP
- STOR 'Y' TO AA
- STT=''
- DO WHIL UPPE(AA)='Y'
- GO TOP
- CLEAR
- @ 1,0 SAY STT
- J=3
- I=1
- DO WHIL .NOT. EOF()
- @ J,(I-1)*15 SAY STR((J-3)*5+I,2)+"."+ TRIM(C_NAME)
- SKIP
- IF I=5
- I=0
- J=J+1
- ENDIF
- I=I+1
- ENDDO
- ROW=ROW()+2
- NUM=(J-1)*5+I-1
- N=0
- @ ROW()+1,1 SAY '╟δ╤í╘±╥¬╨▐╕─╡─╩²╛▌╧ε║┼ ' GET N PICT '99' RANG 1,NUM
- READ
- GO TOP
- SKIP N-1
- NAME=TRIM(FIELD_NAME)
- ZY='╓╡╙≥╬¬:'+TRIM(NOTE)
- DO CASE
- CASE FIELD_TYPE='N'
- CLEAR
- @ 0,0 SAY '╡▒╟░╨▐╕─╫╓╢╬:'+TRIM(C_NAME)+'__└α╨═:╩²╫╓╨═__│ñ╢╚:'+STR(FIELD_LEN,2)+' ╨í╩²╬╗:'+STR(FIELD_DEC,2)
- IF LEN(TRIM(NOTE))<>0
- @ 1,0 SAY ZY
- ENDIF
- SELE DBD
- SET FILT TO F_NO=FNO.AND.FIELD_TYPE='N'
- GO TOP
- I=1
- J=1
- DO WHILE .NOT.EOF()
- @ I+1,(J-1)*20 SAY STR((I-1)*5+J,2)+'.'+TRIM(FIELD_NAME)+'('+TRIM(C_NAME)+')'
- IF J=4
- I=I+1
- J=0
- ENDIF
- J=J+1
- SKIP
- ENDDO
- SET FILT TO F_NO=FNO
- NV=SPACE(60)
- ROW=ROW()+1
- DO WHILE .T.
- @ ROW,0 SAY '╟δ╩Σ╚δ╨▐╕─▒φ┤∩╩╜:' GET NV
- READ
- SELE 0
- USE &FN
- IF TYPE('&NV.')<>'N'
- @ ROW+1,0 SAY '╖╟╩²╓╡└α╨═▒φ┤∩╩╜!!!'
- USE
- LOOP
- ENDIF
- USE
- EXIT
- ENDDO
- SELE DBD
- STOR STT+NAME+ ' WITH &NV.' TO STT
- CASE FIELD_TYPE='C'
- @ ROW+1,1 SAY TRIM(C_NAME)+' └α╨═:╫╓╖√╨═ │ñ╢╚:'+STR(FIELD_LEN,3)
- @ ROW()+1,1 SAY ZY
- NV=SPACE(FIELD_LEN)
- @ ROW()+1,1 SAY '╟δ╩Σ╚δ╨▐╕─╓╡ ' GET NV
- READ
- STOR STT+NAME+ ' WITH "'+TRIM(NV)+'" ' TO STT
- CASE FIELD_TYPE='D'
- @ ROW+1,1 SAY TRIM(C_NAME)+'╕├╩²╛▌╧ε╬¬╚╒╞┌╨═ ,╞Σ╕±╩╜╬¬ MM/DD/YY ─Ω/╘┬/╚╒'
- @ ROW()+1,1 SAY ZY
- NV=DATE()
- @ ROW()+1,1 SAY '╟δ╩Σ╚δ╨▐╕─╓╡' GET NV
- READ
- STT=STT+NAME+' WITH CTOD("'+DTOC(NV)+'")'
- CASE FIELD_TYPE='L'
- @ ROW+1,1 SAY TRIM(C_NAME)+'╕├╩²╛▌╧ε╬¬┬▀╝¡╨═, ╞Σ╨╬╩╜╬¬ : .T. .F. '
- @ ROW()+1,1 SAY ZY
- NV=.T.
- @ ROW()+1,1 SAY '╟δ╩Σ╚δ╨▐╕─╓╡' GET NV
- READ
- IF NV
- STT=STT+NAME+' WITH .T.'
- ELSE
- STT=STT+NAME+' WITH .F.'
- ENDIF
- CASE FIELD_TYPE='M'
- ? '╕├╩²╛▌╧ε╬¬├≈╧╕╨═,╟δ╤í╘±╖╜╩╜(1)╨▐╕─'
- ? '╟├╚╬║╬╝ⁿ╘≥╝╠╨°'
- WAIT
- LOOP
- ENDCASE
- IF LEN(STT)>200
- ? '╠µ╗╗─┌╚▌╠½╢α!▒φ┤∩╩╜┐╔─▄│¼│ñ!!!'
- ENDIF
- YN=' '
- ACCE '╝╠╨°╤í╘±┬≡[Y/N]? ' TO AA
- IF UPPE(AA)='Y'
- STT=STT+','
- ENDIF
- ENDDO
- USE &FN
- SET INDE TO &NDX
- IF M->GN=3
- IF LEN(M->STT)+17>254
- WAIT '▒φ┤∩╩╜│¼│ñ! ┤╦┤╬╠µ╗╗╬▐╨º!!! ░┤╚╬╥Γ╝ⁿ╘≥╝╠╨°......'
- USE
- LOOP
- ENDIF
- REPL ALL &STT
- ELSE
- IF LEN(M->STT)+LEN(M->EXP)+22>254
- WAIT '▒φ┤∩╩╜│¼│ñ! ┤╦┤╬╠µ╗╗╬▐╨º!!! ░┤╚╬╥Γ╝ⁿ╘≥╝╠╨°......'
- USE
- LOOP
- ENDIF
- ? M->EXP
- REPL ALL FOR &EXP &STT
- ENDIF
- OTHE
- USE
- LOOP
- ENDC
- ENDD
- ** END OF DBR.PRG **