home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MAKE1.ZIP / MAKE1.PAS < prev    next >
Pascal/Delphi Source File  |  1993-08-19  |  2KB  |  90 lines

  1. program reformat;
  2. const
  3.      ProgData = 'MAKE1- Free DOS utility: text line joiner.';
  4.      ProgDat2 = 'V1.00: August 19, 1993. (c) 1993 by David Daniel Anderson - Reign Ware.';
  5.  
  6.      usage = 'Usage:  MAKE1 <infile> <outfile>';
  7. var
  8.    infile, outfile : text ;
  9.    theline,
  10.    nextline        : string ;
  11.  
  12. procedure showhelp ;
  13. begin
  14.        writeln (usage) ;
  15.        halt ;
  16. end;
  17.  
  18. procedure initializeall;
  19. begin
  20.      Writeln ( ProgData );
  21.      Writeln ( ProgDat2 );
  22.      Writeln ;
  23.  
  24.     if paramcount <> 2 then
  25.        showhelp ;
  26.  
  27.      assign (infile, paramstr ( 1 ));
  28. {$i-} reset (infile); {$i+}
  29.      if ioresult <> 0 then
  30.        showhelp ;
  31.  
  32.      assign (outfile, paramstr ( 2 ));
  33. {$i-} rewrite (outfile); {$i+}
  34.      if ioresult <> 0 then
  35.        showhelp ;
  36.  
  37.      write ( ' Converting ' ,paramstr (1),' to ', paramstr (2) );
  38. end;
  39.  
  40. procedure joinlines;
  41. begin
  42.     while (nextline[ length (nextline)] = ' ' ) do
  43.           delete (nextline,length ( nextline ),1 );
  44.  
  45.     if (nextline <> '') then
  46.     while ((nextline[1] = ' ' ) or ( nextline [1] = '|' )) do
  47.           delete (nextline,1,1);
  48.  
  49.     theline := theline + ' ' + nextline;
  50. end;
  51.  
  52. begin
  53.      initializeall;
  54.  
  55. { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }
  56.  
  57.     readln (infile,nextline);
  58.  
  59.     while not eof (infile) do
  60.     begin
  61.  
  62.     theline := nextline;
  63.  
  64.     readln (infile,nextline);
  65.  
  66.     while (theline[ length (theline)] = ' ') do
  67.           delete (theline,length (theline),1);
  68.  
  69.     while (nextline[1] = ' ') do
  70.        begin
  71.          joinlines;
  72.          if not eof (infile) then
  73.             readln (infile,nextline);
  74.        end;
  75.  
  76.     if (theline <> '') then
  77.     writeln (outfile,theline);
  78.     end;
  79.  
  80. { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }
  81.  
  82.     if pos (nextline,theline) = 0 then
  83.        writeln (outfile,nextline);
  84.  
  85.     close (infile);
  86.     close (outfile);
  87.     writeln ( ', done!' );
  88.  
  89. end.
  90.