home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / database / tdb / demo / units08.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1992-06-01  |  2.6 KB  |  82 lines

  1. { ──────────────────────────────────────────────────────────────── }
  2. {              MEHRFACHES ÖFFNEN VON DATEIEN W/O SHARE             }
  3. { ──────────────────────────────────────────────────────────────── }
  4. { Versucht, den eigenen Quelltext ('UNITS08.PAS') gleichzeitig     }
  5. { zwei mal zu öffnen. Ohne Verwendung von SHARE oder eines NetBIOS-}
  6. { Treibers gelingt dies auch (was in einem Anwendungsprogramm ziem-}
  7. { liche Verwirrung stiften kann), wenn zuvor SHARE o.ä. resident   }
  8. { geladen wurde, so wird beim zweiten Öffnungsversuch IORESULT auf }
  9. { 5 ("Access denied") gesetzt.                                     }
  10. { ──────────────────────────────────────────────────────────────── }
  11. { Die ganze Sache funktioniert aber nur deshalb, weil FILEMODE     }
  12. { (eine typisierte Konstante aus der TP-Unit SYSTEM, die standard- }
  13. { mäßig auf 2 gesetzt ist und beim Öffnen von Dateien den Modus    }
  14. { angibt; nähere Erklärung siehe Unit "DBTypes") am Beginn des     }
  15. { Programmes auf 18 ("Files im Exclusive-Mode öffnen") gesetzt     }
  16. { wird.                                                            }
  17. { ──────────────────────────────────────────────────────────────── }
  18. { TDB verwendet als Default den Wert 34, der nur einen Lesezugriff }
  19. { durch andere Prozesse erlaubt.                                   }
  20. { ──────────────────────────────────────────────────────────────── }
  21. {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
  22. { ──────────────────────────────────────────────────────────────── }
  23. {      History:                                                    }
  24. { 1992-04-15   MS   Implementierung.                               }
  25. { ──────────────────────────────────────────────────────────────── }
  26.  
  27. {$UNDEF Windows}                  { Unter Windows: $DEFINE Windows }
  28.  
  29. PROGRAM UNITS08;
  30.  
  31.   USES
  32.     AShare,                    { Überprüfung, ob SHARE geladen ist }
  33. {$IFDEF Windows}
  34.     WINDOS,
  35.     WINCRT;
  36. {$ELSE}
  37.     DOS,
  38.     CRT;
  39. {$ENDIF}
  40.  
  41.  
  42.   VAR
  43.     f1,
  44.     f2             : FILE;
  45.  
  46.   BEGIN
  47.     CLRSCR;
  48.     WRITELN;
  49.  
  50.     IF ShareInstalled THEN
  51.     BEGIN
  52.       WRITELN ('SHARE ist installiert !');
  53.       WRITELN;
  54.     END
  55.     ELSE
  56.     BEGIN
  57.       WRITELN ('SHARE ist nicht installiert !');
  58.       WRITELN;
  59.     END;
  60.  
  61.     FILEMODE := 18;             { Dateien im Exclusive-Mode öffnen }
  62. {$I-}
  63.     ASSIGN (f1, 'units08.pas');
  64.     RESET (f1);
  65.  
  66.     WRITELN (IORESULT);
  67.  
  68.     ASSIGN (f2, 'units08.pas');
  69.     RESET (f2);
  70.  
  71.     WRITELN (IORESULT);
  72.  
  73.     CLOSE (f1);
  74.     CLOSE (f2);
  75.  
  76.     WRITELN (IORESULT);
  77. {$I+}
  78.     WRITELN;
  79.     WRITE ('Weiter ...');
  80.     READKEY;
  81.     WRITELN;
  82.   END. { PROGRAM UNITS08 }