;;;Subroutine for applying word wrap to a text string (makes multiple lines from single line). ;;;Requires two arguments (abrkstr [string] [wrap length]) ;;;Stores resulting strings in symbol names typ_t# where # is the wrapped text line number. ;;; ;;;> Author: Henry C. Francis ;;;> 425 N. Ashe St. ;;;> Southern Pines, NC 28387 ;;;> http://paracadd.com ;;;> All rights reserved. ;;; ;;;> COPYRIGHT: 10-4-98 ;;;> EDITED: 10-29-2005 ;;; (defun abrkstr (note wrap /) (progn (setq chr_indx 1 var_indx 1 ) ;_ end of setq (setq nxt_char (substr note chr_indx 1)) (while (and (not note_done) (not (eq "" note))) (if (eq nxt_char " ") ;if breakpoint (progn (if lst_break (setq fst_break lst_break) ) ;_ end of if (setq lst_break chr_indx) ) ;_ end of progn ) ;_ end of if (if (eq nxt_char "") ;if endpoint (progn (if lst_break (setq fst_break lst_break) ) ;_ end of if (setq lst_break chr_indx done_note T ) ;_ end of setq ) ;_ end of progn ) ;_ end of if (cond ((and (> lst_break wrap) (> fst_break 1)) (set (read (strcat "typ_t" (itoa var_indx))) (substr note 1 (1- fst_break)) ) ;_ end of set ; (princ "\nText line ") ; (princ var_indx) ; (princ " index= ") ; (princ fst_break) ; (princ " or ") ; (princ lst_break) (setq note (substr note (1+ fst_break)) chr_indx 1 var_indx (1+ var_indx) fst_break nil lst_break nil nxt_char (substr note 1 1) ) ;_ end of setq ) ((eq lst_break wrap) ;if 2nd break = wrap length (set (read (strcat "typ_t" (itoa var_indx))) (substr note 1 (1- lst_break)) ) ;_ end of set ; (princ "\nText line ") ; (princ var_indx) ; (princ " index= ") ; (princ fst_break) ; (princ " or ") ; (princ lst_break) (if (> (strlen note) wrap) (setq note (substr note (1+ lst_break)) chr_indx 1 var_indx (1+ var_indx) fst_break nil lst_break nil nxt_char (substr note 1 1) ) ;_ end of setq (setq nxt_char "" note_done T ) ;_ end of setq ) ;_ end of if ) ((<= (strlen note) wrap) (set (read (strcat "typ_t" (itoa var_indx))) note ) ;_ end of set ; (princ "\nText line ") ; (princ var_indx) ; (princ " index= ") ; (princ fst_break) ; (princ " or ") ; (princ lst_break) (setq nxt_char "" note_done T ) ;_ end of setq ) ) ;_ end of cond (setq chr_indx (1+ chr_indx) nxt_char (substr note chr_indx 1) ) ;_ end of setq ) ;_ end of while (if note_done (setq note_done nil) (progn (set (read (strcat "typ_t" (itoa var_indx))) note ) ;_ end of set ; (princ "\nText line ") ; (princ var_indx) ; (princ " index= ") ; (princ fst_break) ; (princ " or ") ; (princ lst_break) ) ;_ end of progn ) ;_ end of if ) ;_ end of progn ) ;_ end of defun (defun clr_txt () (setq typ_t1 nil typ_t2 nil typ_t3 nil typ_t4 nil typ_t5 nil typ_t6 nil typ_t7 nil typ_t8 nil typ_t9 nil typ_t10 nil fst_break nil lst_break nil ) ;_ end of setq ) ;_ end of defun ;|«Visual LISP© Format Options» (72 2 40 2 T "end of " 60 9 0 0 0 T T nil T) ***Don't add text below the comment!***|;