program message; uses graphics,crt,files,open; var virtualtext : pointer; {------------------------------------------------------------} Procedure Scroller; var colour : byte; count, index, i, code, delay_ : integer; begin getmem(virtualtext,3200); load_text(paramstr(1)); asminitgraphics(1); asmsetdirectrgb(0,0,0,0); asmclsuser(0,3200,seg(virtualtext^)); index:=1; colour:=255; Val(ParamStr(2), i, code); if (i < 256) and (i > -1 ) then colour:=i; delay_:=3; Val(ParamStr(3), i, code); if (i < 11) and (i > -1 ) then delay_:=i; repeat if char_store[index]=chr(13) then outtextxyuser(300,1,colour,' ',seg(virtualtext^)); if (char_store[index] <> chr(10)) and (char_store[index] <> chr(13)) and (char_store[index] <> chr(26)) then outtextxyuser(300,1,colour,char_store[index],seg(virtualtext^)); for count:= 1 to 8 do begin rotate_horizuser_one(1,10,true,true,seg(virtualtext^)); delay(delay_*5); asmcopybytes(seg(virtualtext^),seg(mode1addr^),3200); end; index := index + 1; if char_store[index]=chr(0) then index:=1; until keypressed; freemem(virtualtext,3200); asmclosegraph; end; {---------------------------------------------------------------------} begin if (paramstr(1)='/?') or (paramstr(1)='') then begin writeln; Writeln('Message Scroller Written by Franz Ayestaran (c)1997'); writeln('----------------'); writeln; writeln('Usage: message '); writeln; end; if (paramstr(1)<>'/?') and (paramstr(1)<>'') then if does_file_exist(paramstr(1)) then scroller else writeln('File not found!'); end.