下面代码,运行后,显示list index out of bounds(0),不懂什么意思。运行后,还有很多问题。。请大家帮帮忙啊
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ImgList, ExtCtrls, ComCtrls, OleCtrls, SHDocVw,
ToolWin,ShellApi;type
TForm1 = class(TForm)
Panel1: TPanel;
ImageList1: TImageList;
URLS: TComboBox;
Label1: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
Internet1: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
OpenDialog1: TOpenDialog;
WebBrowser1: TWebBrowser;
StatusBar1: TStatusBar;
procedure FormCreate(Sender: TObject);
procedure URLSKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure URLSSelect(Sender: TObject);
procedure WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure Internet1Click(Sender: TObject);
procedure N28Click(Sender: TObject);
procedure N29Click(Sender: TObject);
private
{ Private declarations }
public
{ public declarations }
SysDir: array[0..256] of char;
end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin
//获得系统目录
GetSystemDirectory(SysDir,Sizeof(SysDir)-1);
//程序启动时浏览c:\下的所有文件、目录
Webbrowser1.Navigate('c:\');
end;procedure TForm1.URLSKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//判断key键是否为回车键
if Key=VK_Return then
begin Webbrowser1.Navigate(URLs.Text);
//添加历史记录
URLs.Items.Add(URLs.Text)
end;
end;procedure TForm1.URLSSelect(Sender: TObject);
begin
Webbrowser1.Navigate(URLs.Text);
end;procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
URLs.text :=Webbrowser1.LocationURL;
StatusBar1.panels.Items[0].text :=Webbrowser1.LocationURL;
end;procedure TForm1.ToolButton3Click(Sender: TObject);
begin
try
webbrowser1.GoBack;
except
exit;
end;
end;procedure TForm1.ToolButton1Click(Sender: TObject);
begin
try
webbrowser1.goforward;
except
exit;
end;
end;procedure TForm1.ToolButton4Click(Sender: TObject);
begin
webbrowser1.stop;
end;procedure TForm1.ToolButton5Click(Sender: TObject);
begin
webbrowser1.refresh;
end;procedure TForm1.ToolButton6Click(Sender: TObject);
begin
webbrowser1.gohome;
end;procedure TForm1.ToolButton2Click(Sender: TObject);
begin
Webbrowser1.GoSearch;
end;procedure TForm1.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then begin
if OpenDialog1.FileName<>'' then
webbrowser1.Navigate(OpenDialog1.FileName)
else
exit;
end;
end;procedure TForm1.N3Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DODEFAULT);
except
exit;
end;
end;procedure TForm1.N4Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N6Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_PAGESETUP,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N9Click(Sender: TObject);
begin
if FileExists(SysDir+'\MBSYNC.EXE')then
ShellExecute(Handle,'open',pchar(SysDir+'\MBSYNC.EXE'),nil,nil,sw_SHOWnormal)
else
showmessage('没有发现'+SysDir+'\MOBSYNC.EXE');
end;procedure TForm1.N12Click(Sender: TObject);
begin
close;
end;procedure TForm1.N10Click(Sender: TObject);
begin
if N10.Checked =true then begin
n10.Checked :=false;
webbrowser1.Offline :=false;
end
else
begin
n10.Checked :=true ;
webbrowser1.Offline := true;
end;
end;procedure TForm1.N14Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_undo,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N16Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_cut,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N17Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_copy,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N18Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_paste,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N20Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_delete,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N21Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_selectall,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N22Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_find,OLECMDEXECOPT_PROMPTUSER);
except
exit;
end;
end;procedure TForm1.N23Click(Sender: TObject);
begin webbrowser1.Navigate('nailto:')
end;procedure TForm1.N25Click(Sender: TObject);
begin
if URLS.Text <>''then
webbrowser1.Navigate('view-source:'+URLS.Text );
end;procedure TForm1.N26Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_PROPERTIES,OLECMDEXECOPT_PROMPTUSER);
except
exit;
end;
end;procedure TForm1.Internet1Click(Sender: TObject);
begin
if fileExists(SysDir+'\INETCPL.CPL')then
shellexecute(handle,'open',pchar('control.exe'),pchar(SysDir+'\ INETCPL.CPL'),nil,sw_shownormal)
else
showmessage('没有发现'+SysDir+'\INETCPL.CPL');
end;procedure TForm1.N28Click(Sender: TObject);
begin
shellabout(handle,'浏览器--1.0版',
#13+'浏览器--1.0测试版 版权所有(c) 1999-2002 vision.'+
#13+'欢饮使用!',0);
end;procedure TForm1.N29Click(Sender: TObject);
begin
showmessage('读者可根据需要自行填写!'+#13+'方法:读本书、用鼠标。'+#13);
end;end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ImgList, ExtCtrls, ComCtrls, OleCtrls, SHDocVw,
ToolWin,ShellApi;type
TForm1 = class(TForm)
Panel1: TPanel;
ImageList1: TImageList;
URLS: TComboBox;
Label1: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
Internet1: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
OpenDialog1: TOpenDialog;
WebBrowser1: TWebBrowser;
StatusBar1: TStatusBar;
procedure FormCreate(Sender: TObject);
procedure URLSKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure URLSSelect(Sender: TObject);
procedure WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure Internet1Click(Sender: TObject);
procedure N28Click(Sender: TObject);
procedure N29Click(Sender: TObject);
private
{ Private declarations }
public
{ public declarations }
SysDir: array[0..256] of char;
end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin
//获得系统目录
GetSystemDirectory(SysDir,Sizeof(SysDir)-1);
//程序启动时浏览c:\下的所有文件、目录
Webbrowser1.Navigate('c:\');
end;procedure TForm1.URLSKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//判断key键是否为回车键
if Key=VK_Return then
begin Webbrowser1.Navigate(URLs.Text);
//添加历史记录
URLs.Items.Add(URLs.Text)
end;
end;procedure TForm1.URLSSelect(Sender: TObject);
begin
Webbrowser1.Navigate(URLs.Text);
end;procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
URLs.text :=Webbrowser1.LocationURL;
StatusBar1.panels.Items[0].text :=Webbrowser1.LocationURL;
end;procedure TForm1.ToolButton3Click(Sender: TObject);
begin
try
webbrowser1.GoBack;
except
exit;
end;
end;procedure TForm1.ToolButton1Click(Sender: TObject);
begin
try
webbrowser1.goforward;
except
exit;
end;
end;procedure TForm1.ToolButton4Click(Sender: TObject);
begin
webbrowser1.stop;
end;procedure TForm1.ToolButton5Click(Sender: TObject);
begin
webbrowser1.refresh;
end;procedure TForm1.ToolButton6Click(Sender: TObject);
begin
webbrowser1.gohome;
end;procedure TForm1.ToolButton2Click(Sender: TObject);
begin
Webbrowser1.GoSearch;
end;procedure TForm1.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then begin
if OpenDialog1.FileName<>'' then
webbrowser1.Navigate(OpenDialog1.FileName)
else
exit;
end;
end;procedure TForm1.N3Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DODEFAULT);
except
exit;
end;
end;procedure TForm1.N4Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N6Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_PAGESETUP,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N9Click(Sender: TObject);
begin
if FileExists(SysDir+'\MBSYNC.EXE')then
ShellExecute(Handle,'open',pchar(SysDir+'\MBSYNC.EXE'),nil,nil,sw_SHOWnormal)
else
showmessage('没有发现'+SysDir+'\MOBSYNC.EXE');
end;procedure TForm1.N12Click(Sender: TObject);
begin
close;
end;procedure TForm1.N10Click(Sender: TObject);
begin
if N10.Checked =true then begin
n10.Checked :=false;
webbrowser1.Offline :=false;
end
else
begin
n10.Checked :=true ;
webbrowser1.Offline := true;
end;
end;procedure TForm1.N14Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_undo,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N16Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_cut,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N17Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_copy,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N18Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_paste,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N20Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_delete,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N21Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_selectall,OLECMDEXECOPT_DONTPROMPTUSER);
except
exit;
end;
end;procedure TForm1.N22Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_find,OLECMDEXECOPT_PROMPTUSER);
except
exit;
end;
end;procedure TForm1.N23Click(Sender: TObject);
begin webbrowser1.Navigate('nailto:')
end;procedure TForm1.N25Click(Sender: TObject);
begin
if URLS.Text <>''then
webbrowser1.Navigate('view-source:'+URLS.Text );
end;procedure TForm1.N26Click(Sender: TObject);
begin
try
webbrowser1.ExecWB(OLECMDID_PROPERTIES,OLECMDEXECOPT_PROMPTUSER);
except
exit;
end;
end;procedure TForm1.Internet1Click(Sender: TObject);
begin
if fileExists(SysDir+'\INETCPL.CPL')then
shellexecute(handle,'open',pchar('control.exe'),pchar(SysDir+'\ INETCPL.CPL'),nil,sw_shownormal)
else
showmessage('没有发现'+SysDir+'\INETCPL.CPL');
end;procedure TForm1.N28Click(Sender: TObject);
begin
shellabout(handle,'浏览器--1.0版',
#13+'浏览器--1.0测试版 版权所有(c) 1999-2002 vision.'+
#13+'欢饮使用!',0);
end;procedure TForm1.N29Click(Sender: TObject);
begin
showmessage('读者可根据需要自行填写!'+#13+'方法:读本书、用鼠标。'+#13);
end;end.
在刚开始运行时,出现list index out of bounds(0),。我没管,还是继续执行。竟然可以找到系统的c:\下的目录。而当用到ToolButton 等按钮的时候,就出现project1.exe exception class eoleexception with message'未指定的错误'这些错误。请大家帮帮忙谢谢