Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить имя компьютера и его название! [D6, Win95/98]


Vit3128 ©   (2002-05-24 15:56:00) 

Пожалуйста пришлите мне описание по GetIP, GetHOST! Это через WinSock вроде у меня не получается их найти в справке вроде тоже не найти! Подскажите если можно с примером получить имя получить адрес!


Donal_Graeme   (2002-05-24 16:26:00) [1]

gethostname - получить имя компа на котором запущена программа,
gethostbyname - получить адрес этого компа по имени

пример

uses Winsock;

type

TCompInfo = packed record
IPs : Array of AnsiString;
IPCount : Word;
Name : AnsiString;
Official : AnsiString;
Aliases : Array of AnsiString;
end;

function SC_GetCompInfo (CompName: AnsiString = "") : TCompInfo;
var PC : Array [0..255] of Char;
he : PHostEnt;
ad : PChar;
WD : WSAData;
L, I, J, AL, N : LongInt;
begin
WSAStartup (MakeWord (2, 2), WD);
If CompName = "" then gethostname (PC, 256)
else StrPCopy (PC, CompName);
he := gethostbyname (PC);
WSACleanup;
ad := he.h_addr^;
L := length (Ad);
AL := he.h_length;
With Result do
begin
IPCount := L div AL +1;
SetLength (IPs, IPCount);
For I := 0 to IPCount -1 do
begin
IPs[I] := "";
For J := 0 to AL -1 do
begin
N := Ord (ad[I*AL +J]);
IPs[I] := IPs[I] +IntToStr (N, 3) +".";
end;
Delete (IPs[I], Length (IPs[I]), 1);
end;
Name := StrPas (PC);
Official := StrPas (he.h_name);
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо