Contributor: ANDREW EIGUS { MH> Could anyone know how to redirect a standard output (CRT) to a file using MH> standard Write/WriteLn(Output,...) Pascal procedures ? I was playing around with this about two hours and i still didn't figure out how to construct my program so Crt standard write and writeln procedures would write depending on which device you specified in the command line. So i left idea to trouble myself more and wrote my own dependent write procedures that will print only string-typed variables, but at least can be redirected to any other device than CONsole device. :) Now my code goes: {---cut here---} Program SupportingRedirectionWithCrt; { Public Domain, by Andrew Eigus } uses Crt; Procedure DevWrite(Str : string); assembler; { Device-dependent write procedure } Asm push ds lds si,Str cld xor ax,ax lodsb mov cx,ax mov dx,si mov bx,1 { standard output device } mov ah,40h int 21h pop ds End; { DevWrite } Procedure DevWriteLn(Str : string); assembler; { Device-dependent writeln procedure } Asm les si,Str push es push si call DevWrite mov ah,02h mov dl,0Dh int 21h mov dl,0Ah int 21h End; { DevWriteLn } Begin DevWriteLn('Hello, world!'#13#10); DevWriteLn('This text might be freely redirected to any device from the'); DevWriteLn('command line.'); WriteLn(#13#10'And this text may appear on screen only.') End.