Web应用程序1.3——用户输入数据

一、添加新主题

首先让用户添加新主题,创建基于表单的方法几乎与前面创建网页一样,定义一个URL,编写一个视图函数并编写一个模板。

一个人主要差别是需要导入含表单的模块forms.py。

1.用于添加主题的表单

在Django中,创建表单最简单的方法是使用ModelForm。该表单只含字段text,并不要让字段生成标签。

forms.py

from django import forms

from .models import Topic

class TopicForm(forms.ModelForm):
	class Meta:
		model=Topic
		fields=['text']
		labels={'text':''}

2.URL模式new_topic

urls.py


urlpatterns=[
   --snip
    #用于添加新主题的网页
    url(r'^new_topic/$',views.new_topic,name='new_topic'),]

这个URL模式将请求交给视图函数new_topic()

3.视图函数new_topic()

views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse

from .models import Topic
from .forms import TopicForm

--snip--
def new_topic(request):
	"""添加新主题"""
	if request.method!='POST':
		#未提交数据:创建一个新表单
		form=TopicForm()
	else:
		#POST提交的数据,对数据进行处理
		form=TopicForm(request.POST)
		if form.is_valid():
			form.save()
			return HttpResponseRedirect(reverse('learning_logs:topics'))
			
	context={'form':form}
	return render(request,'learning_logs/new_topic.html',context)

    我们导入了HttpResponseRedirect类,用户提交主题后我们将使用这个类将用户重定向到网页topics。函数reverse()根据指定的URL模型确定URL,这意味着Django将在页面被请求是生成URL。

4.GET请求和POST请求
    创建Wed应用程序时,主要有两种请求:GET请求和POST请求。对于只从服务器读取数据的页面,使用GET请求;在用户需要通过表单提交信息时,通常使用POST请求。
    new_topic()将请求对象作为参数,用户初次请求该网页时,其浏览器发送GET请求,用户填写并提交表单时,其浏览器发送POST请求。如果是POST请求,我们先通过检查确定它们是否有效的。如果有效,save()方法保存到数据库保存页面,就可以离开这个页面了,在页面topics中,用户将在主题列表中看到刚输入的主题。

5.模板new_topic

new_topic.html

{% extends "learning_logs/base.html" %}

{% block content %}
  <p>Add a new topic:</p>
  
  <form action="{% url 'learning_logs:new_topic' %}" method='post'>
	{% csrf_token %}
	{{ form.as_p }}
	<button name="submit">add topic</button>
  </form>
  
{% endblock content %}

    模板首先继承base.html ,我们定义了一个HTML表单,其中实参action告诉服务器将提交的表单数据发送到哪里,这里将发送到视图函数new_topic()。实参method让浏览器以POST请求的方式提交数据,Django使用模板标签{% csrf_token %}来防止攻击者利用表单来获得对服务器未经授权的访问。{{form.as_p}}可以让Django自动创建显示表单所需的全部字段,修饰符as_p让Django以段落的格式渲染所有表单元素。

6.链接到页面new_topic

topics.html

{% extends "learning_logs/base.html" %}

{% block content %}

  <p>Topics</p>
  
  <ul>
	--snip--
  </ul>
  
  <a href="{% url 'learning_logs:new_topic' %}">Add a new topic:</a>
  
{% endblock content %}

由于添加新主题的页面

二、添加新条目

1.用于添加新条目的表单

我们创建一个与模型Entry相关联的表单。

forms.py

from django import forms

from .models import Topic,Entry
	
class EntryForm(forms.ModelForm):
	class Meta:
		model=Entry
		fields=['text']
		labels={'text':''}
		widgets={'text':forms.Textarea(attrs={'cols':80})}

新类EntryForm继承了forms.ModelForm。我们定义了属性widgets,小部件(widget)是一个HTML表单元素,如单行文本框、多行文本区域或下拉列表。通过设置属性widgets,可覆盖Django选择的默认小部件。通过让Django使用froms.Textarea,我们定制了字段‘text’的输入小部件,将文本区域的宽度设置为80列,而不是默认的40列。

2.URL模式new_entry

在用于添加新条目的页面的URL模式中,需要包含实参topic_id,因为条目必须与特定的主题相关联。

urls.py

--snip--
urlpatterns=[
    --snip--
    #用于添加新条目的页面
    url(r'^new_entry/(?P<topic_id>\d+)/$',views.new_entry,name='new_entry'),]

这个URL模式与形式为http://localhost:8000/new_entry/id/的URL匹配,其中id是一个与主题ID匹配的数字。代码(?P<topic_id>\d+)捕获一个数字值,并将其储存在变量topic_id中。请求的URL与这个模式匹配时,Django将请求和主题ID发送给函数new_entry()

3.视图函数new_entry()

views.py

from django.shortcuts import render
--snip--

from .models import Topic
from .forms import TopicForm,EntryForm

--snip--
def new_entry(request,topic_id):
	"""在特定的主题中添加新条目"""
	topic=Topic.objects.get(id=topic_id)
	
	if request.method != 'POST':
		#未提交数据,创建一个空表单
		form=EntryForm()
		
	else:
		#POST提交的数据,对数据进行处理
		form=EntryForm(data=request.POST)
		if form.is_valid():
			new_entry=form.save(commit=False)
			new_entry.topic=topic
			new_entry.save()
			return HttpResponseRedirect(reverse('learning_logs:topic',
			                            args=[topic_id]))
			
	context={'topic':topic,'form':form}
	return render(request,'learning_logs/new_entry.html',context)

在调用save()时,我们传递了实参commit=False,让Django创建一个新的条目对象,并将其储存在new_entry中,但不将它保存在数据库中。

4.模板new_entry

new_entry.html

{% extends "learning_logs/base.html" %}

{% block content %}

  <p><a href="{% url 'learning_logs:topic' topic.id %}">{{ topic }}</a></p>
  
  <p>Add a new entry:</p> 
  <form action="{% url 'learning_logs:new_entry' topic.id %}" method='post'>
	{% csrf_token %}
	{{ form.as_p }}
	<button name="submit">add entry</button>
  </form>
  
{% endblock content %}

5.链接到页面new_entry

topic.html

{% extends 'learning_logs/base.html' %}

{% block content %}
  <p>Topic: {{ topic }}</p>
  
  <p>Entries:</p>
  <p>
	  <a href="{% url 'learning_logs:new_entry' topic.id %}">add new entry</a>
  </p>
  <ul>
 --snip
  </ul>
  
{% endblock content %}

页面new_entry

三、编辑条目

1.URL模式edit_entry

urls.py

--snip--
urlpatterns=[
    --snip--
    #用于编辑条目的页面
    url(r'^edit_entry/(?P<entry_id>\d+)/$',views.edit_entry,
        name='edit_entry'),]

2.视图函数edit_entry()

views.py

def edit_entry(request, entry_id):
	"""编辑既有条目"""
	entry = Entry.objects.get(id = entry_id) #获得用户要修改的条目对象和与该条目相关的主题
	topic = entry.topic
 
	if request.method != 'POST':
		""" 初次请求,使用当前条目填充表单"""
		form = EntryForm(instance = entry)
	else:
		""" POST提交的数据,对数据进行处理 """
		form = EntryForm(instance = entry, data = request.POST)
		if form.is_valid():
			form.save() 
			return HttpResponseRedirect(reverse('learning_logs:topic', args=[topic.id]))#重新定向到条目所属主题的页面
 
	context = {'entry' : entry, 'topic' : topic, 'form' : form}
	return render(request, 'learning_logs/edit_entry.html', context)

3.模板edit_entry

edit_entry.html

{% extends "learning_logs/base.html" %}

{% block content %}

  <p><a href="{% url 'learning_logs:topic' topic.id %}">{{ topic }}</a></p>
  
  <p>Edit entry:</p> 
  <form action="{% url 'learning_logs:edit_entry' entry.id %}" method='post'>
	{% csrf_token %}
	{{ form.as_p }}
	<button name="submit">save changes</button>
  </form>
  
