C/S程序设计
实验05
熟悉和掌握菜单栏和工具栏。
运行演示菜单栏和工具栏综合实例Example3.24(PPT:JX-CS程序设计(附一:常用组件补充)-6.ppt的第25张)。
新建一个名称为project1的项目,完成如下功能。
新建一个名称为mainForm的窗体,如图1所示:
图1-mainForm窗体示意图
主要各项属性如下:
组件类型
|
组件名
|
属性名
|
设置值
|
窗体(Form)
|
mainForm
|
Caption
|
我的浏览器
|
工具栏(ToolBar)
|
Toolbar1
|
内含6个Button和1个Seperator ,具体文字和图标参见图1
|
菜单栏(MainMenu)
|
MainMenu1
|
菜单结构、热键和快捷键如下:
|
浏览器(WebBrowser)
|
WebBrowser1
|
|
|
图片列表(ImageList)
|
ImageList1
|
加载icon目录下的所有图标
|
点击工具栏按钮的[下载],[IT],[汽车]和[音乐],则将webBrowser1分别导航至:http://download.it168.com, http://it.163.com,http://auto.163.com和 http://music.163.com
进入上述网址后,可点击[添加收藏]将网址收藏到主菜单的[收藏栏]下,也可点击[删除收藏]将网址从主菜单的[收藏栏]下删除,例如:
i. 点击了[IT] 按钮出现界面如图2所示:
ii. 此时可点击[添加收藏]按钮将该网址收藏到[收藏栏]下,如图3所示:
iii. 然后也可点击[删除收藏]按钮将该网址从[收藏栏]下删除。
提示:
WebBrowser组件在Internet面板下。
[收藏栏]的动态添加需要使用TMenuItem的create和Add方法,参考代码如下:
var tempItem:TMenuItem;
begin
tempItem:=TMenuItem.Create(MainMenu1);
tempItem.Caption:=website;
MainMenu1.Items[1].Add(tempItem);
end;
[收藏栏]的动态删除需要使用TMenuItem的delete方法,具体请参考帮助文件。
设计思路为:
可以重复添加到收藏夹,但是若把一个地址删除,则所有相同的地址都会被删除.....
总共经历了3次迭代
{第一次迭代:
此方法有个BUG ,收藏第一个,在收藏第二个,
然后返回收藏第一个(即第一个收藏2遍),
删除的时候会发现爆出数组越界错误,所以注释掉了
当然如果你不做这么离谱的收藏操作,就不会出错。 }
procedure TmainForm.ToolButton2Click(Sender: TObject);
var
n,i,j:integer;
begin
n:=N6.count;
for i:=0 to n-1 do
begin
if N6.Items[i].Caption= URLs then
begin
if i>=0 then
N6.Delete(i);
end;
end;
{第二次迭代:
下列算法没报错,但是执行效率不高,不能删除重复收藏的地址,
原因是 Find(URLs)返回的是第一次出现URLs的子菜单索引,
找到后就不会继续寻找,所以只能一个个删除}
procedure TmainForm.ToolButton2Click(Sender: TObject);
var
n,i,j:integer;
begin
i:=N6.IndexOf(N6.Find(URLs));
showmessage(inttostr(i));
if i>=0 then
N6.Delete(i);
end;
{这是第三次迭代,无BUG,一次能删除重复收藏的地址,}
procedure TmainForm.ToolButton2Click(Sender: TObject);
var
n,i,j:integer;
begin
n:=N6.count;
for i:=0 to n-1 do
begin
j:=N6.IndexOf(N6.Find(URLs));
if j>=0 then
N6.Delete(j);
end ;
end;
分享到:
相关推荐
很多实例的重要部分都做了特别注意和技巧等提示,目的是强调一些技巧的使用或使读者尽量避免一些常见的错误,以使更高效地利用Delphi这个强大的程序开发工具。 该书精选了100多个经典的实例从易到难、由浅入深、由...
favicon.ico是一个网站的图标,通常显示在浏览器的地址栏或收藏夹中,为用户识别网站提供视觉标识。 DelphiMVC.identcache和DelphiMVC.dproj.local是Delphi的缓存和本地项目配置文件,它们存储了项目在开发环境中的...
6. **收藏和笔记**:用户可以将常用的或重要的API函数添加到收藏夹,或者对函数添加个人笔记,方便日后查阅。 7. **更新维护**:随着新API的发布,APIBible会不断更新和完善,确保开发者能够获取最新的API信息。 8...
【网页文件拖放器 Delphi 源码】是一个基于Delphi编程语言开发的应用...同时,"整理收藏夹"功能的实现,也展示了如何在应用程序中实现基本的文件管理和用户交互设计,这对于开发更加完善的应用程序是必不可少的知识。
总结来说,这是一个使用Delphi 7编写的,专为快速设置IP地址的工具,具有内置IP列表、ping功能和收藏夹功能。源代码的开放使得用户可以根据自己的需求进行修改和扩展。通过分析提供的文件,我们可以了解到软件的基本...
9. **FAVICON.ICO**:这是网站的图标,通常显示在浏览器的地址栏和收藏夹中,提高网站的识别度。TestFAVICON.ICO可能是该示例应用的自定义favicon。 这个压缩包为Delphi开发者提供了一个学习IntraWeb和Flexigrid...
这是2003年得一个作品,陆续做了基本得功能,当初做这个只是一时性起,帮朋友讲解树型得数据结构,并写了个简单得例子,但后来还是作成一个软件。该程序功能已经实现,并且可以正常使用,但是‘最爱’收藏夹还有一些...
在"MenuListCon.ocx"中,模拟浏览器收藏夹的标签式设计可能意味着控件具有多层结构,用户可以通过展开和折叠来查看和选择不同层级的菜单项。 这种控件的实现涉及到事件处理、数据绑定和状态管理等技术。开发者可以...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...
2. **Web服务架构**:BookmarkBank 采用Web服务架构,这意味着它可以跨平台运行,用户可以通过浏览器进行访问,无论身处何处,只要有网络连接,就能管理自己的书签和收藏夹。 3. **书签管理**:该系统提供了全面的...