![]() |
4 Werte einer IP in 4 variablen
hoi,
ich wollte meine IP in 4 variablen bekommen, also jeden nummerischen wert der durch einen punkt getrennt ist, weiss jemand wie ich das anstellen kann? sollte so sein: 255.255.255.255 var1.var2.var3.var4 |
Re: 4 Werte einer IP in 4 variablen
![]() ![]() Aber habe ich dir das nicht schon mal geantwortet? :gruebel: |
Re: 4 Werte einer IP in 4 variablen
hallo luckie, ja sowas ähnliche hatte ich schonmal gefragt, nur hab ich da gedacht das du meinst das in den delphi demos das mit explode bei ist.
ich habs mir mal runtergeladen, ist es wirklich notwendig für die kleine sache soviel code? :shock: gibt es keine andere möglichkeit? in mIRC gibt es "tokenize", das ist schön, da wird jedes wort in eine eigene variable geschrieben. hat delphi selbst keine function die das tut? |
Re: 4 Werte einer IP in 4 variablen
Nein. Delphi stellt so was nicht bereit. Natütlich könntest du auch mit pos, copy und delete arbeite.
|
Re: 4 Werte einer IP in 4 variablen
Hier mal ne Funktion zum Teilen von Text:
Delphi-Quellcode:
Du mußt ne StringList übergeben und darin stehen dann die einzelnen Teile. Dann prüfst du, ob da 4 Werte enthalten sind und schon schon hast du die 4 Werte.
procedure TCheckCompObject.SplitString(Str: string; Separator: Char; var ts: TStringList);
begin try ts.Clear; while AnsiPos(Separator, Str) > 0 do begin ts.Add(trim(Copy(Str, 1, AnsiPos(Separator, Str) - 1))); Str := Copy(Str, AnsiPos(Separator, Str) + 1, Length(Str)); end; ts.Add(trim(Str)); except // end; end; end; |
Re: 4 Werte einer IP in 4 variablen
Du kannst auch auf die Socket-Funktion inet_addr zurückgreifen. Diese wandelt einen IP-String in einen LongWord um. Dort kannst du mit den Byte-Shift-Operatoren die einzelnen Bytes isolieren.
|
Re: 4 Werte einer IP in 4 variablen
Hi,
du kannst auch im INet diverse "GetToken" Funktionen finden. Mit denen du die IP sehr komfortabel zerstückelen kannst.
Delphi-Quellcode:
function GetToken(aString, SepChar: String; TokenNum: Byte):String;
{ parameters: aString : the complete string SepChar : a single character used as separator between the substrings TokenNum: the number of the substring you want result : the substring or an empty string if the are less then 'TokenNum' substrings } var Token : String; StrLen : Byte; TNum : Byte; TEnd : Byte; begin StrLen := Length(aString); TNum := 1; TEnd := StrLen; while ((TNum <= TokenNum) and (TEnd <> 0)) do begin TEnd := Pos(SepChar,aString); if TEnd <> 0 then begin Token := Copy(aString,1,TEnd-1); Delete(aString,1,TEnd); Inc(TNum); end else begin Token := aString; end; end; if TNum >= TokenNum then begin GetToken1 := Token; end else begin GetToken1 := ''; end; end; ![]() |
Re: 4 Werte einer IP in 4 variablen
danke :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz