首先 在Web服务器端安装数据库引擎dbe 并设置好数据库别名 yh 指向一个包含用户名和用户密码的数据库文件user db 接着建立两个HTML文件 名字分别为 dl qd 放在Web服务器的缺省目录兆键下(如 c \inetpub\root)
dl 的内容如下
<><head><title>发送邮件系统</title></head><body><h >发送邮件系统</h ><p>请输入您的用户名及旦猜羡密码</p><form method= post action= /scripts/SendMail ><p>用户名<input type= text length= name= username >密码 <input type= password length= name= password ></p><p><input type= submit value= 确定 ><input type= reset value= 清除 ></p></form></body></> qd 文件内容如下模拍
<><head><title>填表</title></head><body><form method= post action= feedback ><p>请填入接收邮件地址:toaddress:<input type= text length= name= toaddress ></p><p>请填入主题<input type= text length= name= subject ></p><p>内容 </p><p><input type= textarea length= width= name= body ></p><p><input type= submit value= 确定 ><input type= reset value= 清除 ></p></form ></body ></ > 在Delphi中新建一个基于ISAPI的Web Server Application 手动增加nm *** tp query pageproducer 其中 pageproducer 的file属性为c:\inetpub\ root\qd nm *** tp 的host(发送邮件服务器的地址)在这里为 *** tp netease port: 全局变量为 sername:stringflag:boolean
增加一个路径为feedback的动作项 其代码如下
Var Count:integerS:string BeginQuery closeQuery sql clearS:= select count(username) from user dbswheresusername= S:=s+request contentfields values[ username ]+ S:=s+ and password= S:=s+request contentfields values[ psword ]+ Query sql add(S)Query openIf query count= then response content:= <><head><title></title><body>用户名 密码不正确 请重新输入</body></>Else Username:=request contentfields values[ username ]Response content:=pageproducer contentEnd 再增加一个路径为Sendmail的动作项 它的程序代码如下
Var body:stringBeginFlag:=truebody:=request contentfields values[ body ]Pageproducer doc clearPageproducer doc add( <><body >)Nm *** tp postmessage clearNm *** tp postmessage fromaddress:=username+ @netease Nm *** tp postmessage from:=usernameNm *** tp postmessage body add(body)Nm *** tp postmessage toaddress add(request contentfields values[ toaddress ])Nm *** tp postmessage subject:=request contentfields values[ subject ] Nm *** tp connectIf flag=true then beginNm *** tp sendmailnm *** tp disconntentendpageproducer doc add( </body></>)response content:=pageproducer contentend 增加nm *** tp 的OnConnect事件添加如下代码
lishixinzhi/Article/program/Delphi/201311/24974
Help文件的建立
Help文件是Micosoft Windows 以上的版本提供的超文本帮助文件 利用这种超文本 用户可非常方樱空便地使用帮助文件系统 帮助文件是以主题为主线进行编写的 一个主题可以跳转至相关的主题 也可按关键字进行主题查询 帮助文件与软件开发工具相结合 可实现应用程序的 上下文敏感 而且帮助系统自动装入 上下文敏感 是指根据程序当前执行代码来显示Help文件的相应部分
Windows提供的很多应用程序都有帮助系统 读者可以从这些系统中了解应用程序的许多信息
建立Help文件所需的工具和文件
程序员可为自己的应用程序建立帮助文件系统 但建立最基本的帮助系统 必须有以下文件
WinHelp 应用程序 ( WinHelp exe) 运行帮助系统实际上是运行用帮助源文件的
WindHelp程序 帮助文件只有通过WinHelp文件才能运行
能创建主题的字处理器 这种处理器能以RTF格式保存文件 能创建$ # K +脚标 RTF(Rich Text Format)格式是一个能记录各种文本特征的文件格式 这些特征包括字体大小 线型风格等 Microsoft Word 处理器能满足以上要求
一个能以ASCII格式保存文件的字处理器或编辑器 这是为了创建Help工程文件( HPJ文件)
帮助文件编译器(HCP EXE或HC EXE) 两种编译器均能编译在Windows 环境中使用的帮助文件 但不能编译Windows 环境下的帮助文件 HCP EXE是保护模式的编译器 能更好地使用内存空脊帆瞎间 要在Windows的Dos窗口中使用HCP EXE编译器
帮助编译器所需的错误信息源文件(HCP ERR或HC ERR) 如果帮助文件在编译过程中出现错误 WinHelp运行时将提示有关的错误信息 而这些信息保存在HCP ERR或HC ERR文件中
以下工具能实现帮助系统的高级特征
热点(Hotspot)编辑器(SHED EXE)
热点编辑器能创建分段超图像文件( SHG) 这种文件包括一些分成多个热点的图像 当用户单击图像 将d出一个窗口或跳转至另一主题
多分辨率位图编译器(MRBE EXE)
这种编译器能将具备多种分辨率的位图结合到一个文件中 以供WinHelp 使用 WinHelp检查显示器的分辨率 然后以相应的分辨率加以显示
图像编辑器 它能以位图形式保存图像文件 使用图像编辑器创建说明和自定义按钮
绘图软件 用以创建除了位图之外的元文件(WMF)
程序员可以直接把图像插入文本中 也可以用Windows剪贴板把图像粘贴至文本中
Help文件的创建
下面介绍最简单 最直接的创建Help文件的方法 假设在Word中创建主题
创建Help文件分以下 个步骤
建立组成帮助文件的主题 并以RTF格式保存
建立内容主题(Content Topic) 并以RTF格式保存
建立帮助工程文件( HPJ)以文本格式保存
将工程文件编译成帮助源文件( HLP)
建立主题
一个简单的帮助主题包括主题题目(Title) 主题文本(Text) 脚标 主题内容 全局轿盯查询 打印 主题最好是带有题目 题目写在主题的第一行 用不同的字体大小 颜色以示区别
写完题目后 可输入主题的文本 输入时不用担心每行的宽度 编译好的帮助文件会根据窗口大小自动确定行宽 在主题的最后插入一个分页符 WinHelp把每页视为一个单独主题
书写主题文本时应注意尽可能地把文本写成小段落列表 这样能方便阅读 同时要控制主题长度 这样用户不需要使用滚动条来阅读文本
在主题中应加入一些脚标 WinHelp 使用这些脚标辨识主题并提供一些导向控制 (Novigation Control) 四种典型脚标如表 所示
表 脚标以及用途
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
符号 适用于 用 途
──────────────────────────────────
# 内容字符串 唯一辨识主题
$ 标题 在搜询对话框和搜询历史列表框中显示主题
K 关键字(段) 出在搜询对话框中
+ 浏览顺序 用户使用时的浏览顺序
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
lishixinzhi/Article/program/Delphi/201311/25202
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)