home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / cdactual / demobin / share / program / Pascal / 10TLST.ZIP / MOUNTS.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-10-16  |  2.1 KB  |  86 lines

  1. Program Mounts;
  2. Uses DOS,CRT,TenTools;
  3.  
  4. TYPE
  5.   Charset = '1'..'Z';
  6.   RDRTable = Array[1..200] of Char;
  7.  
  8. VAR
  9.   LocalTable : DriveArray;
  10.   PrintTable : PrintArray;
  11.   I,J,H,K,T,L,P : Integer;
  12.   C : Charset;
  13.   SR : SearchRec;
  14.   SA : Word;
  15.   RDR : ^RDRTAble;
  16.   Avail : String;
  17.   Test : Word;
  18.  
  19. Begin
  20.    If Not Loaded then Halt($FF);
  21.    Avail:='Mounts Unused: ';
  22.    I:=14;
  23.    Test:=Mountlist(LocalTable,PrintTable,I);
  24.    T:=0;
  25.    For C:='A' to Char(I+64) do
  26.    if LocalTable[C].ServerID<>'            ' then Inc(T);
  27.    If T mod 2>0 then T:=T div 2 +1 else T:=T div 2;
  28.    Inc(T,2);
  29.    H:=WhereY;
  30.    If (H>(25-T)) then
  31.    while (H>(25-T)) do
  32.     begin
  33.        GotoXY(1,25);
  34.        Writeln('');
  35.        Dec(H);
  36.     end;
  37.    Dec(T,2);
  38.    GotoXY(1,H);
  39.    J:=1;
  40.    K:=0;
  41.    If ((Test=0)and (I>0))
  42.    then
  43.     begin
  44.        for C:='A' to Char(I+64) do
  45.         begin
  46.            If J<=T then GotoXY(1,H+J-1) else GotoXY(40,H+J-T-1);
  47.            If LocalTable[C].ServerID<>'            '
  48.            then
  49.             begin
  50.                Inc(J);
  51.                Write(C,'=',LocalTable[C].RPath,',',LocalTable[C].ServerID);
  52.             end
  53.            else
  54.             begin
  55.                Inc(K);
  56.                If (K<>1) then Avail:=Avail+',';
  57.                Avail:=Avail+C;
  58.             end;
  59.         end;
  60.        L:=K;
  61.        P:=0;
  62.        For C:='1' to '3' do
  63.         begin
  64.            If J<=T then GotoXY(1,H+J-1) else GotoXY(40,H+J-T-1);
  65.            If PrintTable[C].ServerID<>'            '
  66.            then
  67.             begin
  68.                Write('LPT',C,':=','LPT',PrintTable[C].RPath,',',PrintTable[C].ServerID);
  69.                Inc(J);
  70.                Inc(P);
  71.             end
  72.            else
  73.             begin
  74.                Inc(K);
  75.                If (K<>1) then Avail:=Avail+',';
  76.                Avail:=Avail+'LPT'+C;
  77.             end;
  78.         end;
  79.     end;
  80.    I:=MountsAvail;
  81.    GotoXY(1,H+T+1);
  82.    Writeln(Avail);
  83.    Write('Total Drives Mountable: ',I,'    Drives Mounted: ',I-L);
  84.    If P>0 then Writeln('    Printers Mounted: ',P) else Writeln('');
  85. End.
  86.