Avatar billede bomber Nybegynder
15. marts 2001 - 10:12 Der er 6 kommentarer og
1 løsning

Find en ip

Jeg har set på et andet sp. og fundet en pascal kode som jeg skal bruge. Men da jeg er nybegynder i pacal så har jeg problemer med resten. Er der en der kan hjælpe mig med resten?function GetIpFromHost (HostName: string): string;
const
  HTTP            = \'http://\';
var
  VersionRequested    : Word;
  WSAData            : TWSAData;
  Host                : PHostEnt;
  s                  : array [0..128] of Char;
begin
  if LowerCase (Copy (HostName, 1, Length (HTTP))) = LowerCase (HTTP) then
    Delete (HostName, 1, Length (HTTP));
  VersionRequested := MakeWord (1, 1);
  WSAStartup (VersionRequested, WSAData);
  StrCopy (s, PChar (HostName));
  Host := GetHostByName (@s);
  if Host <> nil then Result := Inet_Ntoa (PInAddr (Host^.h_addr_list^)^)
  else
    Result := \'\';
  WSACleanup;
end;


function GetLocalIp: string;
var
  s : array [0..128] of Char;
begin
  GetHostName (@s, 128);
  Result := GetIpFromHost (string (s));
end;


function GetHostFromIp (IP: string): string;
var
  VersionRequested  : Word;
  WSAData          : TWSAData;
  Addr              : Longint;
  Host              : PHostEnt;
begin
  VersionRequested := MakeWord (1, 1);
  WSAStartup (VersionRequested, WSAData);
  Addr := Inet_Addr (PChar (IP));
  Host := GetHostByAddr (@Addr, SizeOf (Addr), PF_INET);
  if Host <> nil then Result := Host^.h_name
  else
    Result := \'\';
  WSACleanup;
end;


HJÆLP :-)
Avatar billede bomber Nybegynder
15. marts 2001 - 10:13 #1
Den siger at TWSAData er ukendt.
Avatar billede borrisholt Novice
15. marts 2001 - 10:17 #2
uses
  winsock;

prøv etv det her :

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.text := GetHostFromIp (GetLocalIp);
end;


Jens B
Avatar billede beaviz Nybegynder
15. marts 2001 - 10:18 #3
Skulle det ikke være i c?
Avatar billede bomber Nybegynder
15. marts 2001 - 10:19 #4
Nej det skulle gerne være i pascal!
Avatar billede borrisholt Novice
15. marts 2001 - 10:20 #5
Anders>>

Han bruger C++ Builder .. så Delphi kan også gøre det .....

Fik du nogen sinde den BIGINT klasse portet til C ?

Jens B

Avatar billede beaviz Nybegynder
15. marts 2001 - 10:24 #6
borrisholt: Nope, jeg har aldrig haft styr på assembler til andet end x86 - så jeg er gået istå allerede der :)

Her er et hurtigt c-hack der finder en ip ud fra et hostname, den BURDE kunen compiles under win32 :)
http://freesite.dk/~beaviz/eksperten/56919/findip.c
Avatar billede beaviz Nybegynder
15. marts 2001 - 10:25 #7
- nå, ikke i c :)
duh!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester