From: "Sergey Top" <stop@stop.karaganda.su>
Sub: Как определить переназначен ли вывод на экран в файл. - Solution Here !!!
Hello All !
Тут недавно пробегала проблемка subj, и было предложено решение.
-------8<---------------------------------------------------------------
(*
From: "Kirill V. Karpov" <kirill@permavers.perm.su>
Newsgroups: relcom.comp.lang.pascal
Subject: Re: Как определить, переназначен ли вывод на экран в файл? Help!
Date: Thu, 08 Dec 94 08:24:42 GMT
Organization: JSCB "Perm-Avers"
>
> Всем привет!
>
> Возникла тут такая проблемка: пишу утилитку, которая выдает на экран
> несколько страниц хелпа с ожиданием нажатия клавиши после каждой страницы.
> В ней модуль CRT _не_ используется, поэтому можно переназначить средствами
> MS_DOS'а вывод в файл. Так вот, очень хотелось бы, чтобы при выводе в файл
> программа не ожидала нажатия клавиши, а кидала бы все подряд (на манер ARJ).
> Вот в этом-то собственно и проблема: как определить, переназначен вывод в
> файл или нет.
> Кто что посоветует?
>
> Всего наилучшего, И.Катаев
>
Здесь Вы найдете то, что нужно
Взято из SWAG за 1994 год
Автор: FRED JOHNSON
*)
{
Here's a neat little ditty I converted from a C++ tip I saw in a mag a few
years ago. It tests to see if its own output has been redirected and
returns a 1 if TRUE (redirected) or a 0 if FALSE (not redirected). This
function includes a sample prog that demonstrates its use. SIDE NOTE: I
put this function in the U_FILE.pas.tpu for use with all of my home-grown
file related functions and procedures.
TEST WITH: Test_Red (enter)
[you should see a NOT REDIRECTED msg, 10 lines and a FINISHED msg.]
TEST WITH: Test_Red > this.dat (enter)
[you should see a REDIRECTED msg, (no lines) and a FINISHED msg
and the output of the lines will be in the this.dat file]
}
program test_red;
{$A+,B-,D-,E-,F-,G-,I+,L-,N-,O-,P-,Q-,R-,S+,T-,V+,X-}
{$M 1024,0,655360}
{*******************************************************************!HDR**
** Function Name: fn_bRedirected()
** Description : Determines if output has been redirected;
** Returns : Integer to be treated as boolean;
** Calls :
** Special considerations:
** Modification history:
** Created: 11/03/93 20:23
*****************************************************************
|