Kingwolves

Impossible is nothing ...

星期五, 一月 11, 2008

Google Fridge...

Google Fridge?哇...Google竟然也出冰箱了,看起来还非常漂亮,而且还蛮大的,想像一下如果夏天把这个冰箱放在公司,放几瓶饮料冰在那,那该是多么爽啊,哈哈...以前就想买一个,想不到现在Google竟然出一个,有还机会免费获取,作为Google Fans,当然要争取一下啦,呵呵...大家也可以到这里来 http://danperry.com/wordpress/google-fridge-giveaway/ 获取...

星期六, 五月 26, 2007

GIF Animation Encoding for ActionScript 3

好早以前好像就看见过一个Gif Animatino for AS3 的东西了,记得当时还使用了一下,但是需要$50。
今天无意中在 ByteArray.org
发出了这个Gif Animation Encoding,使用了一下,还蛮不错,上面有些例子,这个东西是开源的,现在暂时还没公开源代码,相信迟一点可以了。

在他的上面发现了许多有趣的开源项目。
包括
1.WiiFlash
2.MouseGesture in AS3 (Flash 中鼠标识别)
3.Roster (Bitmap 绘图API)
ect....
具体请看:http://www.bytearray.org/

Adobe 发布 Flex 2.0.1 Hotfix 2 补丁...

今天早上在 Adobe 官方看到 Flex 2.0.1 Hotfix 2 的补丁包,主要修复了一些Bug,但对于已经安装过LiveCycle® Data Services ES 2.5 的用户不需要再安装了,详见请见: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=kb401825

顺便在 Alistair McLeod(About Cairngorm) 的Bolg中看到,安装此更新包后,不能正常编绎你的Cairngorm程序,你需要把fds.swc加了入你的classpath路径下才行。不然会出现如下错误:
1046: Type was not found or was not a compile-time constant: Consumer.

详细请查看这里:
Flex 2.0.1 Hotfix 2 and Cairngorm

星期二, 五月 22, 2007

MySQL for AS3

早在几个星期前 maclema 就在他的 Blog 公布了一个MySql for AS3的驱动程序,这就意味着通过Flash/Flex可以直接连接MySql数据库了.一直没有时间测试使用,今天测试了一下,不错.
它的原理是通过Socket来实现的,与MySql建立Tcp连接,根据协议发送相关指令来现实数据通信.如果要放在Web服务器上访问MySql,当然要放入crossdomain.xml确定才行.不过在本地或者使用Apollo就不需要了.下面写了个简单的例子.
Code:
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import com.maclema.mysql.events.ResultsEvent;
import com.maclema.mysql.ResultSet;
import mx.rpc.events.ResultEvent;
import com.maclema.mysql.Statement;
import com.maclema.mysql.events.SQLErrorEvent;
import com.maclema.mysql.Connection;
import com.maclema.mysql.crypto.PlainTextScrambler;

private var mySqlconnection: Connection;
[Bindable]
private var userList: ArrayCollection;

private function connection(): void
{
var scrambler: PlainTextScrambler = new PlainTextScrambler("123456");
mySqlconnection = new Connection("127.0.0.1", 3306, "root", scrambler, "test");

mySqlconnection.addEventListener(Event.CONNECT, onConnectionHandle);
mySqlconnection.addEventListener(SQLErrorEvent.SQL_ERROR, onErrorHandle);
mySqlconnection.connect();
}

private function onConnectionHandle(event: Event): void
{
var st: Statement = mySqlconnection.createStatement();
//监听查询返回事件
st.addEventListener(ResultsEvent.RESULTS, onResultHandle);
st.executeQuery("select * from test;");
}

private function onResultHandle(event: ResultsEvent): void
{
var st: Statement = Statement(event.target);
var resultSet: ResultSet = event.resultSet;
while (resultSet.next()){
//返回数据的列表
userList = resultSet.getRows();
}
mySqlconnection.disconnect();
}

private function onErrorHandle(event: SQLErrorEvent): void
{
var st: Statement = Statement(event.target);
Alert.show("error message: \n" + event.text); mySqlconnection.disconnect();
}


详细请见: http://maclema.com/assql/

星期四, 八月 10, 2006

Turbo catena...They're Back...Turbo Delphi, Turbo Delphi for .NET, Turbo C++, Turbo C#

