AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IP-Adresse von String nach Integer wandeln

IP-Adresse von String nach Integer wandeln

Ein Thema von FrankBrin · begonnen am 1. Jun 2006 · letzter Beitrag vom 14. Sep 2010
Antwort Antwort
Seite 1 von 3  1 23   
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#1

IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:09
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
Frank Brinschwitz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:12
Hallo Frank,

hier mein Vorschlag - nebst Diskussion: klick

Grüße vom marabu
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:16
Hallo,
diesen Beitrag hab ich bereits gesichtet. Doch da wird immer nur von Int > Str gewandelt.
Ich brauchs umgedreht!
Frank Brinschwitz
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#4

Re: IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:18
Unterteil den String an den Punkten in 4 Strings:
explodeexplode

diese Strings wandelst du mit StrToInt um undfertig.


Mfg
Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#5

Re: IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:22
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?
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:29
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 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
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: IP-Adresse von String nach Integer wandeln

  Alt 1. Jun 2006, 11:35
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
Frank Brinschwitz
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: IP-Adresse von String nach Integer wandeln

  Alt 13. Sep 2010, 16:24
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: IP-Adresse von String nach Integer wandeln

  Alt 13. Sep 2010, 16:28
Mit einer Stringliste

Delphi-Quellcode:
var
  sl: TStrings;
  ...
begin
  sl := TStringList.Create;
  sl.Delimiter = '.';
  block1 := StrToIntDef(sl[0], 0);
...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: IP-Adresse von String nach Integer wandeln

  Alt 13. Sep 2010, 16:37
*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?
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (13. Sep 2010 um 16:50 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 Uhr.
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