Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ranges (https://www.delphipraxis.net/112314-ranges.html)

Zero1 18. Apr 2008 15:26


Ranges
 
hi leute!

möchte gerne ein programm schreiben
wo ich ranges eintragen kann zb 10.0.0.0 - 10.0.0.255 und der spuckt dann alle ips dazu aus die es in der range gibt!

wie geh ich das am besten an??

Fussball-Robby 18. Apr 2008 16:05

Re: Ranges
 
Mit Delphi-Referenz durchsuchenCopy() die Eingabe auseinander nehmen und mittels For-Schleifen die möglichen IP-Adressen durchgehen.

Mfg

Apollonius 18. Apr 2008 16:07

Re: Ranges
 
Oder einfach die vier Bytes in einen Cardinal packen und als Grenzen einer For-Schleife verwenden (wobei man auch hier um das Auseinandernehmen nicht herum kommt).

Zero1 18. Apr 2008 16:11

Re: Ranges
 
samples?*g*

Fussball-Robby 18. Apr 2008 16:16

Re: Ranges
 
suchen?*g*

Die Delphi-Hilfe ist voll mit Beispielen für For-Schleifen und Copy(). Und hier im Forum gibts dutzende Beiträge dazu.

Mfg

DeddyH 18. Apr 2008 16:40

Re: Ranges
 
Hier mal eine Schmalspurversion ohne Fehlerbehandlung:
Delphi-Quellcode:
function IPToCardinal(IP: string): Cardinal;
var s: string;
begin
  //1. Oktett
  s := Copy(IP,1,Pos('.',IP) - 1);
  Delete(IP,1,Length(s) + 1);
  Result := StrToInt(s) shl 24;
  //2. Oktett
  s := Copy(IP,1,Pos('.',IP) - 1);
  Delete(IP,1,Length(s) + 1);
  Result := Result or (StrToInt(s) shl 16);
  //3. Oktett
  s := Copy(IP,1,Pos('.',IP) - 1);
  Delete(IP,1,Length(s) + 1);
  Result := Result or (StrToInt(s) shl 8);
  //4. Oktett (=Rest)
  Result := Result or StrToInt(IP);
end;

function CardinalToIP(const c: Cardinal): string;
begin
  Result := Format('%d.%d.%d.%d',[HiByte(HiWord(c)),LoByte(HiWord(c)),
                                  HiByte(LoWord(c)),LoByte(LoWord(c))]);
end;

SirThornberry 18. Apr 2008 17:08

Re: Ranges
 
könntest du deinem Beitrag bitte einen aussagekräftigen Titel verleihen so das man wenigstens annähernd erahnen kann worum es geht? :-) Danke

Hawkeye219 18. Apr 2008 18:21

Re: Ranges
 
Hallo,

auch wenn es sich hier um ein nicht gerade alltägliches Problem handelt, Lösungsansätze lassen sich immer finden.

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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