1. Factory(工厂)模式

2. Singleton(单例)模式

3. Decorator(装饰)模式

4. Adapter(适配器)模式

5. Composite(组合)模式

1. Command(命令)模式

2. Observer(观察者)模式

3. Template(模板)模式

4. State(状态)模式

5. Strategy(策略)模式

6. MVC模式

1. Factory(工厂)模式

2. Singleton(单例)模式

3. Decorator(装饰)模式

4. Adapter(适配器)模式

5. Composite(组合)模式

1. Command(命令)模式

2. Observer(观察者)模式

3. Template(模板)模式

4. State(状态)模式

5. Strategy(策略)模式

6. MVC模式

EasyMF 简易J2ME开发框架
目标: 设计一个简单,稳定,可快速开发的J2ME开发框架。
一.说明:
1. 此框架的意图是解决手机软件开发中常遇到,并且可以通用话的问题。
2. 旨在提高无线应用程序的开发效率
二.EasyMF 能做什么
1. 简化UI设计
2. RMS的简化操作
3. 简单的日志框架
4. 简单的联网框架
5. 通用工具的设计
6. 一些图形相关的特效
三.EasyMF 的功能列表
1. UI 框架
2. 日志框架
3. RMS框架
4. 通用工具框架
5. 图形相关
6. 一堆有用的DEMO
官方主页:http://www.3geye.net
官方论坛:http://www.3geye.net/bbs
官方博客:http://wuhua.3geye.net
到这里提交bugfix:http://www.3geye.net/bbs/forum-56-1.html
到这里提交需求:http://www.3geye.net/bbs/forum-56-1.html
查看相关相关案例:http://www.3geye.net/bbs/forum-56-1.html
j4me
J4ME is a library for quickly building professional J2ME applications.
J4ME 是 一个开始开发专业的J2ME应用程序类库
最新版本是1.03. 在2008 5月更新的。最近一直没有更新
项目主页:http://code.google.com/p/j4me/
相关讨论:http://wuhua.3geye.net
贴图
采用EasyMF设计的产品有 GTalk 用EasyMF实现
http://code.google.com/p/gtalk-easymf/
Micro Window Toolkit(MWT)是一个用于开发J2ME 用户界面(UI)的工具包。它具有友好,强大,快速,开源 等特性。因为它的"灵感"来自 AWT,Swing和SWT。可以使用bitmap fonts等来自定义组件。它专门为嵌入式开发而设计和优化。基于LGPL发布。
项目地址:http://j2me-mwt.sourceforge.net/
| 1 – J2ME Desktop: | |||
|
|
|
|
| Download theJad andJar or view it withJava WebStart | |||
| 2 – ELP ~ RPG: | |||
|
|
|
|
| Download theJad andJar or view it withJava WebStart | |||
| 3 – Progress Bar: | |||
|
|
|
|
| Download theJad andJar or view it withJava WebStart | |||
| 4 – Messenger Interface: | |||
|
|
|
|
| Download theJad andJar or view it withJava WebStart | |||
J4ME 是一个J2ME应用程序开发包。它包括一个UI框架,一个日记框架用于帮助调试因不同品牌手机 的差异而产生的问题,一个蓝牙GPS框架让你能够利 用JSR-179 Location API接口从蓝牙GPS设备获取定位信息和一个Java类包其中包含了J2ME中没有的方法比如双精度型数字的计算等。
BaseMovil是一个J2ME应用程序开发框架。它由多个比较独立类库组成包括:
OpenBaseMovil-core:整个框架的底层基础 类库,它主要提供国际化 支持、任务控制、加密、压缩、浮点支持、properties文件支持、一个MVC框架、一个事件框架。
OpenBaseMovil-db:一个关系型数据库 引擎,其中一个表格存储的数据可上千。
OpenBaseMovil-script:一个脚本 引擎。
OpenBaseMovil-ui:一个UI工具包。
这个几类库都能够完全集成在一起使用。
http://www.openbasemovil.org/
一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行
它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏。
这个脚本有点像BASIC
这东西不错,是一个开源的脚本引擎,大家可以学习里面的思想
里面其中带了一个例子,是3子棋。感觉挺不错的。这东西在SF也挺活跃的。
http://sourceforge.net/projects/j2megamescript/
Y!Go这是一个Yahoo Messenger J2ME客户端。
EBookME是一个用于把导入的文本文件 (HTML,DOC,PDF,…)生成J2ME电子书籍格式(JAD,JAR)的Java程序。生成的电子书 籍可以在支持MIDP1.0的手机上阅读。
http://ebookme.sourceforge.net/
jMobileCore 包是一个强大的工具用来开发J2ME应用程序.jMobileCore提供支持开发简洁的,基于Canvas的图形 用户接口,快速地数据访问,可靠地通 信,简化多线程midlet应用程序。jMobileCore包可工作在任何支持J2ME (MIDP1.0 和CLDC1.0)的移动电话与PDA设备.
http://jmobilecore.sourceforge.net/
还有超级经典的J2ME-POLISH
Get an overview of Flash components, from setting up layers and frames in a component movie clip symbol to implementing Live Preview, dispatching events, and deploying a component to the Components panel.
范例程序下载:http://www.cnblogs.com/Files/gpcuster/ANN3.rar
如果您有疑问,可以先参考 FAQ
如果您未找到满意的答案,可以在下面留言:)
0 目录
人工神经网络入门(1) —— 单层人工神经网络应用示
人工神经网络入门(2) —— 人工神经基本概念介绍
人工神经网络入门(3) —— 多层人工神经网络应用示例
人工神经网络入门(4) —— AForge.Net简介
1 介绍
这篇文章中,我们将介绍一个用C#实现的框架AForge,利用这个框架,您可以方便地操作人工网络,计算机视觉,机器学习,图像处理,遗传算法等
2 神经网络设计部分框架介绍
在这里,我要强调:这段代码写的非常漂亮,一种代码如诗的美感,让我神往。
这段代码位于AForge.Neuro名字空间中。
这个库文件由6个主要部分组成:
这些类的关系可以用下图来表示:

