Announcement

Collapse
No announcement yet.

Inet IP-Adresse

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Inet IP-Adresse

    Hilfe!
    Ich hab hier gesucht wie ein irrer,
    hab nix gefunden was mir klar und deutlich weiterhilft
    kann mir jemand endlich mal sagen wie ich meine inet-IP heraus finde!
    bitte für eine totalen neuling verständlich!

    danke (in erwartung/hoffnung) im voraus
    danke!

  • #2
    Na, da haben wir wohl nicht richtig gesucht? ;o)<br>
    http://entwickler-forum.de/webx?128@@.ee8b1e6<br><br>

    Musst mal schauen, ob du da was draus machen kannst

    Comment


    • #3
      <b> Eben nix (NON-CHECKER !!!!!!!)</b><br>
      <br>begin
      <br> <font color='red'>// default result (Leerstring zuweisen) ???</font>
      <br> <font color='red'>Result :; was soll da hin??</font>
      <br> // try to init Network functions
      <br> if(WsaStartup(MAKEWORD(1,1),GInitData) &lt;&gt; 0) then exit;
      <br> // go ahead!
      <br> TempList := TStringList.Create;
      <br> with TempList do
      <br> try
      <br> Clear; GetHostName(buffer,sizeof(buffer)); phe := <br>GetHostByName(buffer);
      <br> if(phe &lt;&gt; nil) then
      <br> begin
      <br> pPtr := PaPInAddr(phe^.h_addr_list);
      <br> i := 0;
      <br> while(pPtr^[i] &lt;&gt; nil) do
      <br> begin
      <br> Add(inet_ntoa(pPtr^[i]^)); inc(i);
      <br> end;
      <br> // alle IPs komma-separiert zurückliefern
      <br> Result := CommaText;
      <br> end;
      <br> finally
      <br> Free;
      <br> end;
      <br> WsaCleanup;
      <br>end

      Comment


      • #4
        Das Forum hat damals ein paar Zeichen verschluckt.
        Rückgabewert ist ein String. Wenn also Fehler kommen, dann fehlen die hauptsächlich die Anführungszeichen. Das hatte ich aber auch dazu geschrieben. Ich versuch´s einfach noch mal:

        <pre>function GetLocalIPs: string;
        type
        TaPInAddr = array[0..10]of PInAddr;
        PaPInAddr = ^TaPInAddr;
        var
        phe : PHostEnt;
        pPtr : PaPInAddr;
        buffer : array[0..63]of char;
        i : integer;
        GInitData : TWsaData;
        TempList : TStringList;
        begin
        Result := ''; // default result<br><br>
        // try to init Network functions
        if(WsaStartup(MAKEWORD(1,1),GInitData) &lt;&gt; 0) then exit;<br><br>
        // go ahead!
        TempList := TStringList.Create;
        with TempList do
        try
        Clear;<br><br>
        if(GetHostName(buffer,sizeof(buffer)) = 0) then
        begin
        phe := GetHostByName(buffer); if(assigned(phe)) then
        begin
        pPtr := PaPInAddr(phe^.h_addr_list);
        i := 0;<br><br>
        while(pPtr^[i] &lt;&gt; nil) do
        begin
        Add(inet_ntoa(pPtr^[i]^)); inc(i);
        end;<br><br>
        Result := CommaText;
        end;
        end;
        finally
        Free;
        end;<br><br>
        WsaCleanup;
        end;</pre&gt

        Comment


        • #5
          Von wegen anfürungszeichen:<br>
          [Fehler] Unit1.pas(25): Undefinierter Bezeichner: 'PInAddr'<br>
          [Fehler] Unit1.pas(28): Undefinierter Bezeichner: 'PHostEnt'<br>
          [Fehler] Unit1.pas(32): Undefinierter Bezeichner: 'TWsaData'<br>
          [Fehler] Unit1.pas(37): Undefinierter Bezeichner: 'WsaStartup'<br>
          [Warnung] Unit1.pas(37): Vorzeichenbehaftete und -lose Typen werden <br>verglichen - beide Operanden werden erweitertv
          [Fehler] Unit1.pas(43): Undefinierter Bezeichner: 'GetHostName'<br>
          [Warnung] Unit1.pas(43): Vorzeichenbehaftete und -lose Typen werden <br>verglichen - beide Operanden werden erweitert<br>
          [Fehler] Unit1.pas(45): Undefinierter Bezeichner: 'GetHostByName'<br>
          [Fehler] Unit1.pas(45): Inkompatible Typen<br>
          [Fehler] Unit1.pas(47): Zeigertyp erwartet<br>
          [Fehler] Unit1.pas(47): 'END' erwartet, aber ')' gefunden<br>
          [Fehler] Unit1.pas(49): Operator oder Semikolon fehlt<br>
          [Fehler] Unit1.pas(49): Operator ist auf diesen Operandentyp nicht <br>anwendbar<br>
          [Fehler] Unit1.pas(51): Undefinierter Bezeichner: 'inet_ntoa'<br>
          [Fehler] Unit1.pas(51): Zeigertyp erwartet<br>
          [Fehler] Unit1.pas(55): EXCEPT oder FINALLY erwartet<br>
          [Fehler] Unit1.pas(56): 'END' erwartet, aber 'FINALLY' gefunden<br>
          [Fehler] Unit1.pas(59): Deklaration erwartet, aber <br>Bezeichner 'WsaCleanup' gefunden<br>
          [Fehler] Unit1.pas(60): '.' erwartet, aber ';' gefunden<br>
          [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann <br>nicht compiliert werden<br&gt

          Comment


          • #6
            Was passiert bei dir eigentlich, wenn du mal mit dem Mauscursor auf einen dieser undefinierten Bezeichner raufgehst und F1 drückst? Ich weiß nicht welche Delphi-Version du hast, und wie aktuell die Hilfe dabei ist, aber u.U. siehst du eine Beschreibung inkl. der Unit, die benötigt wird.
            Mit anderen Worten:

            <pre>uses
            WinSock;</pre>

            heißen die Zauberworte

            Comment


            • #7
              und wie lass ich jetzt die Inet-IP in einem edit/memo anzeige

              Comment


              • #8
                und wie bring ich das in ein edit/memo

                Comment

                Working...
                X