Hallo,
ich habe mal ein kleines Problem die Ermittlung der IP betreffend.
In meinem Programm wird mittels Komponente <b>TPowerSock</b>, ist anscheinend nur in der Enterprise-Version enthalten, die lokale IP ermittelt.<br>
Das kann man ja einfach mit <b>PowerSock1.LocalIP</b> bewältigen.<br>
Nun möchte ich aber nicht alle Stellen dieser IP wiedergeben.<br>
Es soll die IP bis auf die letzte Stelle angezeigt werden. Also z.B. bei einer IP von 192.168.1.100 soll nur 192.168.1 angezeigt werden.<br>
Tja, und da liegt wohl das Problem.<p>
Ich habe die Geschichte mal versucht und das sieht dann so aus:<br>
<pre>
procedure ...
var MAX_BUFFER: Cardinal;
Buffer: array[0..20] of char; // um ganz sicher zu sein
begin
MAX_BUFFER:=Length(PowerSock1.LocalIP)-3; // um drei Stellen kürzen
Edit1.Text:=StrLCopy(Buffer, PChar(PowerSock1.LocalIP), MAX_BUFFER);
end;
</pre><p>
Nun gut, das funktioniert so weit ja auch. Leider aber nur wenn die letzte Stelle in der IP dreistellig ist. Also bei 192.168.1.100 funktionierts, bei 192.168.1.1 wird schon wieder zu viel abgeschnitten.<br>
Hätte da jemand ein paar Tips für mich? Eventuell lässt sich das ja auch einfacher lösen. Dafür wäre ich überaus dankbar
mfg
Torsten Bloth
ich habe mal ein kleines Problem die Ermittlung der IP betreffend.
In meinem Programm wird mittels Komponente <b>TPowerSock</b>, ist anscheinend nur in der Enterprise-Version enthalten, die lokale IP ermittelt.<br>
Das kann man ja einfach mit <b>PowerSock1.LocalIP</b> bewältigen.<br>
Nun möchte ich aber nicht alle Stellen dieser IP wiedergeben.<br>
Es soll die IP bis auf die letzte Stelle angezeigt werden. Also z.B. bei einer IP von 192.168.1.100 soll nur 192.168.1 angezeigt werden.<br>
Tja, und da liegt wohl das Problem.<p>
Ich habe die Geschichte mal versucht und das sieht dann so aus:<br>
<pre>
procedure ...
var MAX_BUFFER: Cardinal;
Buffer: array[0..20] of char; // um ganz sicher zu sein
begin
MAX_BUFFER:=Length(PowerSock1.LocalIP)-3; // um drei Stellen kürzen
Edit1.Text:=StrLCopy(Buffer, PChar(PowerSock1.LocalIP), MAX_BUFFER);
end;
</pre><p>
Nun gut, das funktioniert so weit ja auch. Leider aber nur wenn die letzte Stelle in der IP dreistellig ist. Also bei 192.168.1.100 funktionierts, bei 192.168.1.1 wird schon wieder zu viel abgeschnitten.<br>
Hätte da jemand ein paar Tips für mich? Eventuell lässt sich das ja auch einfacher lösen. Dafür wäre ich überaus dankbar
mfg
Torsten Bloth
Comment