Usar las redirecciones dentro de una aplicación cónsola

4585 vistas

Se trata de crear una aplicación cónsola que pueda gestionar las redirecciones sin pasar por las APIs. Esto permite crear y usar rutinas especializadas dentro de scripts NT.

El uso de INPUT y OUTPUT es "una herencia" de Turbo Pascal pero válido en Delphi 3-4-5.



delphi
  1. program Upper;
  2. {$APPTYPE CONSOLE}
  3. // Redirección de tipo 'PIPE', comportamiento similar al programa FIND.EXE o SORT.EXE
  4. // Reenvía una cadena recibida (input) en mayúsculas por la salida (output)
  5. uses SysUtils;
  6.  
  7. Var
  8.   Cadena: String;
  9.  
  10. procedure CloseFile;
  11. begin
  12.   Close(INPUT);
  13.   Close(OUTPUT);
  14. end;
  15.  
  16. Begin
  17.   try
  18.     Assign(INPUT,'');      { entrada estándar }
  19.     Reset(INPUT);          { el fichero existe; reset en sólo lectura }
  20.     Assign(OUTPUT,'');      { salida standard }
  21.     Rewrite(OUTPUT);        { el fichero no existe; rewrite en sólo escritura }
  22.  
  23.     While not(Eof) Do
  24.     Begin
  25.       Readln(INPUT, Cadena);   
  26.       Writeln(OUTPUT, UpperCase(Cadena));
  27.     end
  28.   Finally
  29.     CloseFile;
  30.   end;
  31. end.



En NT/Win9x, podemos usar esta aplicación cónsola de la siguiente manera



delphi
  1. @echo off
  2. rem Convertir en mayúsculas el contenido del fichero minusculas.txt
  3. Type Minusculas.txt|Upper>Mayusculas.txt