Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IP-Adresse von String nach Integer wandeln (https://www.delphipraxis.net/70577-ip-adresse-von-string-nach-integer-wandeln.html)

FrankBrin 1. Jun 2006 10:09


IP-Adresse von String nach Integer wandeln
 
Hallole miteinand',

da hab ich jetzt mal ein umgedrehtes Problem. Tausende von Beiträgen erzählen, wie man aus einem Integer einen IP-String bekommt.
Ich brauch das jetzt aber andersherum. Also meine Frage:

Weiss jemand, wie man eine IP Adresse, die als String ('192.168.0.1') vorliegt in ein DWord bekommt?

Gruß
Frank
:drunken:

marabu 1. Jun 2006 10:12

Re: IP-Adresse von String nach Integer wandeln
 
Hallo Frank,

hier mein Vorschlag - nebst Diskussion: klick

Grüße vom marabu

FrankBrin 1. Jun 2006 10:16

Re: IP-Adresse von String nach Integer wandeln
 
Hallo,
diesen Beitrag hab ich bereits gesichtet. Doch da wird immer nur von Int > Str gewandelt.
Ich brauchs umgedreht!

EDatabaseError 1. Jun 2006 10:18

Re: IP-Adresse von String nach Integer wandeln
 
Unterteil den String an den Punkten in 4 Strings:
explodeexplode

diese Strings wandelst du mit StrToInt um undfertig.


Mfg
Tobi

Evian 1. Jun 2006 10:22

Re: IP-Adresse von String nach Integer wandeln
 
Mh.. wenn ich das richtig verstehe, willst Du aus einem IP-String einen Word-Wert machen. Das ist zwar möglich, indem Du die Punkte entfernst und dann einfach in Word umwandelst, hat aber relativ wenig Sinn. Da eine IP aus 4 Byte-Werten besteht, würdest Du im Nachhinein dieses Word-Wert nicht mehr eindeutig in einen String wert umwandeln können. Warum speicherst Du nicht die IP in einem Byte-Array?

marabu 1. Jun 2006 10:29

Re: IP-Adresse von String nach Integer wandeln
 
Zitat:

Zitat von FrankBrin
Hallo,
diesen Beitrag hab ich bereits gesichtet. Doch da wird immer nur von Int > Str gewandelt.
Ich brauchs umgedreht!

Du hast wohl mehr die Diskussion betrachtet, weniger den von mir verlinkten Beitrag:

Zitat:

Zitat von marabu
Kennt denn keiner mehr die Standard-Routinen inet_addr() und inet_ntoa() aus der Unit WinSock?

inet_addr() scheint mir genau dein Problem zu lösen.

marabu

FrankBrin 1. Jun 2006 10:35

Re: IP-Adresse von String nach Integer wandeln
 
Sorry Marabu,
ich hatte die Funktion von inet_addr anders in Erinnerung. Aber Du hast recht, das Teil macht was ich brauche.

Danke an alle für die schnelle Hilfe!

Gruß Frank

Luckie 13. Sep 2010 15:24

AW: IP-Adresse von String nach Integer wandeln
 
Ich habe jetzt auch das Problem. Allerdings bräuchte ich die IP-Adresse in vier Integers für die Nachricht IPM_SETADDRESS und das Makro MAKEIPADDRESS.

Hat da jemand eine Idee ohne Explode zu nutzen? Explode kommt mir dafür etwas übertrieben vor.

mkinzler 13. Sep 2010 15:28

AW: IP-Adresse von String nach Integer wandeln
 
Mit einer Stringliste

Delphi-Quellcode:
var
  sl: TStrings;
  ...
begin
  sl := TStringList.Create;
  sl.Delimiter = '.';
  block1 := StrToIntDef(sl[0], 0);
...

Luckie 13. Sep 2010 15:37

AW: IP-Adresse von String nach Integer wandeln
 
*patsch*

Man merk, das sich lange nicht mehr programmiert habe. ;)

Aber irgendwie scheint das nicht zu funktionieren.

Delphi-Quellcode:
procedure IpStrToBytes(IPStr: string; var b0: Byte; var b1: Byte; var b2: Byte; var b3: Byte);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.Text := IpStr;
    sl.Delimiter := '.';
    b0 := StrToIntDef(sl[0], 0);
    b1 := StrToIntDef(sl[1], 0);
    b2 := StrToIntDef(sl[2], 0);
    b3 := StrToIntDef(sl[3], 0);
  finally
    sl.Free;
  end;
end;
Da bekomme ich bei b1 ein "Listenindex überschreitet das Maximum". Der Ip-String ist aber korrekt: "192.168.2.102".

Was mache ich da noch falsch?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz