home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / developmen / oplexamp / EX_LABEL.OPL < prev    next >
Text File  |  1992-08-27  |  1KB  |  43 lines

  1. PROC label:
  2. LOCAL a%,b%,c%,d%,s$(128),s&,i$(17,255)
  3. s$="\dat\*.dbf"
  4. dINIT "Insert new field"
  5. dFILE s$,"Data file",0
  6. dLONG s&,"Break at line (1-16)",1,16
  7. IF DIALOG
  8. OPEN s$,A,a$,b$,c$,d$,e$,f$,g$,h$,i$,j$,k$,l$,m$,n$,o$,p$,q$
  9.     c%=COUNT :a%=1
  10.     WHILE a%<=c%
  11.         AT 1,1 :PRINT "Entry",a%,"of",c%,
  12.         IF A.q$="" REM Entry (hopefully) not too long
  13.             i$(1)=A.a$ :i$(2)=A.b$ :i$(3)=A.c$ :i$(4)=A.d$
  14.             i$(5)=A.e$ :i$(6)=A.f$ :i$(7)=A.g$ :i$(8)=A.h$
  15.             i$(9)=A.i$ :i$(10)=A.j$ :i$(11)=A.k$ :i$(12)=A.l$
  16.             i$(13)=A.m$ :i$(14)=A.n$ :i$(15)=A.o$ :i$(16)=A.p$
  17.             d%=0 :b%=0
  18.             WHILE d%<s&+b% REM find field to break at
  19.                 d%=d%+1
  20.                 IF LEFT$(i$(d%),1)=CHR$(20) REM line>255...
  21.                     b%=b%+1 REM ...so it's 2 fields
  22.                 ENDIF
  23.             ENDWH
  24.             b%=17
  25.             WHILE b%>d% REM copy the fields down
  26.                 i$(b%)=i$(b%-1) :b%=b%-1 
  27.             ENDWH
  28.             i$(d%)="" REM and make an empty field
  29.             A.a$=i$(1) :A.b$=i$(2) :A.c$=i$(3) :A.d$=i$(4)
  30.             A.e$=i$(5) :A.f$=i$(6) :A.g$=i$(7) :A.h$=i$(8)
  31.             A.i$=i$(9) :A.j$=i$(10) :A.k$=i$(11) :A.l$=i$(12)
  32.             A.m$=i$(13) :A.n$=i$(14) :A.o$=i$(15) :A.p$=i$(16)
  33.             A.q$=i$(17)
  34.         ELSE
  35.             PRINT "has too many fields"
  36.             PRINT "Press a key..." :GET
  37.         ENDIF
  38.         UPDATE :FIRST
  39.         a%=a%+1
  40.     ENDWH :CLOSE
  41. ENDIF
  42. ENDP
  43.