home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / netz / ipx / demo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1994-04-13  |  1.8 KB  |  80 lines

  1. {************************************************}
  2. {                                                }
  3. {   Turbo Pascal 7.0                             }
  4. {   Address-Demo für 100337,146                  }
  5. {   Copyright (c) 1993 by CW                     }
  6. {                                                }
  7. {************************************************}
  8.  
  9. {$M $400,0,0 }   { 1K stack, kein heap }
  10. {F+, $G+, $I-, $S-, $V-}
  11.  
  12. program Addresse;
  13.  
  14.  
  15. uses
  16.   Dos, IPX;
  17.  
  18. var
  19.   StationAddress : IPX_Address;
  20.   DebugFlag      : Boolean;
  21.   Status         : Byte;
  22.  
  23. { Byte in Hex umwandeln }
  24. Function HexB(b: Byte): String;
  25. var x: Integer;
  26. begin
  27.   HexB[0] := #2;  { Längenbyte direkt setzen }
  28.   for x := 2 downto 1 do
  29.   begin
  30.     if b and $0F > 9 then HexB[x] := Chr((b and $0F)-10+Ord('A'))
  31.      else HexB[x] := Chr((b and $0F)+Ord('0'));
  32.     b := b shr 4;
  33.   end;
  34. end;
  35.  
  36.  
  37. { Word in Hex umwandeln }
  38. Function HexW(w: Word): String;
  39. begin
  40.   HexW := HexB(Hi(w)) + HexB(Lo(w));
  41. end;
  42.  
  43.  
  44. { Pointer in Hex umwandeln }
  45. Function HexP(p: Pointer): String;
  46. begin
  47.   HexP := HexW(LongInt(p) shr 16) + ':' + HexW(LongInt(p));
  48. end;
  49.  
  50.  
  51. { Hauptprogramm }
  52. begin
  53.   { ist IPX da ? }
  54.   if IPX_Avail = False then begin
  55.     writeln('IPX ist nicht installiert!');
  56.     Halt(1);
  57.   end;
  58.  
  59.   { Internet Addresse holen }
  60.   IPX_GetInternetAddress(StationAddress);
  61.  
  62.   { Ausgabe erzwingen (lokale Variable) }
  63.   DebugFlag := True;
  64.  
  65.   if DebugFlag then begin
  66.     write('Address=[');
  67.     with StationAddress do begin
  68.       for Status := 1 to SizeOf(Network) do
  69.         write(HexB(Network[Status]));
  70.       write(':');
  71.       for Status := 1 to SizeOf(Node) do
  72.         write(HexB(Node[Status]));
  73.       write(':');
  74.       write(HexB(Lo(Socket)));
  75.       write(HexB(Hi(Socket)));
  76.       writeln(']');
  77.     end;
  78.   end;
  79. end.
  80.