hOUSTON WE HAVE A PROBLEM...

0

MAM NASTĘPUJĄCĄ PROCEDURKĘ PODAJĄCĄ IP:

procedure GetIPList(const List: TStrings);
var
WSAData: TWSAData;
HostName: array[0..255] of Char;
HostInfo: PHostEnt;
InAddr: PInAddr;
begin
List.Clear;
if WSAStartup($0101, WSAData) = 0 then
try
if gethostname(HostName, SizeOf(HostName)) = 0 then
begin
HostInfo := gethostbyname(HostName);
if HostInfo nil then
begin
InAddr := Pointer(HostInfo
.h_addr_list);
if (InAddr nil) then
while InAddr^ nil do
begin
List.Add(inet_ntoa(InAddr^^));
Inc(InAddr);
end;
end;
end;
finally
WSACleanup;
end;
end;

I CHCE TEN IP WYŚWIETLIĆ W TLABEL ALE SIĘ GDZIEŚ POMYLIŁEM
jakby ktoś wiedział jeszcze jak ustawić odswierzanioe tego adresu co 1 minute?
proszę o pomoc!!!!!!!!!

procedure TForm1.FormActivate(Sender: TObject);
begin
Label17.Caption:=GetIpList;
end;

0

A nie mozesz uzyc timera?--pozdrawiam PEDROS {hello}
PROPAGANDA: Uzywajcie irca i badzcie na kanale 4programmers.net
Delphi6

0

dobrze ale możecie mi powiedzieć gdzie zrobiłem błąd chodzi mi o końcową proc3dure?

0

Nie mam pojecia gdzie jest blad ale jak chcesz to masz tu procedurke na wykrywanie IP kompa, jak twoja ci nie dziala to sporbuj z ta:

uses Winsock;

procedure TForm1.FormCreate(Sender:TObject);
var
wVersionRequested:WORD;
wsaData:TWSAData;
begin
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
end;

procedure TForm1.Button1Click(Sender:TObject);
var
p : PHostEnt;
s : array[0..128] of char;
p2:pchar;
begin
GetHostName(@s, 128);
p := GetHostByName(@s);
Memo1.Lines.Add(p.h_Name);
p2 := iNet_ntoa(PInAddr(p
.h_addr_list));
Memo1.Lines.Add(p2);
end;

procedure TForm1.FormDestroy(Sender:TObject);
begin
WSACleanup;
end;

--
pozdrawiam PEDROS {hello}
PROPAGANDA: Uzywajcie irca i badzcie na kanale 4programmers.net
Delphi6

0

cIAPOK napisał:
MAM NASTĘPUJĄCĄ PROCEDURKĘ PODAJĄCĄ IP:
&gt
&gtprocedure GetIPList(const List: TStrings);
&gtvar
....
&gt end;
>end;
&gt
&gt I CHCE TEN IP WYŚWIETLIĆ W TLABEL ALE SIĘ GDZIEŚ POMYLIŁEM
&gtjakby ktoś wiedział jeszcze jak ustawić odswierzanioe tego adresu co 1 minute?
&gtproszę o pomoc!!!!!!!!!
&gt
&gtprocedure TForm1.FormActivate(Sender: TObject);
&gtbegin
&gtLabel17.Caption:=GetIpList;
>end;
&gt

Po pierwshe!
Procedura ktora napisales nie zwraca zadnego parametru...
tzn. chyba wiesh o co mi chodzi to musi byc funkcja!
i w Result zwracac ta StringListe.
powinno wygladac tak:
function GetIpList: TStrings;
begin itd...

result := to co ma zwracac...
end;

mam nadzieje ze to dobrze wytlumaczylem--[ Delphi... i wszystko jasne ]

0

Pedros czy da się twoją procedurę zmienić tak by ip wyświetlany był w polu tlabel?

0

ASHTAR napisał:
Pedros czy da się twoją procedurę zmienić tak by ip wyświetlany był w polu tlabel?

Jasne.

Zamiast Memo1.Lines.Add(p.h_Name); Wpisz Label1.Caption:=p.h_Name;
Zamiast Memo1.Lines.Add(p2); Wpisz Label2.Caption:=p2;--Jest jeszcze jeden błąd ... :)

--------------Blok reklamowy :) -----
kanał: #4programmers.net lub #4programmers
w sieci POLNet
serwer np.: warszawa.ircnet.pl

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0