Borland 公司今天宣布了Turbo开发工具系列的新产品线:

Turbo Delphi for Windows
Turbo C++ for Windows
Turbo Delphi for .NET
Turbo C# for .NET

这里每个单语言的产品都与 Borland Developer Studio(价格在$1,000 到$3,500)中所包含的完全一致.这些产品分为免费的Turbo Explorer版,和扩展了的Turbo专业版.专业版的价格尚未确定,不过可以确定的是,普通应用的价格在500美元以下,而面向学生使用的则低于100美元.

这些Turbo产品都具有Borland首创的可视化编程界面,免费版内置了超过200个组件,其中除了C#产品外,每个组件都带有完整的源代码,可供学习使用.如果内置的组件无法满足需要,可以升级至专业版,专业版允许用户安装第三方组件或者自己创建.

目前,Turbo系列产品处于beta测试阶段,预计将会在9月5号发布.今天开始www.turboexplorer.com 可以访问.上面有关于该系列产品的详细介绍.

Two Editions: Professional and Explorer
Out-of-the-Box Development!PROEXP
High performance integrated compilers

支持

支持
RAD Two-Way Visual Designers
支持支持
Personal developer productivity including Live Templates, History Manager, Code Insight, Refactorings, rich Debugging features and more!
支持支持
Database explorer and connectivity
支持支持
Included databases – Borland® InterBase®, MSDE支持支持
Remoting and application connectivity including DCOM, ActiveX, .NET Remoting and more!
支持支持
Support for standards-based Web/ Internet development
支持支持
Hundreds of time-saving pre-built components included
支持支持
Extensible and customizable IDE for building your own components
支持
Extensible and customizable IDE for hundreds of available pre-built IDE 3rd party plug-ins and components
支持
Included third party products
支持

星期二, 四月 18, 2006

Delphi 2006 (For In语句) 详解