{% endblock content %}

4.链接到页面edit_entry

topic.html

--snip--
  {% for entry in entries %}
    <li>
		<p>{{ entry.date_added|date:'M d,Y H:i' }}</p>
		<p>{{ entry.text|linebreaks }}</p>
		<p>
			<a href="{% url 'learning_logs:edit_entry' entry.id %}">edit entry</a>
		</p>
	</li>
 --snip--

每个条目都有一个用于对其进行编辑的链接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<>人民邮电出版社的教程哦,所以,好书,你懂的!! 第1章web应用开发简介 1 1.1何为web应用 1 1.1.1web的概念及发展 1 1.1.2web应用程序 2 1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发环境 9 1.3.1集成开发环境简介 9 1.3.2web应用服务器说明 11 本章小结 14 课后练习 14 第2章 javaee运行及开发环境 15 2.1jdk的下载与安装 15 2.1.1jdk的下载与安装 15 2.1.2配置环境变量 17 >2.2tomcat的下载与安装 19 2.2.1下载并安装tomcat服务器 19 .2.2.2基本配置 22 2.2.3服务器页面介绍 23 2.3eclipse的下载与安装 24 2.3.1eclipse的下载与安装 24 2.3.2熟悉eclipse开发环境 24 2.4项目实战——第一个javaee应用:helloworld 28 2.4.1开始创建第一个javaee应用 28 2.4.2熟悉helloworld框架结构 29 本章小结 32 课后练习 32 第3章jsp和servlet 33 3.1开发第一个jsp+servlet应用 33 3.1.1创建工程 33 3.1.2编写程序 34 3.1.3部署应用 35 3.2认识jsp 36 3.2.1jsp的工作原理 37 3.2.2jsp注释方式 37 3.2.3jsp声明方式 38 3.2.4jsp表达式的应用 39 3.2.5jsp的脚本段 39 3.2.6jsp的编译指令 40 3.2.7jsp的动作指令 41 3.2.8jsp的内置对象 43 3.3认识servlet 46 3.3.1servlet的开发 46 3.3.2使用httpservlet 47 3.3.3servlet的生命周期 49 3.3.4load-on-startupservlet 50 3.4自定义标签库 51 3.5预处理用户请求:filter 53 3.6使用listener 56 3.7项目实战——用户登录 59 本章小结 62 课后练习 63 第4章sql与jdbc 64 4.1sql 64 4.1.1sql概述 64 4.1.2ddl与dml简介 64 4.1.3sql使用方法 65 4.2jdbc 67 4.2.1jdbc概述 67 4.2.2jdbc驱动程序 68 4.2.3使用jdbc读取数据 69 4.3项目实战——存储图书信息 73 本章小结 78 课后练习 79 第5章struts2框架基础 80 5.1mvc框架 80 5.1.1model1与model2 80 5.1.2mvc设计模式 81 5.1.3struts2框架的mvc架构 82 5.2struts2概览 84 5.2.1struts2的工作流程 84 5.2.2struts2的简单应用 85 5.3struts2基础 87 5.3.1action详解 88 5.3.2结果与视图 91 5.3.3struts.xml的配置 94 5.4值栈与ognl表达式 100 5.5struts2的标签库 103 5.5.1控制标签 103 5.5.2数据标签 104 5.5.3表单标签 105 5.5.4非表单ui标签 107 本章小结 108 课后练习 109 第6章struts2高级应用 110 6.1拦截器 110 6.1.1拦截器工作机制 110 6.1.2拦截器及拦截器栈的应用 111 6.1.3自定义拦截器 115 6.2类型转换器 117 6.2.1struts2内置类型转换器 117 6.2.2引用类型的转换方式 117 6.2.3特殊对象的类型转换 118 6.2.4类型转换的错误处理 121 6.3输入校验 123 6.3.1输入校验的必要性 123 6.3.2编程方式实现输入校验 125 6.3.3应用struts2输入校验框架 128 6.3.4自定义校验器 130 6.4国际化 131 6.4.1国际化实现原理 131 6.4.2准备国际化资源文件 131 6.4.3调用国际化资源文件 134 6.5上传和下载 135 6.5.1文件上传的实现原理 135 6.5.2struts2文件上传实现方式 136 6.5.3struts2文件下载实现方式 141 本章小结 143 课后练习 144 第7章 struts2应用模板语言 145 7.1模板语言简介 145 7.2应用velocity 146 7.2.1velocity基础 146 7.2.2struts2对velocity的支持 153 7.3应用freemarker 155 7.3.1freemarker基础 155 7.3.2struts2整合freemarker 166 7.3.3使用struts2标签设计模板 170 7.4freemarker与velocity的比较 171 本章小结 171 课后练习 172 第8章hibernate框架基础 173 8.1orm简介 173 8.1.1应用orm的意义 173 8.1.2流行的orm框架 174 8.2准备hibernate运行环境 174 8.2.1下载与安装hibernate 175 8.2.2hibernate发布包介绍 175 8.3认识hibernate 176 8.3.1hibernate框架结构 176 8.3.2hibernate配置文件 177 8.3.3configuration与sessionfactory 178 8.3.4session类 179 8.3.5hibernate的关联关系 179 8.3.6hibernate映射文件 180 8.3.7hibernate工作原理 182 8.4项目实战——新闻内容显示 183 本章小结 186 课后练习 187 第9章hibernate查询 188 9.1hibernate的数据检索策略 188 9.1.1立即检索 188 9.1.2延迟检索 189 9.1.3预先检索 190 9.1.4批量检索 191 9.2hibernate的数据查询方式 193 9.2.1hql方式 193 9.2.2qbc方式 194 9.2.3原生sql方式 195 9.3hibernate的关联查询 196 9.3.1一对一关联关系的使用 196 9.3.2一对多、多对一关联关系的使用 197 9.3.3多对多关联关系的使用 199 9.4hibernate过滤 201 9.4.1session过滤 201 9.4.2filter过滤 201 9.5项目实战——客户订单管理 202 本章小结 207 课后练习 207 第10章hibernate性能优化 208 10.1hibernate事务与并发 208 10.1.1什么是事务 208 10.1.2hibernate的事务处理 209 10.1.3在hibernate使用jta事务 210 10.1.4并发控制 211 10.2hibernate缓存 213 10.2.1缓存的工作原理 213 10.2.2应用一级缓存 214 10.2.3应用二级缓存 214 10.2.4应用第三方缓存 216 10.3项目实战——借还图书 217 本章小结 224 课后练习 224 第11章spring框架基础 226 11.1spring框架概述 226 11.1.1认识spring框架 226 11.1.2spring框架特点 226 11.1.3spring框架核心架构 227 11.2建立spring开发环境 228 11.2.1下载spring框架 228 11.2.2spring发布包与软件包 229 11.2.3创建spring应用环境 230 11.3bean的装配 231 11.3.1bean基本配置 232 11.3.2为bean添加属性 232 11.3.3简化配置 233 11.4理解spring的核心——ioc 234 11.4.1控制反转 234 11.4.2依赖注入的3种方式 236 11.5beanfactory与applicationcontext 238 11.5.1认识beanfactory 238 11.5.2使用applicationcontext 238 11.6项目实战——spring问候程序 239 本章小结 241 课后练习 241 第12章springaop 242 12.1aop基础 242 12.1.1aop与oop的比较 242 12.1.2aop的核心概念 243 12.1.3java动态代理与aop 244 12.1.4springaop简介 245 12.2使用spring的通知 246 12.2.1beforeadvice 246 12.2.2afterreturningadvice 248 12.2.3methodinterceptor 249 12.2.4throwadvice 250 12.3使用spring的切入点 251 12.3.1静态切入点 251 12.3.2动态切入点 253 12.4springaop的代理工厂 253 12.4.1选择合适的代理 253 12.4.2proxyfactory 254 12.4.3proxyfactorybean 254 12.5项目实战——输出日志 256 本章小结 258 课后练习 259 第13章 spring与javaee持久化数据访问 260 13.1spring对dao模式的支持 260 13.1.1统一的数据访问异常 260 13.1.2通用的数据访问模板及抽象支持类 261 13.2spring的jdbc 262 13.2.1为什么需要jdbctemplate 262 13.2.2通过jdbcdaosupport使用jdbctemplate 263 13.2.3jdbctemplate提供的常用数据操作方法 264 13.3spring的事务处理 265 13.3.1spring事务处理概述 266 13.3.2编程式事务处理 266 13.3.3声明式事务处理 267 13.3.4标注式事务处理 268 13.4项目实战——公司人事管理 269 本章小结 276 课后练习 276 第14章spring与struts2、hibernate框架的整合基础 277 14.1spring与struts2的整合方式 277 14.1.1struts2应用的扩展方式 277 14.1.2spring插件的应用 278 14.2spring和hibernate的整合 279 14.2.1spring对hibernate的支持 279 14.2.2管理sessionfactory 279 14.2.3hibernate的dao实现 281 14.2.4使用hibernatetemplate 281 14.2.5管理hibernate事务 282 14.3项目实战——学生成绩查询系统 283 本章小结 292 课后练习 293 第15章图书馆管理系统 294 15.1系统功能解析 294 15.2系统数据设计 295 15.2.1数据库分析 295 15.2.2数据表关联关系分析 298 15.3系统框架搭建 300 15.3.1创建工程 300 15.3.2工程目录结构 300 15.4系统代码实现 302 15.4.1数据库连接的实现 303 15.4.2工具类的实现 304 15.4.3管理员登录与退出实现 306 15.4.4系统管理实现 313 15.4.5图书管理实现 319 15.4.6读者管理实现 329 15.4.7借还管理实现 333 15.4.8前台功能实现 336 本章小结 342
这是原书的高清版 PDF 扫描。 这个PDF文件是我花钱买来的,现在为了挣积分,拿出来与大家分享!! 书名:Visual Basic 2008程序设计完全自学教程 作者:洪一新 出版社:清华大学出版社 出版日期:2009年1月1日 ISBN:9787302191551 字数: 页码:219 版次:第1版 装帧:平装 开本: 商品重量:821 g 编辑推荐 -------------------------------------------------------------------------------- 《Visual Basic 2008程序设计完全自学教程》特色: Visual Basic 2008 程序设计图解教学范例实践最佳入门 165个完整教学范例,462道课后习题,206个问答实践题 实力作者:台湾资深IT教育专家融Visual Basic 2008新功能和多年教学经验于一体,历时一年,倾力而为 内容全面:涵盖基础语法、面向对象编程、窗体应用程序设计、文件操作、数据库编程、网络应用开发等方面 适合自学:章首介绍学习目标,章图解教学配合范例实践,章后提供本章重点整理及习题,尤其适合自学 资源下载:www.booksaga.com网站提供书所有范例和章后实践题的完整源代码下载 《Visual Basic 2008 程序设计完全自学教程》特点 难易适:以简单易懂和循序渐进的方式来阐述基本概念及其应用,有效降低学习难度 完整范例:书所有范例都是完整程序,且注释丰富,能有效降低学习障碍 内容丰富:Visual Basic2008的基础语法、面向对象编程、窗体应用程序、文件操作、数据库编程、网络应用等所有内容,《Visual Basic 2008程序设计完全自学教程》均有介绍 习题精选:章末均安排了大量的习题与编程实践题,方便检验学习效果,其选择题、判断题、填空题、问答题答案附于书后,实践题的完整范例代码可从网站下载 书所有165个完整范倒的源代码 书后所有实践题的源代码 内容提要 -------------------------------------------------------------------------------- 《Visual Basic 2008 程序设计完全自学教程》详述Visual Basic 2008语言重要语法,并于书融入165个完整程序范例和大量插图,通过这些简练的示例详解每一个知识点.由浅入深,内容详实。 《Visual Basic 2008 程序设计完全自学教程》共19章。第1-9章为Visual Basic 2008开发环境和基础语法介绍,包括程序语言机NET介绍、而向对象的程序设计、基本数据处理、流程控制、数组与字符串、过程与函数:第10-11章讲述Visual Basic2008的面向对象概念:第12-17章则上要介绍了Visual Basic 2008 程序设汁较为深入的内容,包括键盘及鼠标事件、常见的窗体对象、菜单与工具栏设计、绘图入门与应用、程序的调试和异常处理以及文件系统操作等:第18章为数据库编程基础篇,介绍了 ADO.NET技术以及如何利用ADO.NET进行数据库连接等。最后一章 为案例实践,利用Windows Forms制作一个完整的程序——网页浏览器,初学者可以更实际地看到Visual Basic开发网络应用程序的妙用。《Visual Basic 2008 程序设计完全自学教程》的所有程序范例都以完整程序代码说明,并加以充分注解,能有效降低学习难度。章后精心设计461个习题和编程实践题,书后附答案,非常适合自学。 《Visual Basic 2008 程序设计完全自学教程》是Visual Basic 2008入门级用户和初级开发人员的最佳自学参考用书,也可以用作相关课程的案例实践型教材。 目录 -------------------------------------------------------------------------------- 第1章 程序语言与.NET简介 1.1 程序语言概论 1.1.1 应用程序基本概念 1.1.2 程序语言的分类 1.2 程序设计简介 1.2.1 程序设计流程 1.2.2 程序评断标准 1.2.3 程序编写习惯 1.3 认识.NET 1.3.1 用户观点看NET 1.3.2 程序设计观点看NET 1.3.3 .NET与因特网 1.4 浅谈.NETFramework 1.4.1 .NETFramework架构 1.4.2 认识公共语言运行时 1.4.3 何谓WebService 本章重点整理 本章习题 第2章 VisualBasic2008Express开发环境 2.1 VisualBasic语言简介 2.1.1 VisualBasic程序语言基础 2.1.2 VisualBasic的基本特性 2.1.3 VisualBasic2008新增功能 2.2 VisualBasic开发环境的创建 2.2.1 VisualStudi02008简介 2.2.2 VisualBasic2008Express安装 2.3 VisualBasic2008Express的启动与关闭 2.3.1 项目的新建与关闭 2.3.2 打开已存在的项目 2.4 VisualBasic2008Express的开发环境 2.5 VisualBasic2008Express窗口基本操作 2.5.1 程序代码的操作 2.5.2 整窗口的大小 2.5.3 移动窗口的显示位置 本章重点整理 本章习题 第3章 创建第一个VisualBasic程序 3.1 程序开发步骤 3.2 创建控制台应用程序 3.2.1 在VisualBasic创建项目 3.2.2 编写VisualBasic程序代码 3.2 3执行和测试程序 3.2.4 VisualBasic的输出语句 3.2.5 在控制台应用程序添加模块并调试执行 3.3 创建窗体应用程序 3.4 打印程序代码 本章重点整理 本章习题 第4章 基本数据处理 4.1 变量与数据类型 4.1.1 变量与常量 4.1.2 数据类型 4.2 变量与常量声明 4.2.1 数值变量 4.2.2 字符与字符串变量 4.2.3 布尔值变量 4.2.4 日期变量 4.2.5 常量 4.3 变量命名 4.3.1 命名规则 4.3.2 惯用的命名法 4.4 变量的作用域 4.4.1 认识作用域 4.4.2 变量的作用域 4.5 数据类型转换 4.5.1 隐式数据类型转换 4.5.2 显示数据类型转换 4.6 Opion语句 4.6.1 OptionExplicit 4.6.2 OptionStrict 4.6.3 OptionCompare 4.6.4 Optionlnfer 4.7 自定义类型Structure与Enum 4.8 表达式与运算符 4.8.1 算术运算符 4.8.2 赋值运算符 4.8.3 比较运算符 4.8.4 连接运算符 4.8.5 逻辑运算符 4.8.6 运算符优先级 本章重点整理 本章习题 第5章 窗体程序基础认识 5.1 窗体对象基本概念 5.1.1 与VB6.0不同概念的WindowsForms 5.1.2 窗体共享成员 5.2 窗体属性 5.2.1 窗体程序外观属性 5.2.2 窗体大小属性 5.2.3 窗体位置属性 5.3 窗体方法 5.4 窗体事件 本章重点整理 本章习题 第6章 窗体应用程序的输出与输入 第7章 流程控制 第8章 数组与字符串 第9章 过程与函数 第10章 VisualBasic与面向对象 第11章 类的应用 第12章 键盘及鼠标事件 第13章 常见的窗体对象 第14章 菜单与工具栏 第15章 绘图入门与应用 第16章 程序的调试与异常处理 第17章 文件系统操作 第18章 数据应用程序开发 第19章 项目实务——Web网页浏览器制作 习题答案 作者介绍
这是原书的高清版 PDF 扫描。 这个PDF文件是我花钱买来的,现在为了挣积分,拿出来与大家分享!! 书名:Visual Basic 2008程序设计完全自学教程 作者:洪一新 出版社:清华大学出版社 出版日期:2009年1月1日 ISBN:9787302191551 字数: 页码:219 版次:第1版 装帧:平装 开本: 商品重量:821 g 编辑推荐 -------------------------------------------------------------------------------- 《Visual Basic 2008程序设计完全自学教程》特色: Visual Basic 2008 程序设计图解教学范例实践最佳入门 165个完整教学范例,462道课后习题,206个问答实践题 实力作者:台湾资深IT教育专家融Visual Basic 2008新功能和多年教学经验于一体,历时一年,倾力而为 内容全面:涵盖基础语法、面向对象编程、窗体应用程序设计、文件操作、数据库编程、网络应用开发等方面 适合自学:章首介绍学习目标,章图解教学配合范例实践,章后提供本章重点整理及习题,尤其适合自学 资源下载:www.booksaga.com网站提供书所有范例和章后实践题的完整源代码下载 《Visual Basic 2008 程序设计完全自学教程》特点 难易适:以简单易懂和循序渐进的方式来阐述基本概念及其应用,有效降低学习难度 完整范例:书所有范例都是完整程序,且注释丰富,能有效降低学习障碍 内容丰富:Visual Basic2008的基础语法、面向对象编程、窗体应用程序、文件操作、数据库编程、网络应用等所有内容,《Visual Basic 2008程序设计完全自学教程》均有介绍 习题精选:章末均安排了大量的习题与编程实践题,方便检验学习效果,其选择题、判断题、填空题、问答题答案附于书后,实践题的完整范例代码可从网站下载 书所有165个完整范倒的源代码 书后所有实践题的源代码 内容提要 -------------------------------------------------------------------------------- 《Visual Basic 2008 程序设计完全自学教程》详述Visual Basic 2008语言重要语法,并于书融入165个完整程序范例和大量插图,通过这些简练的示例详解每一个知识点.由浅入深,内容详实。 《Visual Basic 2008 程序设计完全自学教程》共19章。第1-9章为Visual Basic 2008开发环境和基础语法介绍,包括程序语言机NET介绍、而向对象的程序设计、基本数据处理、流程控制、数组与字符串、过程与函数:第10-11章讲述Visual Basic2008的面向对象概念:第12-17章则上要介绍了Visual Basic 2008 程序设汁较为深入的内容,包括键盘及鼠标事件、常见的窗体对象、菜单与工具栏设计、绘图入门与应用、程序的调试和异常处理以及文件系统操作等:第18章为数据库编程基础篇,介绍了 ADO.NET技术以及如何利用ADO.NET进行数据库连接等。最后一章 为案例实践,利用Windows Forms制作一个完整的程序——网页浏览器,初学者可以更实际地看到Visual Basic开发网络应用程序的妙用。《Visual Basic 2008 程序设计完全自学教程》的所有程序范例都以完整程序代码说明,并加以充分注解,能有效降低学习难度。章后精心设计461个习题和编程实践题,书后附答案,非常适合自学。 《Visual Basic 2008 程序设计完全自学教程》是Visual Basic 2008入门级用户和初级开发人员的最佳自学参考用书,也可以用作相关课程的案例实践型教材。 目录 -------------------------------------------------------------------------------- 第1章 程序语言与.NET简介 1.1 程序语言概论 1.1.1 应用程序基本概念 1.1.2 程序语言的分类 1.2 程序设计简介 1.2.1 程序设计流程 1.2.2 程序评断标准 1.2.3 程序编写习惯 1.3 认识.NET 1.3.1 用户观点看NET 1.3.2 程序设计观点看NET 1.3.3 .NET与因特网 1.4 浅谈.NETFramework 1.4.1 .NETFramework架构 1.4.2 认识公共语言运行时 1.4.3 何谓WebService 本章重点整理 本章习题 第2章 VisualBasic2008Express开发环境 2.1 VisualBasic语言简介 2.1.1 VisualBasic程序语言基础 2.1.2 VisualBasic的基本特性 2.1.3 VisualBasic2008新增功能 2.2 VisualBasic开发环境的创建 2.2.1 VisualStudi02008简介 2.2.2 VisualBasic2008Express安装 2.3 VisualBasic2008Express的启动与关闭 2.3.1 项目的新建与关闭 2.3.2 打开已存在的项目 2.4 VisualBasic2008Express的开发环境 2.5 VisualBasic2008Express窗口基本操作 2.5.1 程序代码的操作 2.5.2 整窗口的大小 2.5.3 移动窗口的显示位置 本章重点整理 本章习题 第3章 创建第一个VisualBasic程序 3.1 程序开发步骤 3.2 创建控制台应用程序 3.2.1 在VisualBasic创建项目 3.2.2 编写VisualBasic程序代码 3.2 3执行和测试程序 3.2.4 VisualBasic的输出语句 3.2.5 在控制台应用程序添加模块并调试执行 3.3 创建窗体应用程序 3.4 打印程序代码 本章重点整理 本章习题 第4章 基本数据处理 4.1 变量与数据类型 4.1.1 变量与常量 4.1.2 数据类型 4.2 变量与常量声明 4.2.1 数值变量 4.2.2 字符与字符串变量 4.2.3 布尔值变量 4.2.4 日期变量 4.2.5 常量 4.3 变量命名 4.3.1 命名规则 4.3.2 惯用的命名法 4.4 变量的作用域 4.4.1 认识作用域 4.4.2 变量的作用域 4.5 数据类型转换 4.5.1 隐式数据类型转换 4.5.2 显示数据类型转换 4.6 Opion语句 4.6.1 OptionExplicit 4.6.2 OptionStrict 4.6.3 OptionCompare 4.6.4 Optionlnfer 4.7 自定义类型Structure与Enum 4.8 表达式与运算符 4.8.1 算术运算符 4.8.2 赋值运算符 4.8.3 比较运算符 4.8.4 连接运算符 4.8.5 逻辑运算符 4.8.6 运算符优先级 本章重点整理 本章习题 第5章 窗体程序基础认识 5.1 窗体对象基本概念 5.1.1 与VB6.0不同概念的WindowsForms 5.1.2 窗体共享成员 5.2 窗体属性 5.2.1 窗体程序外观属性 5.2.2 窗体大小属性 5.2.3 窗体位置属性 5.3 窗体方法 5.4 窗体事件 本章重点整理 本章习题 第6章 窗体应用程序的输出与输入 第7章 流程控制 第8章 数组与字符串 第9章 过程与函数 第10章 VisualBasic与面向对象 第11章 类的应用 第12章 键盘及鼠标事件 第13章 常见的窗体对象 第14章 菜单与工具栏 第15章 绘图入门与应用 第16章 程序的调试与异常处理 第17章 文件系统操作 第18章 数据应用程序开发 第19章 项目实务——Web网页浏览器制作 习题答案 作者介绍
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Android基础教程》的源代码 对应的书籍资料见: Android基础教程(你的第一本Android书) 基本信息 原书名: Hello, Android: Introducing Google's Mobile Development Platform 原出版社: Pragmatic Bookshelf 作者: (美)Ed Burnette 译者: 张波 高朝勤 杨越 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115215369 上架时间:2009-11-6 出版日期:2009 年11月 开本:16开 页码:196 版次:1-1 编辑推荐   你的第一本Android书.    Pragmatic系列图书品质保证..    从这里,开始一个新的梦想... 内容简介   android是谷歌公司开发的全新开源手机平台。本书是一部关于 android开发的基础教程,采用由浅入深、循序渐进的方式讨论android。书还结合数独游戏等实例更加形象生动地讲解了 android开发的基本流程,且每章最后都有一个 “快速阅读指南 ”,更加方便了读者的阅读。.    本书内容完整丰富,具有较强的通用性,读者都能通过本书快速学习 android开发,提高相关技能。... 作译者 作者: Ed Burnette Ed Burnette 资深软件技术专家,拥有20多年软件开发经验。他是SAS高级计算机实验室的联合创始人和高级研究员,也是www.planetandroid.com网站的创办人和ZDNet的专栏作家。除本书外,他还出版了Google Web Toolkit:Taking the Pain out of Ajax和Eclipse IDE Pocket Guide等著作。 目录 封面 -13 封底 202 扉页 -10 版权 -9 版权声明 -8 对本书的赞誉 -7 前言 -6 目录 -2 第一部分 Android简介 1 第1章 快速入门 3 1.1 安装工具 3 1.1.1 Java 5.0+ 3 1.1.2 Eclipse 4 1.1.3 Android 4 1.1.4 Eclipse插件 5 1.2 创建第一个程序 7 1.3 在模拟器上运行程序 8 1.4 在手机上运行程序 9 1.5 快速阅读指南 9 第2章 基本概念 11 2.1 Android的系统架构 11 2.1.1 Linux内核 11 2.1.2 本机库 12 2.1.3 Android运行时 13 2.1.4 应用程序框架 14 2.1.5 应用程序 15 2.2 它还活着 15 2.2.1 进程不等于应用程序 16 2.2.2 应用程序生命周期 17 2.3 构建块 19 2.3.1 活动 19 2.3.2 意图 19 2.3.3 服务 19 2.3.4 内容提供者 19 2.4 使用资源 20 2.5 安全性 20 2.6 快速阅读指南 21 第二部分 Android基础知识 23 第3章 设计用户界面 25 3.1 数独游戏简介 25 3.2 声明性设计 26 3.3 创建启动界面 27 3.4 使用替代资源 34 3.5 实现About对话框 37 3.6 应用主题 41 3.7 添加菜单 43 3.8 添加设置 45 3.9 开始新游戏 47 3.10 利用日志消息调试程序 48 3.11 利用调试器调试程序 50 3.12 退出游戏 50 3.13 快速阅读指南 50 第4章 绘制2D图形 53 4.1 Android图形基础 53 4.1.1 Color类 53 4.1.2 Paint类 54 4.1.3 Canvas类 55 4.1.4 Path类 55 4.1.5 Drawable类 56 4.2 在Sudoku程序添加图形 58 4.2.1 开始游戏 58 4.2.2 定义Game类 58 4.2.3 定义PuzzleView类 60 4.2.4 绘制游戏盘面 61 4.2.5 绘制数字 63 4.3 处理输入 65 4.3.1 定义和更新选定区域 66 4.3.2 输入数字 68 4.3.3 增加提示 69 4.3.4 抖动屏幕 70 4.4 其他问题 71 4.4.1 创建软键盘 71 4.4.2 实现游戏逻辑 76 4.4.3 其他功能 78 4.5 更多改进 80 4.6 快速阅读指南 81 第5章 多媒体 83 5.1 播放音频 83 5.2 播放视频 88 5.3 为数独游戏配上音乐 92 5.4 快速阅读指南 94 第6章 存储本地数据 95 6.1 为数独游戏添加选项 95 6.2 继续玩前一个游戏 97 6.3 记住当前位置 99 6.4 访问内部文件系统 100 6.5 访问SD卡 101 6.6 快速阅读指南 103 第三部分 高级主题 105 第7章 互联的世界 107 7.1 通过意图实现浏览 108 7.2 利用视图打开网页 111 7.3 JavaScript与Java通信 115 7.4 使用Web服务 121 7.5 快速阅读指南 131 第8章 定位与环境感知 133 8.1 位置,位置,位置 133 8.1.1 我在哪里 135 8.1.2 更新位置 137 8.1.3 模拟说明 138 8.2 充分利用传感器 139 8.2.1 了解传感器 139 8.2.2 解析传感器的读数 140 8.2.3 模拟说明 140 8.3 地图功能 141 8.3.1 嵌入MapView 142 8.3.2 准备就绪 145 8.3.3 模拟说明 146 8.4 快速阅读指南 147 第9章 SQL实战 149 9.1 SQLite简介 149 9.2 SQL基础 150 9.2.1 DDL语句 151 9.2.2 修改语句 151 9.2.3 查询语句 151 9.3 你好,数据库 152 9.3.1 使用SQliteOpenHelper 153 9.3.2 定义主程序 155 9.3.3 添加一行 156 9.3.4 运行一个查询 157 9.3.5 显示查询结果 158 9.4 数据绑定 159 9.5 使用ContentProvider 162 9.5.1 更改主程序 164 9.5.2 添加一行 164 9.5.3 运行一个查询 165 9.6 实现ContentProvider 165 9.7 快速阅读指南 166 第10章 利用OpenGL实现3D图形 169 10.1 理解3D图形 169 10.2 OpenGL简介 170 10.3 构建一个OpenGL程序 171 10.4 管理线程 173 10.5 构建一个模型 178 10.6 光线、相机…… 181 10.7 动作 183 10.8 应用纹理 184 10.9 透明效果 187 10.10 快速阅读指南 189 第四部分 附录 191 附录A Java与Android语言及其API 193 附录B 参考书目 197 译者序   2007年11月5日,谷歌公司推出了自己的开源手机平台,正式命名为Android,该平台由操作系统、间件、用户界面和应用软件组成。谷歌公司对外宣称这是首个为移动终端打造的真正开放和完整的移动平台。.   作为基于Linux的开源手机平台,Android包括一部手机工作所需的全部软件——操作系统、用户界面和应用程序,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌公司与开放手机联盟合作开发了Android,这个联盟囊括了国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家无线应用方面的领头羊。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,谷歌公司希望能建立一个标准化、开放式的移动电话软件平台,这样必将推进更好、更快的创新,为移动用户提供不可思议的丰富应用和服务。   Android作为谷歌公司企业发展战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。作为一款多方倾力打造的平台,Android具有许多优点:实际应用程序运行速度快;开发限制少,平台开放;程序多任务性能优秀,切换迅速等。当然,它也具有系统细节不完善、电源管理不好、软件的界面不太好、支持的软件厂商还比较少等缺点。但是凭借谷歌公司的强大实力以及与开放手机联盟的通力合作,我们相信Android会越来越好,一定会成为主流的手机操作系统平台。..   本书分为3个部分共10章,最后还有两个附录。第1~3章介绍Android的基础知识和基本概念;第4~6章介绍2D图形、多媒体和存储本地数据;第7~10章介绍高级主题,包括联网、定位与环境感知、数据库和3D图形;附录介绍了Android与Java之间的差别以及参考书目。   本书由张波、高朝勤、杨越和徐红霞等翻译,在翻译过程得到了人民邮电出版社图灵公司编辑的热心帮助,在此一并致谢。由于译者的知识水平有限,加之时间比较仓促,文难免会出现一些疏漏,恳请广大读者给予批评指正。...    前言   Android是一款针对手机的全新开源软件工具包,它由Google和开放手机联盟(Open Handset Alliance)共同创建。Android有望在数年内遍布于数百万部手机和其他移动设备,从而成为应用程序开发人员的主要平台。无论你是业余爱好者还是专业程序员,无论你是自己玩玩还是为了盈利,都应该了解关于Android开发的更多信息。本书将帮助你迅速入门。.   Android的特别之处   如今,市场上已经有了许多移动平台,包括Symbian、iPhone、Windows Mobile、BlackBerry、Java Mobile Edition和Linux Mobile(LiMo)等。当我向别人说起Android时,他们的第一个疑问通常是:我们为什么还需要另一个移动标准?它有何惊人之处?   虽然Android的一些特性并非首创,但它是第一个将以下特性结合在一起的环境。   基于Linux,真正开放、开源、免费的开发平台。手持设备制造商钟情于它的原因,是它们可以使用和定制该平台而不需要支付版税。开发人员喜欢它的原因,是他们知道这个平台是独立的,不受任何一家厂商的限制。   受Internet mashup思想启发的基于组件的架构。一个应用程序的组件可以在另一个应用程序用作其他用途。你甚至可以将Android内置的组件替换为自己改进后的版本。这将在移动领域掀起新一轮的创造风潮。   众多开箱即用的内置服务。基于位置的服务使用GPS或手机发射塔三角测量法,让你可根据所处位置来定制用户体验。凭借功能全面的SQL数据库,利用强大的本地存储,可以完成偶尔连接的计算和同步操作。浏览器和地图视图可以直接嵌入在应用程序。所有这些内置服务有助于提高功能的标准,同时降低开发成本。   应用程序生命周期的自动化管理。多层安全措施将程序彼此分离,这将使智能电话的系统稳定性达到前所未有的水平。最终用户不再需要担心哪些应用程序是活动的,也不必在运行新程序前先关闭原有的一些程序。Android针对低能耗、低内存的设备进行了优化,这种根本性的优化是之前的平台从未尝试过的。   高质量的图形和声音。将类似于Flash的光滑、无锯齿的2D矢量图形和动画与3D加速的OpenGL图形相结合,可实现各种新式的游戏和商业应用程序。Android内置了最常用的行业标准音频和视频格式的编解码器,这些格式包括H.264 (AVC)、MP3和AAC。   当前及未来各类硬件间的可移植性。所有程序都是用Java语言编写的,并且将由Android的Dalvik虚拟机执行,所以代码在ARM、x86和其他架构之间是可以移植的。Android提供了对各种输入方法的支持,比如说键盘、触摸屏和轨迹球。用户界面可以针对任何屏幕分辨率和屏幕方向进行定制。   Android为用户与移动应用程序交互提供了全新的方式,同时也提供了实现这些交互的底层技术保障。而Android最令人心动之处,莫过于你可以为它编写软件,本书恰好可以为你提供这方面的帮助。   本书读者对象   阅读本书唯一的前提条件,是具备对Java编程或类似面向对象语言(比如说C#)的基本理解,不需要拥有为移动设备开发软件的经验。实际上,如果你确实有这方面的经验,反倒应该忘记它们。Android是如此与众不同,因此最好不要带着成见来学习它。   本书内容   本书分为三部分。大致来说,本书采用由浅入深、循序渐进的方式讨论Android。   有些章使用了一个公共的示例:Android数独游戏。通过逐渐在游戏添加特性,你将学习Android编程的许多方面,包括用户界面、多媒体和Android生命周期。..   第一部分将首先介绍Android,内容涉及如何安装Android模拟器,如何使用IDE(Intergrated Development Environment,集成开发环境)编写第一个程序。然后,我们将介绍一些基本的概念,比如Android的生命周期。Android的编程方式可能与你之前采用的方式不同,因此一定要在继续学习之前掌握这些概念。   第二部分讨论Android的用户界面、二维图形、多媒体组件以及简单的数据访问。这些特性在大多数程序都用得到。   第三部分深入探讨Android平台。这一部分介绍外部通信、基于位置的服务、内置SQLite数据库和三维图形。   本书最后提供了一个附录,其列出了Android与Java SE(Java Standard Edition,Java标准版)之间的不同之处。 .  在线资源   本书网站http://pragprog.com/titles/eband提供了以下资源。   本书使用的所有示例程序的完整源代码;   勘误页面,列出了本书这一版的所有错误(希望它保持空白);   论坛,在此你可以直接与作者及其他Android开发人员交流(希望论坛用户越来越多)。   读者可以在自己的应用程序随意使用源代码。   关于“快速阅读指南”   虽然大多数作者都希望读者阅读他们书的每一句话,但我知道你可能不想这样做。你只希望阅读能够解决手头问题的部分,而在需要解决其他问题时,再回过头来阅读另外一些内容。因此,我在书特意注明在哪里可以找到你所关心的内容。   本书每章最后都有一个“快速阅读指南”,告诉无序阅读本书的读者接下来应该阅读哪些内容。读者还可以在其发现一些指向相关资源(如图书和在线文档)的链接,可以了解相关主题的更多信息。   好吧,你现在想了解点什么?第1章就将指导你完成第一个Android程序。第2章回过头来介绍Android的基本概念和原理。第3章探讨用户界面,也就是大多数Android程序最重要的部分。   致谢   我要感谢为本书成功出版做出贡献的许多人,包括审稿人Anthony Stevens、Gabor Paller、Fred Burke、Dianne Hackborn和Laurent Pontier,他们详尽审阅了本书;感谢编辑Susannah Pfalzer在我几乎要推迟交稿时提供的好建议并为我鼓足勇气。特别要感谢我的家人,感谢他们在我写作本书期间表现出来的极大耐心。...    媒体评论   “跟本书的2005版一样,我认为Louis的这本书写得非常好,信息量极其丰富而且实践性强。阅读过程,你会觉得是在跟作者讨论问题。我喜欢这本书,还因为它有自己的观点,而非从在线图书照搬过来……”.   —— Amazon读者评论   这本书极其出色,不仅文笔流畅、浅显易懂,内容也妙趣横生。本书既恰到好处地讲解了Android独有的特性,同时也突出了高质量编程的原则。   ——Anthony Stevens   PocketJourney创始人兼CTO,Google Android竞赛前20强   Ed Burnette的这本书虽然篇幅不长,但内容丰富,保持了Pragmatic(实用)系列图书的一贯风格。仅凭2D和3D图形方面的内容,本书就非常值得所有Android开发人员拥有。   ——Mark Murphy..   CommonsWare创始人   我还记得第一次使用Android时的情景:当时感觉它就像是一座超大型迷宫。有了这本书,入门就不会那么痛苦了。我深信,通过阅读本书,上手开发Android应用程序将是一件非常轻松愉快的事。   ——Gabor Paller   OnRelay公司高级软件架构师...
Microsoft Help Workshop——HLP文件轻松做 2002-04-14 11:56作者:陈劲宏出处:Yesky责任编辑:   由于HLP格式已经逐 渐被CHM格式所替代,所以制作HLP格式帮助文档的工具相对来说要少一些。一般有Windows Help Designer/WinHelp Edition、 helppad、Windows帮助大师helper、RTF2HLP和我们这里所介绍的Microsoft Help Workshop两种。因为有些工具软件使用时最终还是要Microsoft Help Workshop的支持,我们这里以Microsoft Help Workshop为例介绍一下它的使用方法。 Microsoft Help Workshop(以下简称为HW)是一款专业的制作HLP文件的软件。HW与HTML Help Workshop均是微软开发的制作帮助文件的软件。软件继续保持了简洁、制作方便简单的特点。我们可以到微软的网站去下载,但如果你要下载汉化版的话, 请到http://www.guxiang.com/epubcn/soft-down/hlp/p-helpworkshop403.exe去下载好 了。毕竟汉化版对于英文不太好的朋友来说,还是方便一些。需要说明的是,由于HLP格式出现较早,目前大部分的基于Web的技术都不可以使用。但是由于 HLP文件的界面整洁、对文件的压缩比率较高等特点,目前还广泛应用在很多领域当。操作步骤为:   1.运行HW以后,单击菜单“文件”|“新建”选项,选择默认的“帮助项目”选项,单击OK(好了)按钮。将工程文件保存在某一目录下并给予文件名。此时弹出主编辑窗口,如图1。   2.单击右边的“选项”按钮,在弹出的对话框我们可以设置文件的属性。包括文件标题、压缩率、排序、各种文件信息、搜索支持、宏定义、字体信息等等。 3.单击“文件”按钮,加入需要编译的RTF文件,注意软件只支持导入RTF文件,如图3-2。   4.单击“窗口”按钮,在弹出对话框设置窗口名称和窗口属性。如图3-3。   以下的按钮分别是“位图(Bitmaps…)”、“映射(Maps…)”、“别名(Alias…)”、“设置(Config…)”、“数据文件(Data Files…)”,如果读者愿意可以一一设置,这里就不详述了。 5.设置好文件信息以后,单击工具栏上的“编译”(Compile)按钮(在?按钮的左边即是),或者单击主编辑窗口右下角的“存盘并编译”(Save and Compile)按钮,此时软件会自动编译输出HLP文件并报告编译信息。 由于HLP文件所支持的格式只能是RTF,所以用户在使用HW之前必须先用WORD制作好RTF文件。 二、制作前的准备   1、下载并安装 HTML Help WorkShop   你可以在微软的站点上下载 HHW 软件,也可以直接 按此下载。   下载 HHW 软件后直接运行 htmlhelp.exe,一路“next”就可以安装成功。HHW 内还含一个图形编辑处理程序(HTML Help Image Editor),图形文件的处理也可以由它简单处理。   2、几个概念   相对来讲制作 chm 文件比较简单,大量的工作实际上是在前期制作 html 文件上,你在 chm 文件所看到和听到的,与你在浏览器的结果是一样的。你可以专门为制作 chm 文件而编制 HTML,也可以直接利用现成的小型个人主页快速做成 chm 文件以便向外发放,所不同的是,在个人网站上每个 HTML 文件之间必须由超级链接相连,而用来制作 chm 文件的 HTML 文件组里,允许有独立的 HTML 文件,用户可以通过导航嵌窗来实现对其访问。   现在让我们先了解一下几个用到的概念:   (1)项目文件[Project -- .hhp文件]:包含创建 chm 文件所需的 HTML 文件信息、目录表文件信息、索引文件信息、窗口属性、搜索、书签定义等内容。一个chm文件对应有一个项目文件。[设置方法]   (2)目录表文件[Contents -- .hhc文件]:包含目录表每个标题与 HTML 文件的关联关系。目录表就好像是一本书的目录。该文件不是必需的,如果创建的 chm 文件没有导航嵌窗,就可以不创建 .hhc 文件,这样一来 HTML 的跳转就要借助其内部的超级链接了。[创建方法]   (3)索引文件[Index -- .hhk文件]:一些专业书籍在其后面一般有个索引表,利用已经排序的字母、单词、词组来帮助读者快速定位到需要的一个或几个位置。在 chm 也可以使用索引。索引文件就包含每个关键词(keyword)与 HTML 文件的对应关系。与目录文件的标题不同的是,一个关键词可以对应多个 HTML 文件。索引文件也不是必需的,如果你的 chm 文件的信息不是太复杂,不创建也行。[创建方法]   (4)搜索:要在 chm 文件能使用全文搜索功能,只要在创建 chm 文件时打开一个开关就行了,这样只要在搜索框输入要搜索的内容,chm 就会把全部包含该内容的 HTML 文件列出来,并把搜索内容高亮显示。但是如果使用搜索功能,chm 文件会稍大一点。[设置方法]   (5)书签:在我们阅读图书时,有时会在一些地方放个书签,以便下次能快速找到作标记的地方,在 chm 同样允许你在感兴趣的地方作标记。[设置方法]   (6)窗口属性:是指 chm 文件的介面窗口。你可以自由定义窗口位置、大小、按钮、导航嵌窗、显示模式等。[设置方法]   目录、索引、搜索和书签是 chm 文件左边导航嵌窗的四个导航选项,任何一个都可以随意打开或关闭,当四个功能全部关闭时,导航嵌窗将自动消失。   因为 HHW 对chm 的控制非常灵活,所以你可以制作出功能强大的 chm 文件,也可以制作出非常简单的 chm 文件。另外在制作我们需要指明的是 HTML 文件,而图形、视频、声音等文件不需要指明位置, HHW 会根据 HTML 文件的链接找到它们。 三、制作简单的 chm 文件   我们把没有导航功能的 chm 文件称作“简单的 chm 文件”,它没有导航嵌窗,网页之间的跳转全部依靠 HTML 文件的超级链接。   下面介绍制作简单的 chm 文件(无导航功能)的步骤,这些步骤的叙述将在“制作较复杂 chm 文件”省略或简化,所以不可不读。   1、制作没有功能按钮的 chm 文件   首先你最好把所有要用到的 html 文件及有关图形、声音、视频等文件复制到一个空文件夹(当然可以包含子文件夹),并在 IE 浏览器检验通过,然后启动 HHW,在 File菜单选[New],弹出新建文件对话框。   HHW 可以新建:项目[Project]、文本文件[Text]、HTML文件、目录表文件[Table of Contents]和索引文件[Index]。我们选“项目”,弹出新建项目向导,提示你可以把以前的 WinHelp 项目文件转换为 HHW 项目文件。我们直接按“下一步”。   在这里指定你欲创建的项目的位置和文件名,我们按[Browse],选择我们的 HTML 文件所在目录,并定义一个项目文件名如 test1(程序自动添加 .hhp 后缀),按“下一步”。在出现的对话框指定已经存在的文件。因为我们目前只有 HTML 文件而没有目录文件(.hhc)和索引文件(.hhk),所以只在[HTML files]前面打上小勾。按“下一步”,进入添加 HTML 文件的窗口,按[Add]按钮,把有关的标题 HTML 文件全部选加入(可以一次全部选加入)。按“完成”后,程序就会进入项目编辑界面——也就是 HHW 的主界面,参考图(2)。   首先我们给将来的 chm 文件的窗口标题条指定与 chm 内容相符的文字(如果不指定,则软件默认为“帮助”):按[Project]项目选项左边第三个按钮“新建/编辑窗口显示风格”,在弹出的窗口类型随便输入一个名字如“12”,按“OK”后就会进入“窗口属性”定义对话框。在[General]选项卡的[Title bar text]输入标题条文字“test1--最简单的 chm 文件”如图(3)。   因为我们不需要导航嵌窗及功能按钮部分,所以再确认一下在导航嵌窗[Navigation Pane]不要选[Window with navigation pane, topic pane, and button bar],如图(4)。按确定退回 HHW 主界面。   现在按[Compiled HTML file]编译按钮或者通过在[File]菜单选择[Compile]进行编译,chm 文件就会在指定位置创建完成。这时你可以运行一下新创建的 chm 文件,不难发现,chm 已经包含了所有用到的 HTML 文件、图形文件等,相当于是把全部网页文件打包到 chm 文件了。如图(5)就是最简单的chm文件显示效果。很简单吧?   3、制作包含功能按钮的 chm 文件   与上面操作相同,不同的是在进行到“窗口属性”定义操作时,在[General]指定 chm 文件标题栏的文字“test2---带功能按钮的 chm 文件”,在[Button]指定欲在 chm 文件的按钮区显示的按钮如图(6)。   在[Navigation Pane]导航嵌窗设置里选显示导航嵌窗(与上面不一样),如图(7)。   其他选项卡我们使用默认值(后面在介绍)。设置好后,按编译按钮,生成的 chm 文件如图(8)所示。因为我们没有生成目录表文件和索引文件,所以在 chm 导航窗口不会显示出来。   上面制作的 chm 文件比较简单,但有时也很实用。其页面跳转必须借助 HTML 内部的超级链接和功能按钮,对于比较简单的几个 HTML 文件也已经足够了。如果 HTML 比较复杂,也可以使用分帧处理,同样会作出很不错的 chm 文件,就像我们进入一些有分帧页面的网站时的操作方式一样。如图(9)。Top 4 楼rivershan(阿门)回复于 2002-07-31 21:36:25 得分 0 四、制作较复杂的chm文件   在 windows98 我们常见的 chm 文件多数具有目录及索引,有的还有搜索和书签,这在使用 chm 文件的过程会比较方便。下面我们就来制作带目录、索引、搜索、书签的 chm 文件。在这里我还将介绍一些常用的选项功能的解释。   此类 chm 文件一般包含有多个 HTML 文件。与前面一样,你需要先把网页文件做好,放到硬盘一个文件夹,如 test3。进入 HHW 后选新建项目,并指定新建项目文件的位置和文件名(如test3),在已经存在的文件目录所有用到的HTML文件后,进入 HHW 主界面。   1、目录文件的创建   按[Contents]选项卡,选择[Create a new contents file]创建新的目录文件,并命名它为 contents.hhc。然后进入目录表编辑窗口,如图(10)。   在目录编辑窗口左侧,从上到下排列有11个按钮,前5个分别是:目录表属性设置、插入标题、插入页面、编辑所选标题或页面属性、删除标题或页面,下面4个箭头用来调整所选标题或页面的位置及从属关系,最后两个分别是显示 HTML 文件源码和保存文件。   插入一个标题:按[Insert a heading]按钮,弹出[Table of Contents Entry]对话框,如图(11).   在[Entry title]输入标题内容,如“简介”。按[Add],在弹出的[Path or URL]对话框选择Title为“简介”对应的 HTML 文件,如图(12),按返回后一个标题就添加完成了。这里你也可以按图(12)下面的[Browse...]指定前面没有选择加入的HTML 文件,或者直接在[File or URL:]输入。   在标题“简介”下面再添加一个标题如“准备”:按[Insert a heading]按钮,会弹出一个询问是否在所选标题上面插入标题的对话框,我们按“否”,在[Entry title]输入页面标题“准备”,并按[Add]指定对应的 HTML 文件,返回后就又加了一个标题。   在标题“准备”下面插入一个页面(或者是子标题)如“下载”:按[Insert a page]按钮,在[Entry title]输入“下载”,并按[Add]指定对应的 HTML 文件,返回。   同样方法我们可以加入许多标题、子标题、页面,并可以利用那4个箭头按钮来调整标题或页面的位置及从属关系。HHW 最多支持 9 个级别深度。   修改标题及改变标题图标的方法:选标题,按[Edit selection]按钮,可以对其重新指定所关联的 HTML 文件,在[Advanced]通过下面的[Image index]改变标题的图标。如图(13)。   设置目录属性:按[Contents properties]按钮以后我们可以改变目录表显示样式等,使用默认设置就行。   所有标题创建完成后,按左下角的[Save File]按钮,一个目录表文件就创建完成了。如图(14)。   2、索引文件的创建   与目录文件的创建非常类似,只是索引文件需要指定关键词与 HTML 文件的关联关系。请参考目录文件的创建部分,不再赘述。   3、项目文件的设置   按[Project]选项卡,进入项目编辑窗口(即默认的HHW介面)。其左边排列有7个按钮,分别是:项目属性设置、增加或删除 HTML 文件、增加或改变窗口属性定义、API信息、显示 HTML 源码、保存文件、保存文件并编译。   我们按[Change project options]按钮对项目进行设置:通常需要作的是,在[General]选项卡的[Default file]指定封面页,也就是打开 chm 文件时默认显示的 HTML 文件。封面页可以是目录表的某个标题所对应的 HTML 文件,也可以是在目录表不存在的专门用来作封面的 HTML 文件。如图(15)。   如果想在 chm 文件具备全文搜索功能,还需要在[Compiler]选项卡[Compile full-text search information],如图(16)。   其他内容一般可以不去理会。   4、窗口显示风格的设置   按第三个按钮[Add/Modify windows defunitions]设置窗口属性:这里的设置将决定 chm 文件的显示风格。在弹出的对话框我们给窗口风格随便指定一个名字(如12),按 OK 就进入了[Windows Types]对话框。常用的几个设置项为:   (1)General    [Title bar text]输入你欲在 chm 文件的标题栏显示的文字,如“轻松制作 chm 文件”。参考图(3)。   (2)Buttons    选择欲在 chm 出现的按钮。参考图(6)。   (3)Position    [Save user defined windows position after first use]如果选,则系统会保存 chm 使用者最后一次退出 chm 文件时窗口的位置、大小等,下次再打开 chm 时,系统会恢复这些属性。如果不选,则每次都以你或默认的窗口大小、位置打开 chm 文件。    Left和Top是指定打开chm时,窗口左上角的位置,Width和Height则指定窗口的宽和高。如图(17)。   (4)Files    如果选择了显示Home、Jump按钮,就在这里输入对应的 URL 超链接地址,比如你的个人主页地址。   (5)Navigation Pane    [Windows with navigation pane,topic pane,andbutton]如果不选,则chm窗口将没有导航嵌窗和按钮。    [Navigation pane width]指定导航嵌窗的宽度。    [Open with navigation pane closed]如果选,在打开chm文件时导航嵌窗默认为关闭状态。    [Auto sync]如果选,chm 的目录标题与 HTML 文件内容将自动保持同步。    [Automatically show/hide navigation pane]如果选,在 chm 为活动(当前)窗口时,导航嵌窗显示,当不是活动窗口时,导航嵌窗自动隐藏。    [Default tab]指定导航嵌窗默认的显示项。这里可以是目录、索引、搜索、书签。    [Search tab]如果选,在chm将具备全文搜索功能,而[Advanced]可以让 chm 具有高级搜索的功能(使用and,or,not,near)。    [Favorites tab]如果选,chm文件就会具有书签功能。如图(18)。   另外两个选项卡可以不用管它,使用HHW的默认设置就行。   5、编译成chm文件   经过上面的设置,我们就可以编译了。按工具栏的编译按钮,或者直接按项目窗口左下方的[Save all file and Compile]按钮,几秒钟以后 chm 文件就被编译完成。然后用鼠标双击此 chm 文件就可以看到你的作品了,如果发现问题,还可以返回 HHW 里进行修改调整。参考图(1)。 HTML Help Workshop   微软的HTML Help Workshop 制作CHM文件的工具。   我们可以使用微软的HTMLHelpWorkshop(以下简称HHW)或者“国华软件工作室”的eTextWizard(电子文档处理器,以下简称EW)。HHW在VB、VC等开发工具的CD都有,也可以到微软的站点去下载最新版本,华军软件园(http://www.newhua.com)还有汉化的版本。EW是国人开发的软件,使用上要方便一些,下载地址为http://chmbook.363.net,在此我们以HHW为例。参考下载资料http://hi.baidu.com/e000/blog/item/51a143a96c65fafc1f17a24d.html   假设我们制作好的主页放在C:est目录,其有一个index.html,通过它可以链接到所有其他的文件。   1.打开HTML Help Workshop,单击“File→New”菜单(或者单击工具栏第一个按钮),出现“New”对话框,选择其的“Project”后,按“OK”,创建一个工程。   2.这一步的对话框提供了从*.hlp到*.chm文件的转换,在此我们不需要,直接按“下一步”。   3.这一步的对话框要求指定工程的位置。单击“Browse”,进入C:est目录,并在文件名键入“test”,这时文本框应出现“C:est est.hlp”,然后按“下一步”。   4.这一步要求选择你已为工程创建的文件类型,在此我们选择第三个“HTML files(.htm)”。   5.现在需要添加我们制作好的HTML文件,按“Add”,选择“C:est index.html”,将它添加到列表框。说明一下,只要被index.html文件直接或间接链接到的文件,都会包含进去,因此不是将所有的文件添加进去。然后单击“完成”即可。   6.单击“File→Compile…”(或工具栏第三个按钮),出现“Create a compiled file”对话框,直接单击“Compile”。   7.测试   在资源管理器双击生成的C:estest.chm,在页面单击右键,在菜单选择“属性”,在“属性”对话框复制其的“地址”(应该为mk:@MSITStore:C:est est.chm::/index.html)。将上面的地址粘贴到浏览器的地址栏,如果正确,按回车可以在浏览器看到正确的页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值