procedure TForm1 . setIPAddr;
var
reg:TRegistry;
name: array [ 0..255 ] of char ;
DNS,ID,CardNum: string ;
begin
reg:=TRegistry . Create;
StrLcopy(name, pchar (Edit6 . Text),length(Edit6 . Text));
reg . RootKey:=HKEY_LOCAL_MACHINE;
ID:=RGcardList . Items . Strings[RGCardList . itemindex];
cardNum:=copy(ID,pos( ';' ,ID)+ 1 ,length(ID));
reg . CloseKey;
if length(CardNum) < 2 then
CardNum:= '00' +CardNum;
if LengTh(CardNum) < 3 then
CardNum:= '0' +CardNum;
reg . OpenKey( 'SYSTEM\ControlSet' +CardNum+ '\Services' , false );
reg . OpenKey( 'Tcpip\Parameters\Interfaces' , false );
ID:=CardIdLt . Strings[CardIDLt . IndexOf(ID)+ 1 ];
reg . OpenKey(id, false );
RegSetValueEx(reg . CurrentKey, 'IPAddress' , 0 ,REG_MULTI_SZ,@name, 13 );
StrLcopy(name, pchar (Edit7 . Text),length(Edit7 . Text));
reg . RootKey:=HKEY_LOCAL_MACHINE;
ID:=RGcardList . Items . Strings[RGCardList . itemindex];
cardNum:=copy(ID,pos( ';' ,ID)+ 1 ,length(ID));
reg . CloseKey;
if length(CardNum) < 2 then
CardNum:= '00' +CardNum;
if LengTh(CardNum) < 3 then
CardNum:= '0' +CardNum;
reg . OpenKey( 'SYSTEM\ControlSet' +CardNum+ '\Services' , false );
reg . OpenKey( 'Tcpip\Parameters\Interfaces' , false );
ID:=CardIdLt . Strings[CardIDLt . IndexOf(ID)+ 1 ];
reg . OpenKey(id, false );
RegSetValueEx(reg . CurrentKey, 'SubnetMask' , 0 ,REG_MULTI_SZ,@name, 13 );
StrLcopy(name, pchar (Edit8 . Text),length(Edit8 . Text));
reg . RootKey:=HKEY_LOCAL_MACHINE;
ID:=RGcardList . Items . Strings[RGCardList . itemindex];
cardNum:=copy(ID,pos( ';' ,ID)+ 1 ,length(ID));
reg . CloseKey;
if length(CardNum) < 2 then
CardNum:= '00' +CardNum;
if LengTh(CardNum) < 3 then
CardNum:= '0' +CardNum;
reg . OpenKey( 'SYSTEM\ControlSet' +CardNum+ '\Services' , false );
reg . OpenKey( 'Tcpip\Parameters\Interfaces' , false );
ID:=CardIdLt . Strings[CardIDLt . IndexOf(ID)+ 1 ];
reg . OpenKey(id, false );
RegSetValueEx(reg . CurrentKey, 'DefaultGateway' , 0 ,REG_MULTI_SZ,@name, 13 );
IF (Trim(Edit9 . Text)= '' ) And (Trim(Edit10 . Text)= '' ) Then Exit;
IF (TRim(Edit9 . Text)<> '' ) And (Trim(Edit10 . Text)<> '' ) then
begin
DNS:=Trim(Edit9 . Text)+ ',' +TRim(Edit10 . Text);
end ;
IF (Trim(Edit9 . Text)<> '' ) And (Trim(Edit10 . Text)= '' ) then
begin
DNS:=Trim(Edit9 . Text);
end ;
IF (Trim(Edit9 . Text)= '' ) And (Trim(Edit10 . Text)<> '' ) then
begin
DNS:=Trim(Edit10 . Text);
end ;
StrLcopy(name, pchar (DNS),length(DNS));
reg . RootKey:=HKEY_LOCAL_MACHINE;
ID:=RGcardList . Items . Strings[RGCardList . itemindex];
cardNum:=copy(ID,pos( ';' ,ID)+ 1 ,length(ID));
reg . CloseKey;
if length(CardNum) < 2 then
CardNum:= '00' +CardNum;
if LengTh(CardNum) < 3 then
CardNum:= '0' +CardNum;
reg . OpenKey( 'SYSTEM\ControlSet' +CardNum+ '\Services' , false );
reg . OpenKey( 'Tcpip\Parameters\Interfaces' , false );
ID:=CardIdLt . Strings[CardIDLt . IndexOf(ID)+ 1 ];
reg . OpenKey(id, false );
// RegSetValueEx(reg.CurrentKey,'NameServer',0,REG_MULTI_SZ,@name,13);
reg . WriteString( 'NameServer' ,DNS);
Reg . CloseKey;
reg . Free;
end ;
|