[教程]ActionScript3设计模式图

mikel阅读(797)

1. Factory(工厂)模式

2. Singleton(单例)模式

3. Decorator(装饰)模式

4. Adapter(适配器)模式

5. Composite(组合)模式

1. Command(命令)模式

2. Observer(观察者)模式

3. Template(模板)模式

4. State(状态)模式

5. Strategy(策略)模式

6. MVC模式

[资源]J2ME开发框架集锦

mikel阅读(728)

文章出处:
http://wuhua.3geye.net
保留版权,转载请注明来处,谢谢。

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/

 

MWT

Micro Window Toolkit(MWT)是一个用于开发J2ME 用户界面(UI)的工具包。它具有友好,强大,快速,开源 等特性。因为它的"灵感"来自 AWT,Swing和SWT。可以使用bitmap fonts等来自定义组件。它专门为嵌入式开发而设计和优化。基于LGPL发布。
K[Lr%sRI3 项目地址:http://j2me-mwt.sourceforge.net/


V4TD6Y.n3?h*H3

1 – J2ME Desktop:
Download theJad andJar or view it withJava WebStart

$? i6_7iPGl3U~3

2 – ELP ~ RPG:
Download theJad andJar or view it withJava WebStart

JZCQYxT3

3 – Progress Bar:
Download theJad andJar or view it withJava WebStart

3GEYEV/[+_Q?"D[ N6i

4 – Messenger Interface:
Download theJad andJar or view it withJava WebStart

J4ME-开源的UI Logger 项目

J4ME 是一个J2ME应用程序开发包。它包括一个UI框架,一个日记框架用于帮助调试因不同品牌手机 的差异而产生的问题,一个蓝牙GPS框架让你能够利 用JSR-179 Location API接口从蓝牙GPS设备获取定位信息和一个Java类包其中包含了J2ME中没有的方法比如双精度型数字的计算等。
a7Oi6k^Z u3 ui.gif logging.gif gps.gif

OpenBaseMovil

3GEYE6ct|I\
BaseMovil是一个J2ME应用程序开发框架。它由多个比较独立类库组成包括:3GEYEJsTH$m"V,m a+y0|K
OpenBaseMovil-core:整个框架的底层基础 类库,它主要提供国际化 支持、任务控制、加密、压缩、浮点支持、properties文件支持、一个MVC框架、一个事件框架。3GEYEXO3L0@C$z M8E
OpenBaseMovil-db:一个关系型数据库 引擎,其中一个表格存储的数据可上千。3GEYE1] m$?/vE|1@
OpenBaseMovil-script:一个脚本 引擎。3GEYE2\G:rVA7Ez
OpenBaseMovil-ui:一个UI工具包。
C,h~%O2B|3 这个几类库都能够完全集成在一起使用。3GEYEotaZ5J
OpenBaseMovil.jpg
+m'^1V[1L&Q7L3 http://www.openbasemovil.org/

J2ME 游戏 脚本引擎/J2me game script engine

一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行3GEYELBXR[-CR
它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏。
(FQ(wY$\N�{ PsW3 这个脚本有点像BASIC

这东西不错,是一个开源的脚本引擎,大家可以学习里面的思想3GEYE-v r.Ps!_+da[
里面其中带了一个例子,是3子棋。感觉挺不错的。这东西在SF也挺活跃的。

http://sourceforge.net/projects/j2megamescript/

例子图片3_200710301619291.jpg

Y!Go

Y!Go这是一个Yahoo Messenger J2ME客户端。

http://ygo.sourceforge.net/

EBookME

EBookME是一个用于把导入的文本文件 (HTML,DOC,PDF,…)生成J2ME电子书籍格式(JAD,JAR)的Java程序。生成的电子书 籍可以在支持MIDP1.0的手机上阅读。

http://ebookme.sourceforge.net/

jMobileCore

jMobileCore 包是一个强大的工具用来开发J2ME应用程序.jMobileCore提供支持开发简洁的,基于Canvas的图形 用户接口,快速地数据访问,可靠地通 信,简化多线程midlet应用程序。jMobileCore包可工作在任何支持J2ME (MIDP1.0 和CLDC1.0)的移动电话与PDA设备.

http://jmobilecore.sourceforge.net/

还有超级经典的J2ME-POLISH

http://www.j2mepolish.org

J2ME Polish 2.0

J2ME Polish 2.0 Release Candidate is here!

design example 1

design example 2

design example 3

[教程]flash中创建ActionScript3组件教程

mikel阅读(778)

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.

[教程]人工神经网络入门(4) —— AForge.Net简介

mikel阅读(857)

范例程序下载:http://www.cnblogs.com/Files/gpcuster/ANN3.rar
如果您有疑问,可以先参考 FAQ
如果您未找到满意的答案,可以在下面留言:)
0 目录
人工神经网络入门(1 —— 单层人工神经网络应用示
人工神经网络入门(2 —— 人工神经基本概念介绍
人工神经网络入门(3 —— 多层人工神经网络应用示例
人工神经网络入门(4 —— AForge.Net简介
1 介绍
这篇文章中,我们将介绍一个用C#实现的框架AForge,利用这个框架,您可以方便地操作人工网络,计算机视觉,机器学习,图像处理,遗传算法等
2
 神经网络设计部分框架介绍
在这里我要强调:这段代码写的非常漂亮,一种代码如诗的美感,让我神往。
这段代码位于AForge.Neuro名字空间中。

这个库文件由6个主要部分组成:

  • Neuron所有神经元(neurons)的抽象基类, 它封装了所有neuron所共有的一些基本元素:权值, 输出值和输入值. 其他的neuron都是在该基础之上派生出来的.
  • Layer代表neurons的集合. 这个抽象基类封装了层(Layer的共性.
  • Network代表一个神经网络, neuron's layers的集合. 这个抽象基类提供了Network的共性.其他的Network都是在该基础之上派生出来的.
  • IActivationFunction激活函数(activation function)的接口. 所有的激活函数都派生于该接口
  • IUnsupervisedLearning无导师学习(unsupervised learning)算法的接口这种类型的学习体系在学习的过程中只提供输入,不提供针对该输入的期望输出. 该体系的目标是不断找出更优的解.
  • ISupervisedLearning有导师学习(supervised learning)算法的接口  – 这种类型的学习体系在学习的过程中提供输入和针对该输入的期望输出. 该体系的目标就是通过实际的输出和期望的输出来不断修正网络.

这些类的关系可以用下图来表示:

这个文件包含下面2中神经网络体系:

  • Activation Network
  • Distance Network

同时提供以下5种学习算法用于解决不同的问题:

  • Perceptron Learning 
  • Delta Rule Learning
  • Back Propagation Learning 
  • SOM Learning
  • Elastic Network Learning 

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(), 21);
PerceptronLearning teacher 
= new PerceptronLearning(network);

            
double[][] input = new double[4][];
            
double[][] output = new double[4][];

            input[
0= new double[] 00 };
            output[
0= new double[] 0 };
            input[
1= new double[] 01 };
            output[
1= new double[] 0 };
            input[
2= new double[] 10 };
            output[
2= new double[] 0 };
            input[
3= new double[] 11 };
            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库,通过它,你可以非常方便地建立你自己的神经网络,但是前提你得了解解决问题该需要使用哪种类型的网络,同时配合使用什么样的学习算法。

[教程]人工神经网络入门(2) —— 多层人工神经网络应用示例

mikel阅读(794)

范例程序下载: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运算,但是精确度却比不上第一个例子。
不同的网络对不同的情况都有不同的适应程度,这就需要深层的理论支持了,也不是我能为大家解决的啦:(

[代码]ASP导出EXCEL代码

mikel阅读(1067)

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.Cr&#101;ateObject("Excel.Application") &#39;调用excel对象
xlApplication.Visible = False &#39;无需打开excel
xlApplication.SheetsInNewWorkbook=1 &#39;指定excel中表的数量
xlApplication.Workbooks.Add &#39;添加工作簿
Set xlWorksheet = xlApplication.Worksheets(1)  &#39;生成第1个工作表的子对象
xlWorksheet.name="周报表" &#39;指定工作表名称
&#39;指定列的宽度以及对齐方式
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
&#39;指定列的高度以及特定列
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 &#39;合并列
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
&#39;xlApplication.ActiveSheet.Rows(i).RowHeight = 30
&#39;xlWorksheet.Range(xlWorksheet.Cells(i,3), xlWorksheet.Cells(i,4)).MergeCells =True
&#39;xlWorksheet.Range(xlWorksheet.Cells(i,7), xlWorksheet.Cells(i,8)).MergeCells =True
Set fs = Cr&#101;ateObject("Scripting.FileSystemObject")
tfile=Server.MapPath("test.xls")
if fs.FileExists(tfile) then
Set f = fs.GetFile(tfile)
f.del&#101;te true
Set f = nothing
end if
Set fs = nothing
xlWorksheet.SaveAs tfile &#39;保存文件
xlApplication.Quit &#39;释放对象
Set xlWorksheet = Nothing
Set xlApplication = Nothing
%>
<%
Function downLoadFile(FileSpec)
on error resume next
Const ForReading=1
Const TristateTrue=-1
Const FILE_TRANSFER_SIZE=1024   &#39;16384
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
Set objFileSystem = Cr&#101;ateObject("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.Cr&#101;ateObject("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中显示回车换行

mikel阅读(1026)

<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中加入链接

mikel阅读(992)

TEXTAREA的内容是纯文本,默认是不能有链接之类的,如果要实现的话必须使用JavaScript来实在
带颜色的文字和链接

[问题]ASP中recordcount=-1的问题

mikel阅读(791)

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(“属性名”)进行测试是否支持该属性。

[代码]跨窗口漂浮JavaScript代码

mikel阅读(760)

<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.cr&#101;atePopup();
var oPopupBody = oPopup.document.body;
oPopupBody.style.cursor="hand"
oPopupBody.innerHTML = &#39;<IMG SRC="&#39;+preloadit.src+&#39;">&#39;;
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>