这个文件包含下面2中神经网络体系:
同时提供以下5种学习算法用于解决不同的问题:
3 代码示例
范例程序下载:http://www.cnblogs.com/Files/gpcuster/ANN3.rar
该程序的使用说明和人工神经网络入门(1) —— 单层人工神经网络应用示例类似,可以参考http://www.cnblogs.com/gpcuster/archive/2008/05/22/1204456.html。但是是使用的AForge.Net中的框架实现。
拿求AND运算的例子来说,代码如下:
ActivationNetwork network = new ActivationNetwork(new ThresholdFunction(), 2, 1);
PerceptronLearning teacher = new PerceptronLearning(network);
double[][] input = new double[4][];
double[][] output = new double[4][];
input[0] = new double[] { 0, 0 };
output[0] = new double[] { 0 };
input[1] = new double[] { 0, 1 };
output[1] = new double[] { 0 };
input[2] = new double[] { 1, 0 };
output[2] = new double[] { 0 };
input[3] = new double[] { 1, 1 };
output[3] = new double[] { 1 };
double error = 1.0;
while (error > 0.001)
{
error = teacher.RunEpoch(input, output);
}4 进一步学习
您可以查看类库的源代码,同时参考这篇文章《Neural Network On C#》
5 预告
我们将利用本章介绍的框架解决一个实际的问题:)
6 总结
在这一章中,我们介绍了一个ANN库,通过它,你可以非常方便地建立你自己的神经网络,但是前提你得了解解决问题该需要使用哪种类型的网络,同时配合使用什么样的学习算法。
范例程序下载:http://www.cnblogs.com/Files/gpcuster/ANN2.rar
如果您有疑问,可以先参考 FAQ
如果您未找到满意的答案,可以在下面留言:)
1 介绍
求异或(XOR)操作是计算机中常用到的一种计算:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
我们可以使用第一篇文章中的代码来计算这个结果http://www.cnblogs.com/Files/gpcuster/ANN1.rar(需要修改其中的训练集),可以发现学习后的结果不能让我们满意,原因是单层神经网络学习能力有限,需要使用更加复杂的网络来学习。
在这一篇文章中,我们将使用一个新的多层神经网络来学习。
2 范例程序的使用和说明
该程序的使用说明和人工神经网络入门(1) —— 单层人工神经网络应用示例类似,可以参考http://www.cnblogs.com/gpcuster/archive/2008/05/22/1204456.html
但是多了一个计算操作(XOR),如图:

