If HttpServer.IsRunning Then
HttpServer.close()
End If
HttpServer.Prefixes.Add("http://*:888/")
HttpServer.Start()
2、IP地址:测试阶段用本机127.0.0.1,发布后公司服务器只有一个内网IP和一个外网IP,帮助文档不分测试和发布,直接建议用上述的“*”显然是不合适的。
3、IP端口:现在的用户连两个IP地址都记不住,还能记更多的端口吗?一个项目应该只用一个好记的端口,剩下的交由网页来处理,帮助文档有些啰嗦了。
4、事件头:帮助文档的每个例子都重复事件头,太啰嗦了。只需提醒用户实际操作时不要删除以前的事件头就行了。
5、css:只在介绍HTML时有一处代码“class='rd'”说明css如何用于显示文本前景,连显示背景都不顺便举例(不需增加代码,仅需修改css代码的前景色color为背景色background-color即可)。比起前4项,对css的功能和用法介绍确实算抠门的。
6、独占编辑:这是非常重要的功能。既然说Http客户端比OpenQQ简单,代码肯定也不多,为何不贴出呢?我想肯定不是怕用户说啰嗦,而是舍不得吧?用户能忍受反复出现的事件头,就不会说独占编辑的代码啰嗦,只是求之不得。
7、窗口:虽说移动端也是窗口,但与PC端的窗口不是同一个概念、更不是一个档次,差远了。所以,用户写代码的时候要考虑的问题更多,因而,帮助文档是否全面就非常重要。
8、输入内容获取:这是一个非常重要的功能。PC端无论是表还是窗口,不管保存与否,都能获取刚刚输入的内容,便于验证输入或用于动态列表。但移动端竟然没有现成的例子,只能靠用户自己去啃帮助,如果不得要领就不是事倍功半,而是徒劳无功。反正我到现在还没弄清楚。
9、获取已有记录并进行复核、审核、审批:帮助文档只介绍怎么新增记录进行输入、提交、显示提交的记录,而没有选择已有记录进行复核、审核、审批,背离了移动开发的目的。
10、动态列表选项:帮助目录中忽略了可用的PC端动态列表选项:DataTables("汽车").GetComboListString("品牌","国家='" & e.PostValues("国家") & "'"),这是在例子中发现的。
11、默认网页:多数例子没有采用默认网页,要求IP地址中附加输入test.htm等,帮助文档还专门开辟一节(“请输入正确网址”)予以强调(严格说是方法和技巧上的误导),与数据管理的目的之一——尽量简化、减少用户的输入——相悖。也就是说,用户只要输入IP地址和端口号就应该直接进入登录页面,而不必再输入logon.htm。在使用范例时,也只需输入127.0.0.1就直接运行。不管进入哪个网站、哪个页面,除了对已知的进行复制、粘贴,谁手工输入过页面名称?
12、奇怪的事件头:以下是“我想显示一个图片”中的代码,按正常的逻辑这个图片是显示不了的,但实际上if—else—endif中的两段代码都执行了,而帮助文档没做任何解释(是否每次请求都要从事件头开始执行吗?流量、效率、手机费电情况如何?辛辛苦苦开发的软件是否会因流量大、效率低、费电大而遭到抵触?),相信小白都会看得云里雾里。
Dim fl As String = "d:\web\" & e.path ’执行两次
MessageBox.Show(e.path) '第一次是空白,第二次是abc.jpg
If filesys.FileExists(fl) '如果是请求一个已经存在的文件
MessageBox.Show(2) ‘后显示2
MessageBox.Show(e.path) 'abc.jpg
Dim idx As Integer = fl.LastIndexOf(".")
Dim ext As String = fl.SubString(idx)
Select Case ext
Case ".jpg",".gif",".png",".bmp",".wmf" '只允许请求图片文件
e.WriteFile(fl)
End Select
Else
MessageBox.Show(1) '先显示1
Dim sb As New StringBuilder
sb.Appendline("我想显示一个图片<br/><br/>")
sb.AppendLine("<img src='abc.jpg'>")
e.WriteString(sb.ToString())
End If
13、(分享)错误信息“对于造型说明无效的字符值”的产生原因源于帮助文档的遗漏。先看网上审批中,编辑(或称审批,或称修改,但不是增加)一条记录时必须用到的下列代码(对于C/S是不会有这个问题的): With .AddInput("审核日期","审核日期","datetime-local")
1 If dr.Isnull("审核日期")=False Then
.value= Format(dr("审核日期"),"yyyy-MM-ddTHH:mm")
2 End If
.readonly=True
End With
如果“审核日期”为空,且没有上述1、2两条语句,则在执行保存记录时会出现该错误。由于帮助文档定位错误,没有网上审批的例子,且例子中的所有日期都不为空,不会遇到该错误。所以,我盲目照帮助文档省略if语句,直接引用.value,浪费了好几个小时。但发现当所有日期都不为空时(色版主认为是使用SQLFind造成的,经验证用find确实没问题),就不会出现该错误。
14、数值字段不能采用千分位格式,否则什么都不显示。但整个帮助文档只字不提千分位的事,format的例子也只对小数。
.AddInput("已签合同额","已签合同额","number").Value = format(dr("已签合同额"),"#,###")'因使用千分位不会显示数据
.AddInput("未签合同额","未签合同额","number").Value =dr("未签合同额") '不使用千分位会显示数据