home *** CD-ROM | disk | FTP | other *** search
- {************************************************}
- { }
- { Turbo Pascal 7.0 }
- { Address-Demo für 100337,146 }
- { Copyright (c) 1993 by CW }
- { }
- {************************************************}
-
- {$M $400,0,0 } { 1K stack, kein heap }
- {F+, $G+, $I-, $S-, $V-}
-
- program Addresse;
-
-
- uses
- Dos, IPX;
-
- var
- StationAddress : IPX_Address;
- DebugFlag : Boolean;
- Status : Byte;
-
- { Byte in Hex umwandeln }
- Function HexB(b: Byte): String;
- var x: Integer;
- begin
- HexB[0] := #2; { Längenbyte direkt setzen }
- for x := 2 downto 1 do
- begin
- if b and $0F > 9 then HexB[x] := Chr((b and $0F)-10+Ord('A'))
- else HexB[x] := Chr((b and $0F)+Ord('0'));
- b := b shr 4;
- end;
- end;
-
-
- { Word in Hex umwandeln }
- Function HexW(w: Word): String;
- begin
- HexW := HexB(Hi(w)) + HexB(Lo(w));
- end;
-
-
- { Pointer in Hex umwandeln }
- Function HexP(p: Pointer): String;
- begin
- HexP := HexW(LongInt(p) shr 16) + ':' + HexW(LongInt(p));
- end;
-
-
- { Hauptprogramm }
- begin
- { ist IPX da ? }
- if IPX_Avail = False then begin
- writeln('IPX ist nicht installiert!');
- Halt(1);
- end;
-
- { Internet Addresse holen }
- IPX_GetInternetAddress(StationAddress);
-
- { Ausgabe erzwingen (lokale Variable) }
- DebugFlag := True;
-
- if DebugFlag then begin
- write('Address=[');
- with StationAddress do begin
- for Status := 1 to SizeOf(Network) do
- write(HexB(Network[Status]));
- write(':');
- for Status := 1 to SizeOf(Node) do
- write(HexB(Node[Status]));
- write(':');
- write(HexB(Lo(Socket)));
- write(HexB(Hi(Socket)));
- writeln(']');
- end;
- end;
- end.
-