home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 600-699 / ff645.lha / DMD / REXX / Justify.dme < prev    next >
Text File  |  1992-04-26  |  1KB  |  34 lines

  1. /* Justify.dme © 1991 Fergus Duniho */
  2. /* Multi-macro for Left & Right Justification, Centering, and Indenting */
  3.  
  4. Arg COMM COLUMN
  5.  
  6. Select
  7.     When COMM = 'LEFT' Then TASK = "Call Writeln 'New', Copies(' ', COLUMN) || Strip(LINE)"
  8.     When COMM = 'RIGHT' Then TASK = "DIFFERENCE = COLUMN - Length(LINE); Call Writeln 'New', Copies(' ', DIFFERENCE) || LINE"
  9.     When COMM = 'CENTER' Then TASK = "Call Writeln 'New', Center(Strip(LINE), COLUMN)"
  10.     When COMM = 'INDENT' & COLUMN > 0 Then TASK = "Call Writeln 'New', Copies(' ', COLUMN) || LINE"
  11.     When COMM = 'INDENT' & COLUMN < 0 Then Do
  12.         COLUMN = ABS(COLUMN)
  13.         TASK = "Call Writeln 'New', Delstr(LINE, 1, COLUMN)"
  14.     End
  15.     Otherwise Exit
  16. End
  17.  
  18. If COMM = 'LEFT' Then COLUMN = COLUMN - 1
  19. 'if !cb `unblock block block'
  20. bsave 'ram:text'
  21. 'title (Please Wait ...)'
  22. Call Open 'Old', 'RAM:TEXT', 'R'
  23. Call Open 'New', 'RAM:TEXT2', 'W'
  24.  
  25. LINE = Readln('Old')
  26. Do Until EOF('Old')
  27.     Interpret TASK
  28.     LINE = Readln('Old')
  29. End
  30.  
  31. Call Close 'New'
  32. bdelete
  33. insfile 'RAM:TEXT2'
  34.