怎样才能让Delphi开发的浏览器支持IPv6

怎样才能让Delphi开发的浏览器支持IPv6,第1张

才能让Delphi开发的浏览器支持IPv6的解决办法

1. 下载Gecko SDK,这个是Gecko内核的开发包,下载完的文件包包含:GeckoComponents,GeckoSdk,gre三个文件夹。

2.  首先打开delphi 2007 安装GeckoSDK文件夹中的GeckoSDK.dpk ,然后安装GeckoComponents文件夹当中的GeckoComponents.dpk 。

3.  然后在Tool à OptionsàEnvironment Options àLibraryàLibrary path 中包含Gecko sdk中三个文件夹。

好改4. 完成上一步骤之后,在delphi工具栏当中会多出一组控件,Gecko组的TGeckoBrowser和TGeckoSimpleProfile两个控件。

5. 建立新的VCL Forms Application ,在Form中拖入两空芹个控件。

6. 现在的情况去编译是不成功的,在TGeckoBrowser.Create上会出现:Error:GRE_Startup()错误。原因是还没安装好一个完整的Gecko运行环境。

7. 下友亏判载Mozilla版本1.7

8.  安装完mozilla-win32-1.7.13-installer.exe,解决5中的错误。程序编译成功。

9.  现在来看看控件是否有作用。添加TButton控件和TEdit控件,在Button中添加代码procedure TForm1.Button1Click(Sender: TObject)

begin

GeckoBrowser1.LoadURI(edtURL.Text)

end

其中GeckoBrowser1为添加的TGeckoBrowser控件名称。edtURL为TEdit控件名称。

10.编译成功。运行程序,就能看到效果了,在输入框中输入网址,点击Button1按钮。

11. 成功。

1、通过注册表获取或修改Ip

想到Windows会把系统网卡相关信息存入注册表,肯定可通过注册表读取具体ip信息。大致思路是找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards ,由NetworkCards得分支表示各个网卡的信息通过ServiceName到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces 下找到对应的网卡配置详细信息,通过对注册表的read与write实现读取或修改ip地址等信息。

2、通过解析批处理命令结果获取

在cmd命令行输入ipconfig可以显示出当前电脑ip地址,可以考虑先执执行命令"Ipconfig /all >Ips.txt",然后解析Ips.txt文件得到本机的Ip信息,此方法较繁杂。

3、通过delphi控件获取Ip

找到猜槐fastnet 下的 Tpowersock控件,利用 该控件localip属性返回 本机(主要指局老兄域网) ip地址 。 放一个控件在窗体上可得到本机IP,方便简单。

4、通过WinSock函数获取Ip

此方法在程序中常用,一般函数如下:

//多网卡 将IP地址写入到列表,求本机IP的话返回IP列表中的第一个即可,该函数要引侍兆袭用 WinSock

function GetLocalIpList(var IpList:TStringList):Integer

type

TaPInAddr = array[0..10] of PInAddr

PaPInAddr = ^TaPInAddr

var

HostName: array [0..MAX_PATH] of char

NameLen: Integer

WSData: TWSAData

lpHostEnt: PHostEnt

I: Integer

pptr: PaPInAddr

begin

Result := 0

if WSAStartup(MakeWord(2,0), WSData) <>0 then Exit

try

NameLen := sizeof(HostName)

fillchar(HostName, NameLen, 0)

NameLen := GetHostName(HostName, NameLen)

if NameLen = SOCKET_ERROR then Exit

lpHostEnt := GetHostByName(HostName)

if lpHostEnt = Nil then Exit

I := 0

pPtr := PaPInAddr(lpHostEnt^.h_addr_list)

IpList.Clear

while pPtr^[I] <>nil do

begin

IpList.ADD( inet_ntoa(pptr^[I]^))

Inc(I)

end

Result := IpList.Count

finally

WSACleanup

end

end

Delphi 7中快橘姿速获取本机IP地址

朋友们在用Delphi编程序的时候,常常碰到需要在程序中获取自己的IP地址的情况。在以往的版本中,可以通过编写一段代码或函数实现这一功能。但有了Delphi 7,这个工作可以更简化了。利用控件只需一句代码,就可以非常方便地实现这一功能。

新建一Project1,在form1中添加控件statusbar1(Win32页)和控件IdIPWatch1(Indy Misc页)。接着设置好控件属性:在statusbar1的panels中添加0-TStatusPanel和1-TStatusPanel两项;IdIPWatch1的HistoryEnabled的属性设为False。

编写代码:在TForm1.FormCreate(Sender: TObject)中加入以下代码孙伍汪:

statusbar1.Panels[1].Text:=IdIPWatch1.LocalIP

OK!按下F9功能键,运行程序,看一下窗口下边状态栏中是不是已经显示了本机的IP地址了?

提示:若IdIPWatch1的HistoryEnabled的属性设为True,则会在程序退出时,则仔自动生成一个文件(文件名为HistoryFileName属性设定的值),记录当前的IP地址


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12446667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存