在Delphi 2005就已经加入了For element in collection do statement语法,可以用来历遍一个集合、数组等等,下面这个是For in 支持的类型:


  • Classes.TList
  • Classes.TCollection
  • Classes.TStrings
  • Classes.TInterfaceList
  • Classes.TComponent
  • Menus.TMenuItem
  • ActnList.TCustomActionList
  • DB.TFields
  • ComCtrls.TListItems
  • ComCtrls.TTreeNodes
  • ComCtrls.TToolBar



  • 首先来看一个简单的例子:

    procedure ShowListStr(StrList: TStrings);
    var
    tmpStr: String;
    begin
    for tmpStr in StrList do
    ShowMessage(tmpStr); //这样就可以历遍整个SrList的值了,比以前用for i to do 快了很多吧
    end;
    再看看这个:(数组历遍)
    type
     TIntArray = array[0..9] of Integer;
     TGenericIntArray = array of Integer;

    var
     IntArray1: array[0..9] of Integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
     IntArray2: array[1..2] of TIntArray = ((11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
                        (21, 22, 23, 24, 25, 26, 27, 28, 29, 30));
     IntArrayTemp: TIntArray;
     IGenericIntArray: TGenericIntArray;
     i: integer;
    begin
     for i in IntArray1 do
     begin
      ShowMessage(IntToStr(i)); //这样便可以历遍这个数组,不用再用for High Low等等函数了
     end;

     for i in IntArray2 do //多维数组的历遍
      for i in IGenericIntArray do
      begin
       ShowMessage(IntToStr(i));
      end;
    end;

    看了后是不是觉得历遍一个数组比以前方便多了.
    再看看For in 在字符串中的应用:
    var
     C: Char;
     Str1,Str2: String;
    begin
     Str1 := 'Hello Everybody,I am Kevin...';
     Str2 := '';
     for C in S1 do
    //这样就已经历遍了一个字符串,并进行了拆解...
      Str2 := Str2 + C;

     if Str1 = Str2 then
      ShowMessage('Success!');
    end;

    再看看如何历遍集合型的数据类型的:
    type
     TMyThing = (one, two, three);
     TMySet = set of TMyThing;
     TCharSet = set of Char;
    var
     MySet: TMySet;
     MyThing: TMyThing;
     CharSet: TCharSet;
     C: Char;
    begin
     MySet := [one, two, three];
     for MyThing in MySet do
    //历遍集合
     begin
     // 做相关的处理
     end;

     CharSet := [#0..#255];
     for C in CharSet do
     begin
     // 做相关的处理
     end;
    end.

    下面这个更加有用,历遍类
    这个类必须实现一个公用的方法为:GetEnumerator(),此方法返回的是一个类.而另一个类必须实现一个公用的方法为:MoveNext()和一个名为Current的属性.方法返回类型为Boolean;看例子:
    type
     TMyIntArray = array of Integer;

     TMyEnumerator = class
      Values: TMyIntArray;
      Index: Integer;
     public
      constructor Create;
      function GetCurrent: Integer;
      function MoveNext: Boolean; //这个为实现的MoveNext方法
      property Current: Integer read GetCurrent;
    end;

    TMyContainer = class
     public
     function GetEnumerator: TMyEnumerator; //这个为实现的GetEnumerator的方法.
    end;

    constructor TMyEnumerator.Create;
    begin
     inherited Create;
     Values := TMyIntArray.Create(100, 200, 300);
     Index := -1;
    end;

    function TMyEnumerator.MoveNext: Boolean;
    begin
    if Index < High(Values) then
    begin
    Inc(Index);
    Result := True;
    end
    else
    Result := False;

    end;

    function TMyEnumerator.GetCurrent: Integer;
    begin
    Result := Values[Index];
    end;
    function TMyContainer.GetEnumerator: TMyEnumerator;
    begin
    Result := TMyEnumerator.Create;
    end;

    var
     MyContainer: TMyContainer;
     I: Integer;
     Counter: Integer;
    begin
     MyContainer := TMyContainer.Create;

     for I in MyContainer do //历遍,并把TMyEnumerator的Current进行累加...
     Inc(Counter, I);

     ShowMessage(IntToStr(Counter)); //值为600
    end.
    从上面可以看到通过Current就可以实现很大功能了,我们只需把Current的类型变一个,就可以做到很方便的功能.
    总结,从For In语法看到,可以给我们编码时带来很多方便...


    星期四, 四月 06, 2006

    使用Delphi 2006创建简单WinCE程序

    在此前已经写过一篇关于使用Delphi 2005 + Delphi for .NET Compact Framework Technology Preview来创建简单的WinCE程序,那篇文章地址为: http://www.delphifans.com/infoview/Article_691.html,升级到Delphi 2006后,Borland已经把Delphi for .NET Compact Framework Technology Preview 集合到BDS 2006里面去了,下面就来创建一个简单的Demo:
    准备工作:需要Microsoft Studion .NET 2003 里面的CompactFrameworkSDK文件.
    首先新建一个Windows Forms Application - Delphi for .NET的工程,在窗体上面放一个Button和一个TextBox,双击Button,在代码下写入
    procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
    begin
    TextBox1.Text := 'Hello World!';
    end;
    写完代码后,保存工程,我们就可以编绎了,不过编绎之前我们找到
    Initializecomponent 这个初始化过程这里
    要把下列出现的方法和属性注释掉(这是因为WinCE程序里面没有这几个属性):
    SuspendLayout;
    Name;
    TabIndex;
    AutoScaleBaseSize;
    ResumeLayout(False);
    打开CMD窗口,我的工程保存在C:\Project\Demo.dpr
    在命令行下输入
    c:\Project>dccil -DCF Demo.dpr -U"C:\Program Files\Borland\BDS\4.0\lib\cf" -lu"C:\Program Files\Microsoft Visual Studion .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\System.dll"; C:\Program Files\Microsoft Visual Studion .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\System.Windows.Forms.dll"
    回车编绎。成功编绎后,放到Microsoft Windows CE 5.0虚拟机下动行就行了.
    大家可以参考Borland的例子: >
    http://bdntv.borland.com/bds/2006/CFinBDS2006.html 

    Hello,Everybody...

    Hello,Everybody:
    Welcome to me blog,I am Kevin,my bolg built in 4.06.2006,heyhey....
    This is my team logo(left)... full name is Dream three Peoples, short name is D.T.P...
    The underside logo is my individual logo...my fisrt name is Kevin,last name is Lu,chinese name is Lu Min,my birthday is 1987-11-26...
    i like computer and basketball....