home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / CLIPPER / SCRNUZ / MEMTEXTW.PRG < prev    next >
Text File  |  1991-12-13  |  4KB  |  116 lines

  1. *.............................................................................
  2. *
  3. *   Program Name: MEMTEXTW.PRG      Copyright: EDON Corporation
  4. *   Date Created: 04/17/91           Language: Clipper S'87
  5. *   Time Created: 06:30:44             Author: Ed Phillips
  6. *           Desc: Write Selected Screens to DOS text file
  7. *.............................................................................
  8.  
  9. PRIVATE oldcolor, oldscrn, oldrec, numscrns, num_mark, f9, dscrn, charcnt, j
  10. PRIVATE tit
  11.  
  12. tit = 'Write Screen(s) to DOS Text File'
  13. numscrns = Reccount()
  14. numscrns = Max(1,numscrns)
  15. PRIVATE slist[numscrns]
  16. Afill(slist,Space(10))
  17.  
  18. oldrec = Recno()
  19. oldcolor = Setcolor()
  20. f9 = -8
  21.  
  22. Setcolor(c_field)
  23. CLEAR
  24. @ 1,Centr(tit) SAY tit
  25.  
  26. Sayhelp('Building Screen List...')
  27. Bld_Slist(numscrns)
  28.  
  29. num_mark = 0
  30. Alist('slist',' Screen Selection List',22,3,29)
  31. @ 24,0 CLEAR
  32. charcnt = 80 * 24                          &&(r - l + 1) * (b - t + 1)
  33.  
  34. IF num_mark > 0
  35.    FOR i = 1 TO numscrns
  36.       IF i = 1
  37.          output = 'FILE'
  38.          f_name = Space(20)
  39.          Scroll(5,7,9,72,0)
  40.          @ 5,7 TO 9,72
  41.          @ 7,9 SAY 'Enter name of DOS text file to write to:'
  42.          @ 7,50 GET f_name
  43.          READ
  44.          IF Empty(f_name)
  45.             EXIT
  46.          ELSE
  47.             f_name = Ltrim(Rtrim(f_name))
  48.             IF !('.' $ f_name)
  49.                f_name = f_name+'.PRN'
  50.             ENDIF                                && IF !('.' $ f_name)
  51.             IF File(f_name)
  52.                Alert()
  53.                IF ! Sayconfirm('File Exists, OK to Overwrite? (Y/N)')
  54.                   EXIT
  55.                ENDIF                             && IF ! Sayconfirm('File Exists, OK to Overwrite? (Y/N)')
  56.             ENDIF                                && IF File(f_name)
  57.             Output2(output,f_name)
  58.          ENDIF                                   && IF Empty(f_name)
  59.       ENDIF                                      && IF i = 1
  60.  
  61.       IF Subs(slist[i],1,1) != ' '
  62.          SEEK Subs(slist[i],2)
  63.  
  64.          *------------------------
  65.          * Extract the Screen text
  66.          *------------------------
  67.          dscrn = ' '
  68.          j = 1
  69.          FOR k = 1 TO charcnt
  70.             dscrn = dscrn + Subs(Screen,j,1)
  71.             j = j + 2
  72.          NEXT                                          && FOR i = 1 TO charcnt
  73.          dscrn = Subs(dscrn,2)
  74.  
  75.          *-----------------
  76.          * Print the screen
  77.          *-----------------
  78.          x = 1
  79.          FOR k = 1 TO 24
  80.             @ Lc()+1,0 SAY Subs(dscrn,x,80)
  81.             x = x + 80
  82. *            @ Lc()+1,0 SAY Memoline(dscrn,80,k)
  83. *            @ Lc()+1,0 SAY Ltrim(Trim(Memoline(dscrn,80,k)))
  84.          NEXT                                       && FOR i = 1 TO 24
  85.          @ Lc()+2,0 SAY ''
  86.       ENDIF                                      && IF Subs(slist[i],1,1) != ' '
  87.  
  88.    NEXT                                          && FOR i = 1 TO numscrns
  89.    Eorpt(.f.)
  90. ENDIF                                            && IF num_mark > 0
  91.  
  92. Setcolor(oldcolor)
  93. GO oldrec
  94. Restscreen(St,Sl,Sb,Sr,Screen)
  95. RestGets()
  96. RestMenu()
  97. Gotoxy(r,c)
  98. RETURN
  99.  
  100. *----------------------------
  101. *         Author: Ed Phillips
  102. *   Date Created: 04/17/91
  103. *----------------------------
  104. FUNCTION Bld_Slist
  105.    PARAMETERS numscrns
  106.    PRIVATE i
  107.  
  108.    GO TOP
  109.    FOR i = 1 TO numscrns
  110.        slist[i] = ' '+Scrn_name
  111.        SKIP
  112.    NEXT                                          && FOR i = 1 TO numscrns
  113.  
  114. RETURN(.T.)
  115. * EOF: MEMTEXTW.PRG
  116.