home *** CD-ROM | disk | FTP | other *** search
- REM ************************************************************************
- REM Text template maker --- subroutine (tbwrtf.cdl)
-
- REM Purpose: To write a single field of text onto the part
- REM ************************************************************************
-
-
- tbdisp_ent = 0
-
- :ind_screen
- DOSUB tbdisp2
- IF (retrn == 0)
- GOTO redrw
- GOTO set_devin
-
- :redrw
- REDRAW
- GOTO exit
-
- :set_devin
- SET devin, $tplname
-
- :read_fld
- INPUT "%d %s %d",sqnum,$tmp,nchar
-
- CLEAR $fldtxt
- ARRAY $fldtxt[nchar+1]
-
- REM *** dummy read two characters
- INPUT "%c %c",$fldtxt[0],$fldtxt[1]
-
- i = 0
- :txtloop
- INPUT "%c",$fldtxt[i]
- IF ($fldtxt[i] == 34)
- GOTO read_more
- i = i + 1
- goto txtloop
-
- :read_more
- $fldtxt[i] = 0
- INPUT "%f %f %f %f %f %d %d\n",dx,dy,fldlngth,txtht,asprat,font,pen
-
- IF (sqnum == pnum)
- GOTO get_fldtxt
- IF (sqnum != 10000)
- GOTO read_fld
- GOTO ind_screen
-
- :get_fldtxt
- GETSTR "Enter new text (%s):",$fldtxt,$fldtxt
- ON (@KEY + 3) GOTO exit,ind_screen,
- CALL strlen, $fldtxt, lngth
- IF (lngth > nchar)
- GOTO message1
-
- txtx = bpx + dx
- txty = bpy + dy
- TEXT txtx,txty,$fldtxt,0,txtht,asprat,0,0,0,font,0,0,pen
- CLOSE devin
- tbdisp_ent = 1
- GOTO ind_screen
-
- :message1
- PROMPT "Too many characters for this field, try again..."
- WAIT 2
- $fldtxt = " "
- GOTO get_fldtxt
-
- :exit
- EXIT
-