开始联系 actiongscript,发现自己写代码的熟练度太低了,是该好好练练,贴起来以提醒自己是一名程序员,是一名 flash 的 fans.

  1. 跟随:
    • 代码:
       1 stop();
       2 = 1;
       3 xStart = 100;
       4 yStart = 100;
       5 xd = 2;
       6 yd = 2;
       7 mc.lineStyle(1, ox000000, 100);
       8 _root.onEnterFrame = function() {
       9     var c = _root.createEmptyMovieClip("mc"+i, 100+i);
      10     c.lineStyle(10xff0000100);
      11     c.moveTo(xStart, yStart);
      12     xd = (_xmouse-xStart)*0.05;
      13     yd = (_ymouse-yStart)*0.05;
      14     c.lineTo(xStart += xd, yStart += yd);
      15     if (i == 100) {
      16         i = 1;
      17     }
      18     var line = _root.createEmptyMovieClip("linew"+i, i++);
      19     line.lineStyle(00x00000020);
      20     line.moveTo(xStart, yStart);
      21     line.lineTo(_xmouse, _ymouse);
      22     if (i == 100) {
      23         i = 1;
      24     }
      25 };
      26 
    • demo




FireYang 2006-12-01 21:17 发表评论

译自:http://blog.madskristensen.dk/post/Tag-mapping-in-ASPNET.aspx

最近我开始在 ZYB 工作但并没有看所有的代码。有一天我看到了一个 web.config 的一个特殊的节点 tagMapping。我之前从来没有见到过,直到问了我周围的同事。基本上,它是在编译的时候将所有的一种类型转换成另一种类型。在自然语言的意思是它能将你整个网站中的所有例如 System.Web.UI.WebControls.Textbox 实例转换成另一个组件。

如此酷的作用,我来做一个简单的示例。我已经建了一个简单的组件,这个组件继承自 TextBox 并重写了 Text 属性,因此它能 HTML 编码 text。我把它放置到 App_Code 文件夹下并命名为 SafeTextBox。

public class SafeTextBox : System.Web.UI.WebControls.TextBox
{ public override string Text
{ get
{ return base.Text;
} set
{ base.Text = System.Web.HttpUtility.HtmlEncode(value);
} }
}

然后我需要在 web.config 中通过标签映射将所有的文本框和 SafeTextBox 实例关联起来。它能在整个网站中轻松的覆盖所有的 TextBox 实例。这个就是需要的 Web.config 配置:

<pages> <tagMapping> <add tagType="System.Web.UI.WebControls.TextBox" mappedTagType="SafeTextBox"/> </tagMapping> </pages>

这是一个聪明的方法将你自己的服务器组件应用到一个网站上去。 可惜的是直到最近我才知道有这种方法。

我的 Blog 选用 BlogEngine.NET 作为我的 Blog,有以下几点优势:

  1. 第一个当然是开源;
    它有很详细的源代码可以下载,现在的版本是 1.3;而且支持 XML 作为数据保存,所以不需要配置,就直接可以运行了,佩服;
  2. 支持 DataProvider;
    它自带有 XML 和 MySql 数据库,但是我的空间只支持 Access,它提供了很好的数据访问可扩展,只需要根据 MySqlProvider 改写个 Access 的 Provider 就可以了。
  3. 更新快;
    从我开始使用 BlogEngine.NET 开始,从 1.0 开始,现在已经更新到了 1.3,而且每个版本都有很多新的技术应用,对我来讲,可以逐渐的学习。
  4. 支持插件;
    可以有自己编写插件,特别是这个技术,可以深入学习;
  5. 技术支持;
    作者的 Blog 经常的更新自己使用的技术,和掌握的技术,虽然是英文的,但是看起来也不吃力,因为我只看代码也能看懂,就知道多简单了;

看到一个可以像在.net 中做 web app 一样,做 flash!
有点不足就是没有可视化的组件,在开发效率上有点地下
网址:http://www.globfx.com/
图标看上去就不错,呵呵!
它可以支持 windows 下的 vs2003 和 vs2005,也有独立的 c# SDK framework, 有比较多的 samples 和帮助文档。
贴一个 demo:


FireYang 2006-10-29 17:09 发表评论

DB2 参照约束的 删除规则(delete rule);为了能在删除父表的记录,同时能达到删除子表的相关记录的目的,使用的办法:

  1. 选择 Quest Central for DB2 工具,连接相应的数据库(略);
  2. 选择相应的 Table,右击选择修改(Alter),如图:
  3. 对子表的外部键进行修改,选择 Keys/Constraints,选择外键(就是 Type 为 Foreign),如图:
  4. 在右侧选择编辑按钮 (Edit), 弹出一个窗口,如图:
  5. 在弹出窗口的下方你可以找到相关的约束类型 (如图),4 种类型(sql 表示 ON DELETE 『SET NULL』(中括号里为 4 种类型的任意一种)),选择好类型后选择 OK 确定:
    》NoAction 表示删除父表记录对子表(我们修改的当前表)的关联记录无影响;
    》Restrict delete 表示删除父表记录时如果存在子表的关联记录,将被回滚,并且报错;
    》Cascade to dependent 表示在删除父表的同时删除子表的记录;
    》Set to Null in dependent 表示在删除父表的同时,子表外键列被设置为 null;
  6. 在窗体的下方,按 Build Script 按钮,生成 SQL 脚本(如图):
  7. 执行 Script,如图:

使用以下的形式就可以将你本地电脑上的字体嵌入到 Flex 中 注意:在嵌入字体的同时会相应的增大 Flex 文件的大小

@font-face {
src: local("Arial");
fontFamily: ArialEmbedded;
fontWeight: normal;
}

@font-face {
src: local("Arial");
fontFamily: ArialEmbedded;
fontWeight: bold;
}

Application {
font-family: ArialEmbedded;
}

flex 其实就是把要发送的数据通过 soap 的形式发送给服务器,至于你如何处理这些数据,不同的语言有不同的方法,曾经用过 java 的 aixs,比较陌生,在这里我用.net 的 web service 来处理,其实原理都是一样的,只是手段不同而已,随便说一下 flex 好像不能对 soap 的头信息进行修改,如果要对 soap 进行了解可以查看相关信息。
下面做一个简单的 demo,a+b=c 这样的形式,把 a 和 b 的数据发送到 web service 上,然后再回传到 flex,显示出来。
首先是 flex 的代码如下:(可以用项目来做,也可以单个文件通过 mxmlc 来编译)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:WebService wsdl="http://localhost/flexService/Service1.asmx?wsdl" showBusyCursor="true" id="ws">
<mx:operation name="HelloWorld" >
    
<mx:request xmlns="">
    
<a>{a.text}</a>
    
<b>{b.text}</b>
    
</mx:request>
</mx:operation>
</mx:WebService>
    
<mx:TextInput x="72" y="110" id="a"/>
    
<mx:TextInput x="72" y="170" id="b"/>
    
<mx:TextInput x="72" y="239" id="c" text="{ws.HelloWorld.lastResult}"/>
    
<mx:Button x="72" y="200" label="=" fontSize="12" click="ws.HelloWorld.send()"/>
    
<mx:Label x="72" y="140" text="+" fontSize="12" width="25" height="22"/>
</mx:Application>
再是net上的代码:(新建web service项目,把helloWorld改过来,偷懒-_-!)
        [WebMethod]
        
public int HelloWorld(int a,int b)
        {
            
return a+b;
        }
因为在flex里运用了绑定(binding)技术,不需要像在flash里考虑他是否已经把数据load下来,它在得到数据后会自动更新到组件上,减少了程序员的工作量。
再一点是,web service可以返回一个类,它可以和flex里的类相匹配,很方便整体数据的传递。
接受数据的格式有多种,可以看我以前的文章,Flex 中获取 web service 返回值的多种方法

FireYang 2006-11-02 18:11 发表评论

0%