Index: freexp/TOUCH.INC
===================================================================
RCS file: freexp/TOUCH.INC
diff -N freexp/TOUCH.INC
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ freexp/TOUCH.INC    6 Nov 2004 21:56:42 -0000       1.1
@@ -0,0 +1,39 @@
+{ --------------------------------------------------------------- }
+{ Dieser Quelltext ist urheberrechtlich geschuetzt.               }
+{ (c) 2004           Martin Wodrich, http://www.martinwodrich.de  }
+{                               [EMAIL PROTECTED]         }
+{                                                                 }
+{ Dieser Quelltext darf FreeXP beigelegt werden und ist dort      }
+{ frei benutzbar. Allgemein ist Touch als Nodeware zu werten.     }
+{ Dies bedeutet, dass ich grundsaetzlich benachrichtigt werden    }
+{ moechte, wenn Touch innerhalb eines Software-Buildprocedure     }
+{ eingesetzt werden soll. Zur Verwendung ausserhalb einer         }
+{ Buildprocedure ist Touch als Freeware anzusehen.                }
+{                                                                 }
+{ Die allgemeinen Nutzungsbedingungen fuer diesen Quelltext       }
+{ finden Sie in der Datei TOUCH.TXT oder auf                      }
+{ http://www.martinwodrich.de/Software/Touch/nutzung.htm          }
+{ --------------------------------------------------------------- }
+{ $Id: TOUCH.INC,v 1.1 2004/11/06 21:56:42 mw Exp $ }
+
+{ Erstmal einiges definieren }
+
+{ Borland Pascal 7.0 oder 8.0 }
+{$IFDEF VER70 }
+  {$DEFINE BP}
+  {$DEFINE BPLFN}
+{$ENDIF }
+{$IFDEF VER80 }
+  {$DEFINE BP}
+  {$DEFINE BPLFN}
+{$ENDIF }
+
+{ Andere Compiler brauchen momentan keine Extras }
+
+{
+  $Log: TOUCH.INC,v $
+  Revision 1.1  2004/11/06 21:56:42  mw
+  MW: - Übernahme von TOUCH 1.1b:
+        - Interne Änderung, um NON-LFN-Versionen leichter zu realisieren.
+
+}
\ No newline at end of file
Index: freexp/dosx.pas
===================================================================
RCS file: /server/cvs/freexp/dosx.pas,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- freexp/dosx.pas     9 Jan 2004 16:18:55 -0000       1.23
+++ freexp/dosx.pas     6 Nov 2004 14:57:29 -0000       1.24
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: dosx.pas,v 1.23 2004/01/09 16:18:55 mw Exp $ }
+{ $Id: dosx.pas,v 1.24 2004/11/06 14:57:29 mw Exp $ }
 
 (***********************************************************)
 (*                                                         *)
@@ -40,6 +40,7 @@
 
 
 function  OutputRedirected:boolean;
+procedure StandardIO;
 function  ConfigFILES:byte;                  { FILES= .. }
 function  FreeFILES(maxfiles:byte):word;     { freie Files; max. 255 }
 function  IsDevice(const fn:pathstr):boolean;
@@ -94,6 +95,13 @@
   chdir(path);
 end;
 
+procedure StandardIO;
+BEGIN
+     ASSIGN( Input, '' );
+     RESET( Input );
+     ASSIGN( Output, '' );
+     REWRITE( Output );
+END;
 
 function OutputRedirected:boolean;
 var
@@ -380,6 +388,9 @@
 end.
 {
   $Log: dosx.pas,v $
+  Revision 1.24  2004/11/06 14:57:29  mw
+  MW: - I/O-Redirect jetzt wieder möglich.
+
   Revision 1.23  2004/01/09 16:18:55  mw
   MW: - Wir haben jetzt 2004!!
 
Index: freexp/touch.pas
===================================================================
RCS file: /server/cvs/freexp/touch.pas,v
retrieving revision 1.11
retrieving revision 1.13
diff -u -r1.11 -r1.13
--- freexp/touch.pas    12 Aug 2004 11:15:49 -0000      1.11
+++ freexp/touch.pas    6 Nov 2004 21:56:42 -0000       1.13
@@ -14,23 +14,11 @@
 { finden Sie in der Datei TOUCH.TXT oder auf                      }
 { http://www.martinwodrich.de/Software/Touch/nutzung.htm          }
 { --------------------------------------------------------------- }
-{ $Id: touch.pas,v 1.11 2004/08/12 11:15:49 mw Exp $ }
+{ $Id: touch.pas,v 1.13 2004/11/06 21:56:42 mw Exp $ }
 program touch;
-{Erstmal einiges definieren}
+{$I TOUCH.INC }
 
-{Borland Pascal 7.0 oder 8.0}
-{$IFDEF VER70 }
-  {$DEFINE BP}
-  {$DEFINE BPLFN}
-{$ENDIF }
-{$IFDEF VER80 }
-  {$DEFINE BP}
-  {$DEFINE BPLFN}
-{$ENDIF }
-
-{Andere Compiler brauchen momentan keine Extras}
-
-{Betriebsystemabhaeniges}
+{ Betriebsystemabhaeniges }
 {$IFNDEF WINDOWS }
 {$IFDEF OS2 }
 uses use32,dos,crt;
@@ -49,7 +37,7 @@
    end;
 
 const anyfile=$21;
-      version='1.1';
+      version='1.1b';
 
 var f:file;
     g:text;
@@ -100,42 +88,50 @@
 
 procedure logo;
 begin
-  writeln (g,'Touch '+version+' (c) 2003 by Martin Wodrich');
-  writeln (g,'');
+  writeln ('Touch '+version+' (c) 2003 by Martin Wodrich');
+  writeln ('');
   own:=ownfile;
 end;
 
+procedure StandardIO;
+BEGIN
+     ASSIGN( Input, '' );
+     RESET( Input );
+     ASSIGN( Output, '' );
+     REWRITE( Output );
+END;
+
 procedure hilfe;
 begin
-    writeln (g,'Parameter fehlt');
-    writeln (g,'');
-    writeln (g,'touch file1 file2 ... /t=hh:mm:ss /d=tt.mm.[yy]yy /r=refdatei 
/H /S /V /G /K /LFN');
-    writeln (g,'');
-    writeln (g,'Macros:');
-    writeln (g,' #:    jedes Laufwerk(Nur DOS16)');
-    writeln (g,' \#\   jeder Verzeichnis einschliesslich gar keins');
-    writeln (g,' \##\  und das ganze nochmals rekursiv');
-    writeln (g,' #     Das aktuelle Verzeichnis und alle alle Dateien in 
direkten');
-    writeln (g,'       Unterverzeichnissen touchen');
-    writeln (g,' ##    Alle Dateien die im aktuellen Verzeichnis und rekursiv 
in');
-    writeln (g,'       allen Unterverzeichnissen');
-    writeln (g,' ###   alle verfuegbaren Dateien (Vorsicht: Auf eigene 
Gefahr!!!)');
-    writeln (g,'');
-    writeln (g,' /t=Zeitangabe  /d=Datum  das gesetzt werden soll');
-    writeln (g,' /H    auch versteckte Dateien');
-    writeln (g,' /S    auch Systemdateien');
-    writeln (g,' /V    Vortaeuschmodus (Simulationslauf)');
-    writeln (g,' /G    Dateien in Grossbuchstaben wandeln');
-    writeln (g,' /K    (nur bei /G wirksam) Dateidatum und Uhrzeit 
beibehalten');
-    writeln (g,' /LFN  lange Dateinamen benutzen (Vorsicht: Nur einschalten 
wenn unterstuetzt');
+    writeln ('Parameter fehlt');
+    writeln ('');
+    writeln ('touch file1 file2 ... /t=hh:mm:ss /d=tt.mm.[yy]yy /r=refdatei /H 
/S /V /G /K /LFN');
+    writeln ('');
+    writeln ('Macros:');
+    writeln (' #:    jedes Laufwerk(Nur DOS16)');
+    writeln (' \#\   jeder Verzeichnis einschliesslich gar keins');
+    writeln (' \##\  und das ganze nochmals rekursiv');
+    writeln (' #     Das aktuelle Verzeichnis und alle alle Dateien in 
direkten');
+    writeln ('       Unterverzeichnissen touchen');
+    writeln (' ##    Alle Dateien die im aktuellen Verzeichnis und rekursiv 
in');
+    writeln ('       allen Unterverzeichnissen');
+    writeln (' ###   alle verfuegbaren Dateien (Vorsicht: Auf eigene 
Gefahr!!!)');
+    writeln ('');
+    writeln (' /t=Zeitangabe  /d=Datum  das gesetzt werden soll');
+    writeln (' /H    auch versteckte Dateien');
+    writeln (' /S    auch Systemdateien');
+    writeln (' /V    Vortaeuschmodus (Simulationslauf)');
+    writeln (' /G    Dateien in Grossbuchstaben wandeln');
+    writeln (' /K    (nur bei /G wirksam) Dateidatum und Uhrzeit beibehalten');
+    writeln (' /LFN  lange Dateinamen benutzen (Vorsicht: Nur einschalten wenn 
unterstuetzt');
 end;
 
 procedure isok(meldung:integer);
 begin
  if t<>0 then begin
     case meldung of
-    1: Writeln(g,'Datumsangabe ungueltig');
-    2: Writeln(g,'Zeitangabe ungueltig');
+    1: Writeln('Datumsangabe ungueltig');
+    2: Writeln('Zeitangabe ungueltig');
     end;
     halt(1);
  end;
@@ -176,7 +172,7 @@
 
 begin
 y:=test;
-writeln(g,'Expandiere Makro: '+s);
+writeln('Expandiere Makro: '+s);
   if (copy(s,1,2)='#:') then begin
   if s<>'#:' then begin
      for i:=1 to 26 do begin
@@ -375,8 +371,7 @@
   {$IFDEF BPLFN}
   if LFNuseage then EnableLFN;
   {$ENDIF}
-  assign(g,'');
-  rewrite(g);  
+  StandardIO;
   logo;
   init_touch;
   if ParamCount = 0 then hilfe
@@ -407,7 +402,7 @@
          val(s,se,t);
          isok(2);
         if (((h<0) or (h>23)) or ((mi<0) or (mi>59)) or ((se<0) or (se>59))) 
then begin
-           writeln(g,'Zeitangabe ungueltig');
+           writeln('Zeitangabe ungueltig');
            halt(1);
          end;
          timeSet:=true;
@@ -426,7 +421,7 @@
          val(s,y,t);
          isok(1);
          if (((d<1) or (d>31)) or ((mo<1) or (mo>12)) or ((y<0) or ((y>99) and 
((y<1980) or (y>2107))))) then begin
-            Writeln(g,'Datumsangabe ungueltig');
+            Writeln('Datumsangabe ungueltig');
             halt(1);
          end;
          dateSet:=true;
@@ -438,7 +433,7 @@
        {Simulationslauf}
        if (copy(s,2,1)='V') then begin
          sim:=true;
-         writeln (g,'Simulationslauf - keine Veraenderungen werden getaetigt');
+         writeln ('Simulationslauf - keine Veraenderungen werden getaetigt');
        end;
        if (copy(s,2,1)='G') then uc:=true;
        if (copy(s,2,1)='K') then nt:=true;
@@ -451,7 +446,7 @@
          Reset(f,1);
          {$I+}
          If Ioresult<>0 then begin
-           Writeln(g,'Referenzdatei nicht gefunden');
+           Writeln('Referenzdatei nicht gefunden');
            halt(1);
          end;
          GetFTime(f,Ftime);
@@ -469,15 +464,15 @@
        end;
     end;
     if ((ref and dateset) or (ref and timeset)) then begin
-      Writeln(g,'Entweder Datum/Uhrzeit oder Referenzdatei');
+      Writeln('Entweder Datum/Uhrzeit oder Referenzdatei');
       halt(1);
     end;
     if not (nt and uc) then begin
-       if dateset then writeln(g,'Datei-Datum wird gesetzt');
-       if timeset then writeln(g,'Datei-Zeit wird gesetzt');
-       if not (dateset or timeset) then writeln (g,'Datei-Datum und Datei-Zeit 
werden aktualisiert');
+       if dateset then writeln('Datei-Datum wird gesetzt');
+       if timeset then writeln('Datei-Zeit wird gesetzt');
+       if not (dateset or timeset) then writeln ('Datei-Datum und Datei-Zeit 
werden aktualisiert');
     end;
-    if uc then writeln(g,'Dateinamen grossschreiben');
+    if uc then writeln('Dateinamen grossschreiben');
     {Datetime packen}
     if not ref then begin
        dt.Year:=y;
@@ -490,7 +485,7 @@
     end;
     {Dateien verarbeiten}
     if st=nil then begin
-      writeln(g,'Dateiangabe fehlt');
+      writeln('Dateiangabe fehlt');
       halt(1);
     end;
     n:=st;
@@ -537,9 +532,9 @@
            {$ENDIF}
            else fname:=Dir+fname;
            if fname<>own then begin
-             write(g,fname);
+             write(fname);
              {Refdatei nicht touchen}
-             if ref and testname(reffile,fname) then writeln(g,' Referenz')
+             if ref and testname(reffile,fname) then writeln(' Referenz')
              else begin
                if (sim=false) then begin                
                   Assign(f,fname);
@@ -547,23 +542,23 @@
                   {$I-}
                   if uc then begin
                      rename(f,'temp.$$$');
-                     if IOResult <> 0 then writeln(g,' Umbenennen der Datei 
fehlgeschlagen');
+                     if IOResult <> 0 then writeln(' Umbenennen der Datei 
fehlgeschlagen');
                      for i:=1 to length(fname) do fname[i]:=upcase(fname[i]);
                      rename(f,fname);
                      if IOResult <> 0 then begin
-                       writeln(g,' Umbenennen der Datei kritisch 
fehlgeschlagen');
+                       writeln(' Umbenennen der Datei kritisch 
fehlgeschlagen');
                        halt(1);
                      end;
                   end;
                   Reset(f,1);
                   {$I+}
-                  if IOResult <> 0 then writeln(g,' Oeffnen der Datei 
fehlgeschlagen');
+                  if IOResult <> 0 then writeln(' Oeffnen der Datei 
fehlgeschlagen');
                   if not (nt and uc) then 
ftime:=Testtime(ftime,dateset,timeset);
                   SetFtime(f,Ftime);
-                  if Doserror<>0 then writeln(g,'!') else writeln(g,'');
+                  if Doserror<>0 then writeln('!') else writeln('');
                   close(f);
                end
-               else writeln(g,'');             
+               else writeln('');             
              end;
            end;
            {$IFNDEF BPLFN}
@@ -575,25 +570,25 @@
          {Keine Datei gefunden ? Dann neu anlegen!!}
          if findone=false then begin
           if isnoWild(fname) then begin
-           writeln(g,s);
+           writeln(s);
            if (sim=false) then begin
              Assign(f,s);
              {$I-}
              Rewrite(f);
              {$I+}
-             if IOResult <> 0 then writeln(g,' Anlegen der neuen Datei 
fehlgeschlagen');
+             if IOResult <> 0 then writeln(' Anlegen der neuen Datei 
fehlgeschlagen');
              {$I-}
              Reset(f);
              {$I+}
-             if IOResult <> 0 then writeln(g,' Anlegen der neuen Datei 
fehlgeschlagen');
+             if IOResult <> 0 then writeln(' Anlegen der neuen Datei 
fehlgeschlagen');
              {$I-}
              SetFtime(f,Ftime);
              {$I+}
-             if IOResult <> 0 then writeln (g,' Touchen der neuen Datei 
fehlgeschlagen');
+             if IOResult <> 0 then writeln (' Touchen der neuen Datei 
fehlgeschlagen');
              {$I-}
              close(f);
              {$I+}
-             if ioresult <> 0 then writeln (g,' Schliessen der neuen Datei 
fehlgeschlagen');
+             if ioresult <> 0 then writeln (' Schliessen der neuen Datei 
fehlgeschlagen');
            end;
           end;
          end;
@@ -605,10 +600,18 @@
       end;
     until n=nil;
   end;
-  close(g);
 end.
 {
   $Log: touch.pas,v $
+  Revision 1.13  2004/11/06 21:56:42  mw
+  MW: - Übernahme von TOUCH 1.1b:
+        - Interne Änderung, um NON-LFN-Versionen leichter zu realisieren.
+
+  Revision 1.12  2004/11/06 15:52:38  mw
+  MW: - Übernahme von TOUCH 1.1a:
+        Touch verwendet jetzt eine andere Routine um die
+        I/O-Umleitung zu realisieren.
+
   Revision 1.11  2004/08/12 11:15:49  mw
   MW: - Übernahme von TOUCH 1.1 Release
 
Index: freexp/zpr.pas
===================================================================
RCS file: /server/cvs/freexp/zpr.pas,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- freexp/zpr.pas      9 Jan 2004 16:19:00 -0000       1.18
+++ freexp/zpr.pas      6 Nov 2004 14:57:29 -0000       1.19
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: zpr.pas,v 1.18 2004/01/09 16:19:00 mw Exp $ }
+{ $Id: zpr.pas,v 1.19 2004/11/06 14:57:29 mw Exp $ }
 
 { ZPR - ZCONNECT-Pufferreparierer }
 { PM 08/93, 10/93                 }
@@ -1274,6 +1274,7 @@
 
 
 begin
+  StandardIO;
   logo;
   getpar;
   checkpar;
@@ -1287,6 +1288,9 @@
 end.
 {
   $Log: zpr.pas,v $
+  Revision 1.19  2004/11/06 14:57:29  mw
+  MW: - I/O-Redirect jetzt wieder möglich.
+
   Revision 1.18  2004/01/09 16:19:00  mw
   MW: - Wir haben jetzt 2004!!
 

------------------------------------------------------------------------
FreeXP CVS-Mailingliste
[EMAIL PROTECTED]
http://www.freexp.de/cgi-bin/mailman/listinfo/cvs-list

Antwort per Email an