[Back to ANSI SWAG index] [Back to Main SWAG index] [Original]
{
From: GREG ESTABROOKS
Subj: ANS->BIN
---------------------------------------------------------------------------
DT> I'm looking for some kinda code which will convert an ANSI file
DT> to a raw binary file (<-Or Something that can be directly written to
DT> the screen, without decoding). Something which converts an ansi file, say
DT>24-255 lines to an array which holds <CHAR>,<ATTRIBUTE>,<CHAR>,ect..just
DT>like video memory. Can anybody help me out here?
Just feed the ansi into the CON and then dump the contents of
video memory to a file. Heres a demo of how to do it.
NOTE: this does not check file IO so if the file doesn't exist
it'll cause a runtime error.
Call it like this:
ANSDUMP AnsiFile DumpFile
}
{***********************************************************************}
PROGRAM AnsiDump; { Dec 09/93, Greg Estabrooks. }
USES CRT; { IMPORT Clrscr,Writeln }
VAR
Con, { File handle to the Console. }
InFile :TEXT; { File that contains ANSI info. }
OutFile:FILE; { File to send new info to. }
BuffStr:STRING; { Holds string read from Ansi File. }
BEGIN
Clrscr; { Clear any screen clutter. }
Assign(InFile,ParamStr(1)); { Open Ansi File. }
Reset(InFile);
Assign(Con,''); { Assign Con to the Console. }
ReWrite(Con); { Set it for writing to. }
Assign(OutFile,ParamStr(2)); { Open file to send dump to. }
ReWrite(OutFile);
WHILE NOT Eof(InFile) DO { Loop through entire ansi file. }
BEGIN
Readln(InFile,BuffStr); { Read line from file. }
Writeln(Con,BuffStr); { Write line to console. }
END;
{ Now block write entire contents of text}
{ video memory to file. }
BlockWrite(OutFile,MEM[$B800:0000],4000);
Close(OutFile); { Close dump file. }
Close(Con);
Close(InFile); { Close ansi file. }
Readln;
END.
[Back to ANSI SWAG index] [Back to Main SWAG index] [Original]