IP адрес

Zocik
Дата: 12.05.2011 17:36:36
Здравствуйте. Помогите студентке плиз.
Надо считать параметр ключа айпи адреса
Наваяла такой код

автор
procedure TForm1.Button1Click(Sender: TObject);
var reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('System',true);
Reg.OpenKey('ControlSet001',true);
Reg.OpenKey('Services',true);
Reg.OpenKey('{513CBABB-ED48-4136-9E01-391BC7488B54}',true);
Reg.OpenKey('Parameters',true);
Reg.OpenKey('Tcpip',true);

richedit1.Clear;
richedit1.Lines.Add('Ваш IP = ' + reg.ReadString('IPAddress')) ;
end;


При выполнении выбивает такая ошибка 'Invalid data type for 'IPAddress''.
Подскажите плиз, что у меня не так. Хелп. Зараннее благодарна.
Дураг
Дата: 12.05.2011 17:44:10
Zocik
При выполнении выбивает такая ошибка 'Invalid data type for 'IPAddress''.
Подскажите плиз, что у меня не так. Хелп. Зараннее благодарна.


перевести?
Zocik
Дата: 12.05.2011 17:46:47
Дураг
перевести?


да я то перевела, только как исправить не знаю
Дураг
Дата: 12.05.2011 17:47:27
Zocik
Дураг
перевести?


да я то перевела, только как исправить не знаю


какого типа параметр?
misha mike
Дата: 12.05.2011 17:54:08
Zocik, а почему вы собственно решили, что по этому пути вы найдете IP-адрес? То, что он у вас там лежит, не значит, что он там лежит у всех.

Во-первых, {513CBABB-ED48-4136-9E01-391BC7488B54} -- это уникальный идентификатор сетевого интерфейса, он такой только на вашей машине. Более того, если вы замените сетевую плату даже на совершенно однотипную, он изменится.

Во-вторых, IP-адресов даже на одном интерфейсе может быть сколько угодно, и тип параметра IPAddress (REG_MULTI_SZ) говорит об этом.

Во-третьих, сетевых интерфейсов может быть много, и у каждого из них, как я уже сказал выше, будет отдельный идентификатор и возможно наличие нескольких адресов.

Так что сама постановка вопроса "Какой у компьютера IP-адрес?" в корне некорректна.
Дураг
Дата: 12.05.2011 17:56:02
што ш ты спугнул та!!!
Zocik
Дата: 12.05.2011 18:11:47
Дураг
што ш ты спугнул та!!!

Не спугнул. А направил на путь истинный.
misha mike
Дата: 12.05.2011 18:43:58
Zocik,

Список интерфейсов лежит тут: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces, тут же можно и адреса каждого узнать (если они, конечно, заданы). Но правильнее было бы использовать WMI.
Dimitry Sibiryakov
Дата: 12.05.2011 18:49:28

misha mike
Но правильнее было бы использовать WMI.

А использовать 127.0.0.1 - проще.

Posted via ActualForum NNTP Server 1.4