[Back to ANSI SWAG index]  [Back to Main SWAG index]  [Original]

{
JAMES FIELDEN

> Ok, but how would you get the actual ANSI screens into one file,
> (TheDraw for example makes them individually), and then know
> their starting and ending positions?
Here's part of a routine I used back in 1988 When I was a WWIV Junky When it
was in Turbo Pascal.  I used this to combine all my ansi screens into
one file and just pick the one out I needed.
}

uses
  Dos, Crt;

Var
  infil  : Text;
  nilfil : Text;
  Star   : String;
  Enn    : String;
  Cup    : String[5];

Procedure PrintScr(Tfil, Loca, ELoca : String);
Begin
  assign(infil, Tfil);
  {$I-}
  reset(infil);
  {$I+}
  if IOResult <> 0 then
  begin
    Writeln(Tfil, ' Not Found');
    Exit;
  end;
  assign(nilfil,'');
  rewrite(nilfil);
  repeat
    readln(infil, Star);
    Cup := Copy(Star,1,5);
  until (Cup = Loca) or EOF(infil);
  repeat
    readln(infil, Enn);
    Cup := Copy(Enn, 1, 5);
    if Cup = ELoca then
      writeln
    else
      Writeln(nilfil,Enn);
  until (Cup = ELoca) or EOF(infil);
  close(infil);
  close(nilfil);
end;
begin
  PrintScr('Bulk.Ans','@2---','@3---');
end.

'Bulk.ans' would be in this format :
@1-------------------------------------------------------------------
Esc[2J This is your first ansi screen;;;
@2-------------------------------------------------------------------
Esc[K This would be your second ansi screen and so on and on I
had about 6 or 7 ANSI screens in One file
@3-------------------------------------------------------------------
I used ANSIDraw to make my screens and then used Turbo3 to add them
all into one file with the Ctrl-K,R Command. (TheDraw and Qedit) would
be much better To use now thought.
I tested this Program on a few ANSI Screens I thur together into one
and it worked ok here using Turbo Pascal 7.0
I'm sure this could be done better as well but if it helps good!

[Back to ANSI SWAG index]  [Back to Main SWAG index]  [Original]