Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi hilfe bei einem referat für die schule (java) ip2hex (https://www.delphipraxis.net/94687-hilfe-bei-einem-referat-fuer-die-schule-java-ip2hex.html)

agm65 25. Jun 2007 15:36


hilfe bei einem referat für die schule (java) ip2hex
 
hi leute ich soll für die schule ein programm schreiben in java.
das ist die aufgaben stellung:

Hex2IP

Schreiben Sie eine Funktion
public static String hex2IP (long hex),
der eine 32-bit-Adresse im Hex-Format übergeben wird und die einen String zurückliefert im üblichen Format einer IP-Adresse, also "d.c.b.a" mit a, b, c, d = 0...255.
Zahlen im Hex-Format werden gekennzeichnet durch führende 0x.
Beispiel:
hex = 0x7F000001L
Rückgabe = 127.0.0.1


wer kann mir dabei helfen ? vll erstmal in delphi..danke euch

leddl 25. Jun 2007 15:44

Re: hilfe bei einem referat für die schule (java) ip2hex
 
Ich weiß eben nicht, ob es in Java bereits eine Funktion zur Umwandlung von Hex ins Dezimalzystem gibt. Würde mihc nicht wundern.
Aber selbst, wenn nicht, ist das doch auch nicht weiter schwer ;)
Du musst immer nur 2 Hex-Ziffern umrechnen und hast dann eine Stelle deiner IP-Adresse ;)
7F --> 7*16 + 15 = 127
00 --> 0
00 --> 0
01 --> 1
Aber das weißt du ja auch bestimmt schon selber.

Wo liegt denn dann das eigentliche Problem? Vorher kann man dir schlecht helfen :zwinker:

DeddyH 25. Jun 2007 15:45

Re: hilfe bei einem referat für die schule (java) ip2hex
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
    i: DWORD;
begin
  s := '7F000001';
  i := StrToInt('$' + s);
  ShowMessage(Format('%d.%d.%d.%d',[HiByte(HiWord(i)),LoByte(HiWord(i)),
                                    HiByte(LoWord(i)),LoByte(LoWord(i))]));
end;
Wie Du das in Java umsetzt, bleibt Dir überlassen ;)

agm65 25. Jun 2007 15:50

Re: hilfe bei einem referat für die schule (java) ip2hex
 
hehe danke dir ...mal schauen was ich damit anfangen kann ..thx !

Christian Seehase 25. Jun 2007 15:54

Re: hilfe bei einem referat für die schule (java) ip2hex
 
Moin Peter,

da fallen mir, so auf Anhieb, drei Möglichkeiten ein, wobei DeddyH schon eine davon geliefert hat:

Delphi-Quellcode:
function Hex2IP_Variante2(const AiHex : Integer) : string;

type
  TcsSplitInt = record
    case byte of
      1 : (iValue : Integer);
      2 : (b4 : Byte;
           b3 : Byte;
           b2 : Byte;
           b1 : Byte);
  end;

var
  siValue : TcsSplitInt;

begin
  siValue.iValue := AiHex;
  Result        := IntToStr(siValue.b1)+'.'+IntToStr(siValue.b2)+'.'+IntToStr(siValue.b3)+'.'+IntToStr(siValue.b4);
end;

function Hex2IP_Variante3(const AiHex : Integer) : string;
begin
  Result := IntToStr((AiHex and $ff000000) shr 24)+'.'+IntToStr((AiHex and $00ff0000) shr 16)+'.'+IntToStr((AiHex and $0000ff00) shr 8)+'.'+IntToStr(AiHex and $000000ff);
end;
Wahlweise natürlich auch mit Format zu schreiben.

WS1976 25. Jun 2007 17:05

Re: hilfe bei einem referat für die schule (java) ip2hex
 
Hallo,

was hast du denn schon an eigenen Ansätzen?
Bisher hast du nur mitgeteilt was du machen sollst.

Hausaufgabe in Schlitz schmeissen ----> warten ----> Delphi Praxis liefert Ergebnis.
Das geht nicht.

Rainer


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