home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / modem.madness / SMMNETML / WNODE21.ZIP / WNLDEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-12-10  |  3.0 KB  |  99 lines

  1. Program WNLDemo;
  2. { Demo program for unit WNode.Pas - See WNode.Pas for reference }
  3.  
  4. Uses
  5.    Crt,WNode;
  6.  
  7. Var
  8.    SysStr:String;
  9.    Find:FindNodeRec;
  10.    Zona,Net,Nodo,Point:Integer;
  11.    Ok:Boolean;
  12.    FlagStr:String;
  13.    Found:Integer;
  14.  
  15. Begin
  16.    Ok:=InitNodeList('c:\fd\nodelist'); { Place here your directory }
  17.    If Ok then
  18.    Repeat
  19.       ClrScr;
  20.       Writeln('Simple test program for W-Nodelist');
  21.       Writeln;
  22.       Writeln('1 - Search by Sysop''s name (FindFirstSysop)');
  23.       Writeln('2 - Search by address (FindFirstNode)');
  24.       Writeln('3 - Non-indexed search by flag');
  25.       Writeln('X - Exit');
  26.       Writeln;
  27.       Write('Selection (1,2,3,X):');
  28.       Readln(SysStr);
  29.       If SysStr='1' then
  30.       Begin
  31.          Write('Sysop''s name (or initial part of it):');
  32.          Readln(SysStr);
  33.          FindFirstSysop(SysStr,Find);
  34.          With Find.BBSRecord do
  35.          While SysopName<>'' do
  36.          Begin
  37.             Write(SysopName,' on ');
  38.             Writeln(Zone,':',Net,'/',Node,'.',Point,' - ',BBSName);
  39.             Writeln('Speed:',BaudRate,'  Flags:',Flags);
  40.             FindNextSysop(Find);
  41.          end;
  42.          Writeln('End of list. Press enter to continue.');
  43.          Readln;
  44.       end
  45.       else
  46.       If SysStr='2' then
  47.       Begin
  48.          Write('Address (''ALL'' macros are ammitted):');
  49.          Readln(SysStr);
  50.          Split_Address(SysStr,Zona,Net,Nodo,Point);
  51.          FindFirstNode(Zona,Net,Nodo,Point,Find);
  52.          With Find.BBSRecord do
  53.          While SysopName<>'' do
  54.          Begin
  55.             Write(SysopName,' on ');
  56.             Writeln(Zone,':',Net,'/',Node,'.',Point,' - ',BBSName);
  57.             Writeln('Speed:',BaudRate,'  Flags:',Flags);
  58.             FindNextNode(Find);
  59.          end;
  60.          Writeln('End of list. Press enter to continue.');
  61.          Readln;
  62.       end
  63.       else
  64.       If SysStr='3' then
  65.       Begin
  66.          Write('Write the flag you want to look for:');
  67.          Readln(SysStr);
  68.          Found:=0;
  69.          SysStr:=Word_UpCase(SysStr);
  70.          FindFirstNode(All,0,0,0,Find);
  71.          With Find.BBSRecord do
  72.          While SysopName<>'' do
  73.          Begin
  74.             FlagStr:=','+Flags+',';
  75.             If Pos(SysStr,','+FlagStr+',')<>0 then
  76.             Begin
  77.                Write(SysopName,' on ');
  78.                Writeln(Zone,':',Net,'/',Node,'.',Point,' - ',BBSName);
  79.                Writeln('Speed:',BaudRate,'  Flags:',Flags);
  80.                Inc(Found);
  81.                If Found mod 12=0 then
  82.                Begin
  83.                   Write('Continua...');
  84.                   Readln;
  85.                   Writeln;
  86.                end;
  87.             end;
  88.             FindNextNode(Find);
  89.          end;
  90.          Writeln('There are ',Found,' nodes with ',SysStr,' flag.');
  91.          Writeln('End of list. Press enter to continue.');
  92.          Readln;
  93.       end;
  94.    Until SysStr[1] in ['X','x']
  95.    else
  96.       Writeln(#7+'Check your nodelist files!');
  97.    CloseNodeListFiles;
  98.    ClrScr;
  99. end.