{ Here are the relevant pieces from a Program I wrote to convert TheDraw .Bin Files to .ANS Files. Why? TheDraw's .ANSI Files are incredibly wasteful! The display speed of the menus of the BBS I wrote this For now redraw at 300% the speed they used to! if you (or anyone) wants the full Program, give me a yell. } Program Bin2Ansi; Uses Crt,Dos; Var Filenum :Byte; {Points to the command line parameter now being looked at} fName :String; {File from cmd line - possibly With wildcards} Filesdone :Word; Procedure ParseFile (Var cmdFName:String); Var Details:SearchRec; fDir, fName, fExt:String; Dummy:String; {The parts of the name of the source .Bin File} begin {Default extension} if pos ('.',cmdFName) = 0 then cmdFName := cmdFName + '.Bin'; FSplit(cmdFName, fDir, dummy, dummy); {Get the directory name} {Check to see if we have any matches For this Filespec} FindFirst (cmdFName,AnyFile,Details); if DosError <> 0 then begin Writeln ('Filespec: ',cmdfname); error (7,warning); end else begin While DosError = 0 do begin FSplit(fdir+details.name, dummy, fName, fExt); {Get the directory name} assign (BinFile,fdir+details.name); Write ('Opening File: ',details.name,#13); {$i-} reset (BinFile); {$i+} end else begin Writeln (details.name,' --> ',fname,'.ANS '); process (BinFile,fdir+fname+'.ANS'); close (BinFile); end; FindNext (Details); end; end; end; begin directvideo := False; Filesdone := 0; header; if paramcount < 1 then error (1,fatal); FileNum := 0; Repeat fname := paramstr (Filenum + 1); ParseFile (fname); inc (FileNum); Until paramstr (FileNum + 1) = ''; Writeln; Write (' þ Done, With ',Filesdone,' File'); if Filesdone <> 1 then Write ('s'); Writeln (' processed.'); end.