3 网络结构
该多层神经网络在单层神经网络的基础上增加了一层“隐藏层”(Hidden)

4 学习算法
基本的原理就是用实际网络计算出来的值和期望的值进行比较,然后来调整自己的权值。
/// <summary>
/// 根据期望的输出和实际的输出来调整权值
/// </summary>
/// <param name="targOut">期望的输出</param>
private void train_network(double[] outputs)
{
//get momentum values (delta values from last pass)
double[] delta_hidden = new double[_nn.NumberOfHidden + 1];
double[] delta_outputs = new double[_nn.NumberOfOutputs];
// Get the delta value for the output layer
for (int i = 0; i < _nn.NumberOfOutputs; i++)
{
delta_outputs[i] =
_nn.Outputs[i] * (1.0 – _nn.Outputs[i]) * (outputs[i] – _nn.Outputs[i]);
}
// Get the delta value for the hidden layer
for (int i = 0; i < _nn.NumberOfHidden + 1; i++)
{
double error = 0.0;
for (int j = 0; j < _nn.NumberOfOutputs; j++)
{
error += _nn.HiddenToOutputWeights[i, j] * delta_outputs[j];
}
delta_hidden[i] = _nn.Hidden[i] * (1.0 – _nn.Hidden[i]) * error;
}
// Now update the weights between hidden & output layer
for (int i = 0; i < _nn.NumberOfOutputs; i++)
{
for (int j = 0; j < _nn.NumberOfHidden + 1; j++)
{
//use momentum (delta values from last pass),
//to ensure moved in correct direction
_nn.HiddenToOutputWeights[j, i] += _nn.LearningRate * delta_outputs[i] * _nn.Hidden[j];
}
}
// Now update the weights between input & hidden layer
for (int i = 0; i < _nn.NumberOfHidden; i++)
{
for (int j = 0; j < _nn.NumberOfInputs + 1; j++)
{
//use momentum (delta values from last pass),
//to ensure moved in correct direction
_nn.InputToHiddenWeights[j, i] += _nn.LearningRate * delta_hidden[i] * _nn.Inputs[j];
}
}
}5 预告
在下一篇文章中,我将介绍一个C#实现的ANN框架:)
6 总结
这个多层神经网络也可以准确地计算AND和OR运算,但是精确度却比不上第一个例子。
不同的网络对不同的情况都有不同的适应程度,这就需要深层的理论支持了,也不是我能为大家解决的啦:(
1.需要先本地配置dcomcnfg中的dcom组件execl应用程序权限对everyone开放
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<%
Set xlApplication = Server.CreateObject("Excel.Application") '调用excel对象
xlApplication.Visible = False '无需打开excel
xlApplication.SheetsInNewWorkbook=1 '指定excel中表的数量
xlApplication.Workbooks.Add '添加工作簿
Set xlWorksheet = xlApplication.Worksheets(1) '生成第1个工作表的子对象
xlWorksheet.name="周报表" '指定工作表名称
'指定列的宽度以及对齐方式
xlApplication.ActiveSheet.Columns(1).ColumnWidth=15
xlApplication.ActiveSheet.Columns(1).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(2).ColumnWidth=20
xlApplication.ActiveSheet.Columns(2).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(3).ColumnWidth=25
xlApplication.ActiveSheet.Columns(3).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(4).ColumnWidth=20
xlApplication.ActiveSheet.Columns(4).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(5).ColumnWidth=15
xlApplication.ActiveSheet.Columns(5).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(6).ColumnWidth=25
xlApplication.ActiveSheet.Columns(6).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(7).ColumnWidth=45
xlApplication.ActiveSheet.Columns(7).HorizontalAlignment=3
xlApplication.ActiveSheet.Columns(8).ColumnWidth=20
xlApplication.ActiveSheet.Columns(8).HorizontalAlignment=3
'指定列的高度以及特定列
xlApplication.ActiveSheet.Rows.RowHeight = 20
xlApplication.ActiveSheet.Rows(5).RowHeight = 35
xlApplication.ActiveSheet.Columns("A:H").VerticalAlignment=2
xlWorksheet.Range(xlWorksheet.Cells(2,1), xlWorksheet.Cells(2,8)).MergeCells =True '合并列
xlWorksheet.Range("A2").value="出入境动植物及其产品疫情和有害有毒物质信息统计周报表"
xlWorksheet.Range("A2").font.Size=14
xlWorksheet.Range("A2").font.bold=true
xlWorksheet.Range(xlWorksheet.Cells(4,1), xlWorksheet.Cells(4,3)).MergeCells =True
xlWorksheet.Range(xlWorksheet.Cells(4,6), xlWorksheet.Cells(4,8)).MergeCells =True
xlWorksheet.Range("A4").HorizontalAlignment=1
xlWorksheet.Range("A4").VerticalAlignment=2
xlWorksheet.Range("F4").HorizontalAlignment=1
xlWorksheet.Range("F4").VerticalAlignment=2
xlWorksheet.Range("A4").value="填报单位:"
xlWorksheet.Range("F4").value="统计时间: "&year(request("begintime"))&"年 "&month(request("begintime"))&"月 "&day(request("begintime"))&"日 至 "&year(request("endtime"))&"年 "&month(request("endtime"))&"月 "&day(request("endtime"))&"日 "
xlWorksheet.Cells(5,1).value = "截获口岸"
xlWorksheet.Cells(5,2).value = "进出口"
xlWorksheet.Cells(5,3).value = "品 名"
xlWorksheet.Cells(5,4).value = "数/单位"
xlWorksheet.Cells(5,5).value = "批次"
xlWorksheet.Cells(5,6).value = "来源国(产地)"
xlWorksheet.Cells(5,7).value = "检疫情况"
xlWorksheet.Cells(5,8).value = "处理情况"
xlWorksheet.Range("A5:H8").Borders.Linestyle=1
'xlApplication.ActiveSheet.Rows(i).RowHeight = 30
'xlWorksheet.Range(xlWorksheet.Cells(i,3), xlWorksheet.Cells(i,4)).MergeCells =True
'xlWorksheet.Range(xlWorksheet.Cells(i,7), xlWorksheet.Cells(i,8)).MergeCells =True
Set fs = CreateObject("Scripting.FileSystemObject")
tfile=Server.MapPath("test.xls")
if fs.FileExists(tfile) then
Set f = fs.GetFile(tfile)
f.delete true
Set f = nothing
end if
Set fs = nothing
xlWorksheet.SaveAs tfile '保存文件
xlApplication.Quit '释放对象
Set xlWorksheet = Nothing
Set xlApplication = Nothing
%>
<%
Function downLoadFile(FileSpec)
on error resume next
Const ForReading=1
Const TristateTrue=-1
Const FILE_TRANSFER_SIZE=1024 '16384
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
If objFileSystem.FileExists(fileSpec)=false Then
response.write("<Script>alert(""请求文件不存在!"");history.back();</script>")
Exit Function
End If
FileName = objFileSystem.GetFileName(FileSpec)
send=0
TransferFile = True
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile(FileSpec)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)
Response.AddHeader "content-type", "application/octet-stream"
Response.AddHeader "Content-Disposition","attachment;filename=" & filename
Response.AddHeader "content-length", objFile.Size
Do While Not objStream.AtEndOfStream
char = objStream.Read(1)
Response.BinaryWrite(char)
sent = sent + 1
If (sent MOD FILE_TRANSFER_SIZE) = 0 Then
Response.Flush
If Not Response.IsClientConnected Then
TransferFile = False
Exit Do
End If
End If
Loop
Response.Flush
If Not Response.IsClientConnected Then TransferFile = False
objStream.Close
Set objStream = Nothing
Set objFileSystem = Nothing
End Function
fileSpec =Lcase(Cstr(Trim(Request("fileSpec"))))
downLoadFile(fileSpec)
%>
<p align="center"><a href="downfile.asp?fileSpec=<%=tfile%>">下载</a></p>
</body>
</html>
<textarea name="messages" cols="90" rows="30" id="messages"><%
while not chat.eof
response.Write(chat("messagedate")&":"&chat("statevalue")&"说:"&chat("linkname")&" "&chat("message")&vbCrlf)
chat.movenext
wend%>
</textarea>
TEXTAREA的内容是纯文本,默认是不能有链接之类的,如果要实现的话必须使用JavaScript来实在
带颜色的文字和链接
Set Rs=Conn.Execute(SQLStr)
和
Set Rs=Server.CreateObject(“ADODB.RecordSet“)
Rs.Open SQLStr,Conn,CursorType,LockType
(RecordSet对象方法请看这里)
由于默认的记录集游标是服务器游标,
Rs.CursorLocation = adUseServer
所以返回Rs.RecordCount=-1,
应该把服务器游标改为客户端游标,
Rs.CursorLocation = adUseClient
Rs.Open SqlStr,Conn,CursorType,LockType
rs.cursortype
光标类型 recordcount 属性
———————————————
ForwardOnly 0(默认) 返回-1
Keyset 1 正确的记录数
Dynamic 2 -1或不正确的记录数,依数据源而定
Static 3 正确的记录数
所以Rs.CursorLocation = 3
可用recordset.support(“属性名”)进行测试是否支持该属性。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>跨窗口漂浮窗口</title>
<SCRIPT LANGUAGE="JAVASCRIPT">
var imagepath="http://xindaima.cn/images/logo.jpg"
var imagewidth=110 //这两行写图片的大小
var imageheight=50
var speed=3;
var imageclick="http://xindaima.cn" //这里写点击图片连接到的地址
var hideafter=0
var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie){
var preloadit=new Image()
preloadit.src=imagepath
}
function pop() {
if(isie) {
x=x+dx;y=y+dy;
oPopup.show(x, y, imagewidth, imageheight);
if(x+imagewidth+5>screen.width) dx=-dx;
if(y+imageheight+5>screen.height) dy=-dy;
if(x<0) dx=-dx;
if(y<0) dy=-dy;
startani=setTimeout("pop();",50);
}
}
function dismisspopup(){
clearTimeout(startani)
oPopup.hide()
}
function dowhat(){
if (imageclick=="dismiss")
dismisspopup()
else
window.open(imageclick);
}
if(isie) {
var x=0,y=0,dx=speed,dy=speed;
var oPopup = window.createPopup();
var oPopupBody = oPopup.document.body;
oPopupBody.style.cursor="hand"
oPopupBody.innerHTML = '<IMG SRC="'+preloadit.src+'">';
oPopup.document.body.onmouseover=new Function("clearTimeout(startani)")
oPopup.document.body.onmouseout=pop
oPopup.document.body.onclick=dowhat
pop();
if (hideafter>0)
setTimeout("dismisspopup()",hideafter*1000)
}
</SCRIPT>