科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件利用Delphi编制IP地址转换器

利用Delphi编制IP地址转换器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Window的netsh命令通过创建和调用记录网络配置的文本文件即可修改网络配置

作者:张志远 来源:yesky 2007年10月31日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
代码如下:

procedure TForm1.BitBtn2Click(Sender: TObject); //"局域网"按钮的单击事件
begin
 FileAppendProc1();
 RadioButton2.Checked:=true;
end;

procedure TForm1.FileAppendProc1(); //保存文件的函数
 var NetFile : TextFile;
 NetFilename : string;
 FileAppend,tempStr : string;
begin
 NetFilename :='netcfg2.txt';
 FileAppend :=S5+MaskEdit1.Text+S1+MaskEdit2.Text+S2+MaskEdit3.Text+S3+S4;
 //MessageDlg('This is commend'+FileAppend,mtInformation,[mbOK],0);
 AssignFile(Netfile,'net.txt'); //net.txt文件要放在应用程序的同一目录中
 Reset(NetFile);
 begin
 try
  Memo1.Lines.Text:='';
  while not Eof(NetFile) do
  begin
   Readln(NetFile,tempStr);
   Memo1.Lines.Add(tempStr) ;
  end;
  finally
 begin
  CloseFile(NetFile);
 end;
end;
AssignFile(Netfile,NetFilename);
Rewrite(NetFile);
try
 Writeln(NetFile,'');
 finally
 CloseFile(NetFile);
end;
 Memo1.Lines.Add(FileAppend);
 Memo1.Lines.SaveToFile(NetFilename);
end;
end;

procedure TForm1.MaskEdit1Exit(Sender: TObject); //IP地址输入出错处理
 var ip1,ip2,ip3,ip4: Integer;
begin
 if (copy(MaskEdit1.Text,1,3)=' ') or (copy(MaskEdit1.Text,5,3)=' ') or  (copy(MaskEdit1.Text,9,3)=' ') or (copy(MaskEdit1.Text,13,3)=' ') then
 begin
  showmessage('请注意,不能有空域值') ;
  MaskEdit1.SetFocus;
 end;
 if (copy(MaskEdit1.Text,1,3)<>' ') and (copy(MaskEdit1.Text,5,3)<>' ') and   (copy(MaskEdit1.Text,9,3)<>' ') and (copy(MaskEdit1.Text,13,3)<>' ') then
 begin
  ip1:=strtoint(trim(copy(MaskEdit1.Text,1,3)));
  ip2:=strtoint(trim(copy(MaskEdit1.Text,5,3)));
  ip3:=strtoint(trim(copy(MaskEdit1.Text,9,3)));
  ip4:=strtoint(trim(copy(MaskEdit1.Text,13,3)));
  if (ip1<0) or (ip1>254) or (ip2<0) or (ip2>254) or(ip3<0) or (ip3>254) or (ip4<0) or (ip4>254) then
  begin
   showmessage('您的输入不正确,请重新输入!');
   MaskEdit1.SetFocus;
  end;
 end;
end;

  右侧网络替换功能的编制相对简单些,通过两个radiobutton控件选择要使用哪个网络,然后点击"确定"按钮即可。

procedure TForm1.Button1Click(Sender: TObject); //"确定"按钮的单击事件
begin
  if RadioButton1.Checked then winexec('netsh -f netcfg1.txt',sw_normal) ;
  if RadioButton2.Checked then winexec('netsh -f netcfg2.txt',sw_normal) ;
end;

  这样,功能就实现了,这个小软件简单易用,在我周围的同学中已经广为流传,希望大家能够从中学习到简单易行的网络配置方法。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章