Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

convert vartostr   Найти похожие ветки 

 
Новичеек   (2007-07-23 23:43) [0]

при использовании WMI, вытаскиваю из Win32_NetworkAdapterConfiguration данные. Строковые данные получаю в норме (кэпшены и имена,патчи и .т.п). При попытке вытащить ip выскакивает ошибка. Понимаю что Ip храниться не в виде строки,но как надо сконвертить, я не знаю.
Буду рад помощи:)
Could not convert variant of type (Array variant) into type (String)

Как решить эту проблему?


 
bagos ©   (2007-07-24 00:02) [1]

IPAddress
Data type: string array
Access type: Read-only

Array of all of the IP addresses associated with the current network adapter. Starting with Windows Vista, this property can contain either IPv6 addresses or IPv4 addresses. For more information, see IPv6 and IPv4 Support in WMI.

Example IPv6 address: "2010:836B:4179::836B:4179"
Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0:  This property contains addresses in IPv4 format.

Example: "172.16.22.0"


 
Новичеек   (2007-07-24 00:02) [2]

IPAddress
Data type: string array
Access type: Read-only

Array of all of the IP addresses associated with the current network adapter. Starting with Windows Vista, this property can contain either IPv6 addresses or IPv4 addresses. For more information, see IPv6 and IPv4 Support in WMI.

Example IPv6 address: "2010:836B:4179::836B:4179"
Windows Server 2003, Windows XP, Windows 2000, and Windows NT 4.0:  This property contains addresses in IPv4 format.

Example: "172.16.22.0"


 
SlymRO ©   (2007-07-24 05:21) [3]

На интерфейс можно навесить несколько IP функция возвращает массив этих IP, т.е. тебе нужно пробежаться по массиву аля Data[i] (незабудь что это VarArray)


 
Новичеек   (2007-07-24 11:09) [4]

делаю так
var
V:Variant;
begin
If Sprop.Name = "IPAddress" then
V := VarArrayCreate([1, 4], varVariant);
For i:=1 to 4 do
begin
V[i] := VarToStr(Sprop.Get_Value);
end;
edit1.Text:=v[1]+v[2]+v[3]+v[4];


запутолся я короче


 
SlymRO ©   (2007-07-24 11:50) [5]

var
V:Variant;
i:integer;
s:string;
begin
If Sprop.Name = "IPAddress" then
begin
 s:=""
 V:=Sprop.Get_Value;
 for i:=VarArrayLowBound(v,1) to VarArrayHighBound(v,1) do
   s:=s+"|"+v[i];
 edit1.Text:=s;
end;
end;


 
Но   (2007-07-24 13:19) [6]

Спасибо.

на интерфейсе один айпи так что хватает:

var
V:Variant;
begin
If Sprop.Name = "IPAddress" then
begin
V:=Sprop.Get_Value;
edit1.Text:=V[0];
end;
end;

Пытаюсь поменять IP:
var
vs:OleVariant;
begin
Vs[0] := "192.168.0.4";
If Sprop.Name = "IPAddress" then
Sprop.Set_Value(Vs);

вылезает ошибка, опять путаюсь с типами


 
Но   (2007-07-24 13:25) [7]

на  MSDN:

IPAddress
   Data type: string array
   Access type: Read-only

И че я ip не смогу поменять че за бред? :(


 
Новичеек   (2007-07-24 18:54) [8]

на помощь пришел метод EnableStatic



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1185148150
Kostafey
2007-07-23 03:49
2007.08.19
С днем рождения ! 23 июля


15-1184726336
Slider007
2007-07-18 06:38
2007.08.19
С днем рождения ! 18 июля 2007 среда


9-1157010396
Rumata3000
2006-08-31 11:46
2007.08.19
Свойства_экрана Заставка


15-1184751057
Loginov Dmitry
2007-07-18 13:30
2007.08.19
Достал баг в Delphi 2006/2007!


15-1185006460
Bratyk
2007-07-21 12:27
2007.08.19
Как сохранить проект в exe - файл