??xml version="1.0" encoding="utf-8" standalone="yes"?>青青青伊人色综合久久,中文国产成人精品久久不卡,99久久人妻无码精品系列http://www.shnenglu.com/ckyap/category/8228.html<递归的忧?gt;zh-cnThu, 04 Jun 2009 08:26:00 GMTThu, 04 Jun 2009 08:26:00 GMT60单地调用Google译APIhttp://www.shnenglu.com/ckyap/archive/2009/06/03/86693.html陈坤陈坤Wed, 03 Jun 2009 13:00:00 GMThttp://www.shnenglu.com/ckyap/archive/2009/06/03/86693.htmlhttp://www.shnenglu.com/ckyap/comments/86693.htmlhttp://www.shnenglu.com/ckyap/archive/2009/06/03/86693.html#Feedback4http://www.shnenglu.com/ckyap/comments/commentRss/86693.htmlhttp://www.shnenglu.com/ckyap/services/trackbacks/86693.htmlJustType新命令translate~ 实时译! 废话不多_?个图先:Q?a >http://justtype.cloudapp.net 我前一博文有更详l地介绍q个JustType目Q?/p>

image

image

 

我们l常会有q种需求,是译一段看不太懂的外语。Google提供了翻译服务,但是如果每次都要打开Google那个译面Q倒也挺麻烦。于是我把翻译功能也做成了JustType的命令,现在在JustType中就可以通过translate命o来翻译Q何语a的文字了。想体验的话Q?a >http://justtype.cloudapp.net

 

整个translate命o的脚本代码很单,先用正则表达式分析了命ol构Q然后向|页写入javascript代码Q在javascript中引用google函数库,调用对应函数卛_Q?/p>

import System
import System.Text
import System.Text.RegularExpressions
import System.Web

from System.Text.RegularExpressions import *

def OnCommand(command):
    sourceLang = "en"
    targetLang = "zh"
    text = command
    chkAdvancedUsage = Regex("(?<text>(.|\n)+?)\\s+from (?<from>[a-zA-Z]+) to (?<to>[a-zA-Z]+)")
    m = chkAdvancedUsage.Match(command)
    if m.Success:
        sourceLang = m.Groups["from"].Value
        targetLang = m.Groups["to"].Value
        text = m.Groups["text"].Value
    render = "<div id=\"divTranslation\" style=\"background-color:#f0f8ff; border:dotted 1px gray; padding:5px; width:500px; \"></div>\n"
    render += "<script type=\"text/javascript\" src=\"http://www.google.com/jsapi\"></script>\n"
    render += "<script type=\"text/javascript\">\n"
    render += "google.load(\"language\", \"1\");\n"
    render += "function initializeTranslation() { google.language.translate(\"" + System.Web.HttpUtility.HtmlEncode(text.Replace("\n", " ").Replace("\r", "")) + "\",\"" + sourceLang + "\", \"" + targetLang + "\", function(result) {\n"
    render += "if (!result.error) { document.getElementById(\"divTranslation\").innerHTML = result.translation; } else { document.getElementById(\"divTranslation\").innerHTML = \"error!\" }\n"
    render += "}); }"
    render += "google.setOnLoadCallback(initializeTranslation);"
    render += "</script>"
    SetTipText(render)
    return True

 

在JustType中,一个命令对应一个执行脚本,我们可以自己写新脚本Q同时可以允许其他h调用自己写的E序。大家互相分享自己智慧的同时Q也在利用编E技术增加自己和他h的工作效率。更多的信息请到http://justtype.cloudapp.net 获取?Q)



陈坤 2009-06-03 21:00 发表评论
]]>
Command the world! 命o整个世界http://www.shnenglu.com/ckyap/archive/2009/06/02/86556.html陈坤陈坤Tue, 02 Jun 2009 08:27:00 GMThttp://www.shnenglu.com/ckyap/archive/2009/06/02/86556.htmlhttp://www.shnenglu.com/ckyap/comments/86556.htmlhttp://www.shnenglu.com/ckyap/archive/2009/06/02/86556.html#Feedback8http://www.shnenglu.com/ckyap/comments/commentRss/86556.htmlhttp://www.shnenglu.com/ckyap/services/trackbacks/86556.html每当我们打开电脑Q我们可能经怼做一些习惯性的动作。例如查一下邮件啦Q看看新dQ观察一下股走向啦。仔l想一下就发现Q这里面有很多动作是我们每天都会重复的。有没有可能更方便一点呢Q?/p>

有。很单,wؓE序员的我们Qؓ每种固定的操作写个小E序好了。但q样一来会带来几个问题Q?/p>

1. 程序写多了Q很隄一理。而且有些带参数的E序Q例如按照一定股编号去查询h的程序)Q用v来ƈ不一定方ѝ?/p>

2. 我们可能l常使用不同的电脑,那么要同步这些小E序会非常头疹{?/p>

3. 你也写,我也写,大家写了大量重复的小E序Q很费资源?/p>

Z应对q些问题Q我提出了一个叫JustType的框Ӟ我们可以?a >http://justtype.cloudapp.net 讉K它?/p>

JustType的界面就是一个文本框Q一切都在这个文本框中进行。在JustType框架中,每个程序都对应一个命令,命o可带参数。写好的程序会保存在服务器Q每一个h都可以选择是否要公开自己的小E序。这样大家可以很方便地共享自q成果?/p>

让我们来逐一看看JustType拥有的功能?/p>

首先Q最基本的,你可以在JustType中输入一个网址Q一按回车就会访问该|址?/p>

image

当然Q仅仅是q样的话Q很傅R因为浏览器的地址栏更好用多了。但是,JustTypeq远不止q点?/p>

我们可以Z个命令设|一个别名,例如Q?/p>

image

l过q样的设|后Q下ơ我只要打cppblog׃自动q入http://www.shnenglu.com 了?/p>

q有很多时候,我们会遇C些小的计算问题。Windows那个计算器实在很不好用,让我们看看JustTypeQ?/p>

image

image

q个calc命o会将后面的表辑ּ求值ƈ昄出来。实际上Q这里这个表辑ּ是Python的表辑ּQJustType中所有的程序都q行在IronPython?q且可以使用.net frameworkcd中的大多数功能?/p>

当然Q除了简单的表达式以外,我们q可以执行更复杂的脚本:

image

输入q个命o之后Q界面就会变成下面的样子Q?/p>

image

MultiLineTextMode是一个预定义函数Q功能是主界面上的文本框变成多行模式,q样我们可以输入更复杂的脚本了。下面我们试试用一?net framework中的功能Q?/p>

image

输出l果如下Q?/p>

image

SetTextBoxText也是一个预定义函数Q可以改变主界面中文本框内的文本。更多的预定义函数描q可以在http://justtype.cloudapp.net/Help.aspx 中看到?/p>

除了临时执行脚本以外Q我们也可以脚本写成小E序保存h。输入newcommand命oQ就会进入创建命令的面。我们将q个程序命名ؓtranslateQ然后输入以下代码:

import System
import System.Web

def OnCommand(command):
    GoToURL("http://dict.youdao.com/search?q=" + System.Web.HttpUtility.UrlEncode(command))
    return True

E序依然是用IronPython写,其实Python语法很简单?a >http://www.python.org 感兴的用户可以ȝ看。这个OnCommand函数是用来接收消息的。当JustType收到命o后,会找到这个命令对应的脚本Qƈ参Cl脚本的OnCommand函数来执行。我们看刎ͼq里E序调用了GoToURL函数Q{向了有道词典的页面。在创徏了这个程序后Q我们就可以在JustType的文本框中输入下面的命oQ?/p>

image

一按回车,׃转向译l果Q?/p>

image

cM圎ͼ我们可以写出很多很多方便实用的小E序。在我们创徏E序Ӟ我们可以选择是否要公开。如果公开的话Q别的用户就可以通过“你的用户名.E序名”来调用你的E序。例如我的用户名是ckQ那么其他用户就可以输入ck.translate来调用我的程序,当然他喜Ƣ的话也可以用setalias来设|一个方便的别名。如果所有公开的程序中Q只有我q个E序叫做translateQ那么其他用户不打ck.translate而直接打translate也可以成功调用?/p>

另外QJustType提供一U简单的数据存储。每一个程序在一个用L账户中会有一个独立的存储I间Q可以存?000行数据。例如我利用q个Ҏ开发了一个叫做note的小E序Q可以时记录一些小W记Q?/p>

image

那么之后我就可以看到我的W记Q?/p>

image

所有的E序和数据,都存攑֜服务器端Q用户不用担心不同机器的问题。无Z走到哪里Q都可以像在一台机器上一栯问所有服务和数据?/p>

新服务刚刚搭建好Q欢q大家试用和提供意见喔。网址?a >http://justtype.cloudapp.net



陈坤 2009-06-02 16:27 发表评论
]]>
命o的执着---整个世界装q一个TextBox中!http://www.shnenglu.com/ckyap/archive/2008/10/09/63592.html陈坤陈坤Thu, 09 Oct 2008 14:29:00 GMThttp://www.shnenglu.com/ckyap/archive/2008/10/09/63592.htmlhttp://www.shnenglu.com/ckyap/comments/63592.htmlhttp://www.shnenglu.com/ckyap/archive/2008/10/09/63592.html#Feedback11http://www.shnenglu.com/ckyap/comments/commentRss/63592.htmlhttp://www.shnenglu.com/ckyap/services/trackbacks/63592.html未读q本pd文章的,请先参?a title="http://www.shnenglu.com/ckyap/archive/2008/10/06/63287.html" href="http://www.shnenglu.com/ckyap/archive/2008/10/06/63287.html">http://www.shnenglu.com/ckyap/archive/2008/10/06/63287.html

BoxSharp 最新进展!

image

输入盘地址时的自动提示Q另外还有按TAB键即可切换目录,行ؓ与cmd命o行里面输入地址栏时cM

image 

Note功能Q可以随时记下一下小事情。命令ؓ/note something。输?note会打开当前所有notes列表?/p>

工具栏自定义按钮功能Q输?toolbutton add "button name" command卛_自定义一个按钮,按下即会执行指定的command命oQ效果与在文本框中输入command然后按回车一栗?/p>

之前一位朋友提到的/define功能Q我觉得如果需要参敎ͼ应该写成新插gQ而不是定义成另外一个命令;如果不需要参敎ͼ那就可以通过现在q个toolbutton实现。所以暂时不做了?/p>

全局热键在WPF下面貌似很有问题。。。至我q没扑ֈ解决ҎQ这几天太忙了,有空我还要l想办法?/p>

最新版q里下蝲 http://code.google.com/p/boxsharp/downloads/list



陈坤 2008-10-09 22:29 发表评论
]]>
命o的国?--- 整个世界装q一个Textbox中!http://www.shnenglu.com/ckyap/archive/2008/10/06/63287.html陈坤陈坤Sun, 05 Oct 2008 16:13:00 GMThttp://www.shnenglu.com/ckyap/archive/2008/10/06/63287.htmlhttp://www.shnenglu.com/ckyap/comments/63287.htmlhttp://www.shnenglu.com/ckyap/archive/2008/10/06/63287.html#Feedback11http://www.shnenglu.com/ckyap/comments/commentRss/63287.htmlhttp://www.shnenglu.com/ckyap/services/trackbacks/63287.htmlq篇文章是l上一《命令的~纷》来阐述的。未阅读q前一的请参见这里:http://www.shnenglu.com/ckyap/archive/2008/09/12/61641.html

功能可以看下面几个图Q?/p>

 

image

总而言之,BoxSharp提供一U可扩展的方式让你在一个TextBox中干M事情?/p>

此项目已l正式作为开源项目放在Google Code上啦Q大家可以在q里讉K目主页Q?a >http://boxsharp.googlecode.com/

那啥Subversion搞了我一个小时。。。真是感叹现在的高科技啊?/p>

在这里可以下载最新的可执行文Ӟ只能q行在Win32q_上,需?net framework 3.5支持Q?/p>

http://code.google.com/p/boxsharp/downloads/list

在这里可以查看最新的文档Q?/p>

http://code.google.com/p/boxsharp/w/list

在这里可以查看源代码Q(要有Subversion才能下蝲C码)

http://code.google.com/p/boxsharp/source/checkout



陈坤 2008-10-06 00:13 发表评论
]]>
命o的缤U?--整个世界装q一个TextBox中!http://www.shnenglu.com/ckyap/archive/2008/09/12/61641.html陈坤陈坤Thu, 11 Sep 2008 16:29:00 GMThttp://www.shnenglu.com/ckyap/archive/2008/09/12/61641.htmlhttp://www.shnenglu.com/ckyap/comments/61641.htmlhttp://www.shnenglu.com/ckyap/archive/2008/09/12/61641.html#Feedback6http://www.shnenglu.com/ckyap/comments/commentRss/61641.htmlhttp://www.shnenglu.com/ckyap/services/trackbacks/61641.htmlq篇文章是l上一《命令的痴狂》来阐述的。未阅读q前一的请参见这里:http://www.shnenglu.com/ckyap/archive/2008/09/09/61427.html

q一ơ我做了一个可以自定RSS源的新闻滚动播放器插Ӟ滚动新闻放在TextBox的旁边,鼠标放过L新闻介,点击可以打开览器浏览新闅R这样在工作之余Q抬起头p看看当时最新的新闻Q不亦乐乎!

image 

 

除了新闻播放器,q两天主要做的就是一个智能提C框。就像Firefox那个“棒极了的地址栏”一P我希望这个框框能的提C我一些操作和命o。大多数时候,我们想通过一些熟悉的名字来启动一些程序,比如输入QQQ就l我启动QQQ输入IEQ就l我打开IE。有时候我们也希望通过一些简U来讉K一些网站,比如输入baiduQ就l我打开癑ֺQ输入googleq我打开googleQ而不需要输入完整的http://www.baidu.com 。当Ӟ如果让我们手动添加所有的命oQ比如我亲自告诉E序Q“如果我输入baiduq我打开http://www.baidu.com”,q当然很LQ但是我很懒Q我不想每次都亲自添加这U命令,我需要他自动帮我扑և来?/p>

W一个我能想到的地方Q就是开始菜单的“程序”目录里了。遍历里面所有的快捷方式Q把名字分析一下,加入待选列表,搞定。不q这个名字分析的q程比较ȝQ因为比如QQ他的快捷方式默认是叫“腾讯QQ2009”,但是我只惌入QQ打开它。另外比如Microsoft Visual Studio 2008Q我只想输入MVSq个U来讉K它。这个就是一些特征的提取了,也不会太难?/p>

image

image

除了E序目录QProgram Files也是一个好地方Q里面的exe一般都是有用的E序Q提取出来,一hq来Q它p提示我更多东西了?/p>

W二个主要地方,是收藏夹和览器历史了。遍历里面所有的目Q分析一下,也加入待选列表。同h分析q程比较重要Q决定了能否得到正确的提C?/p>

image

image

选到需要的目上,按回车就行了。这里我准备对用次数做排名Q用得多的目会Q到最上面去,也就是直接按回R׃启动的位|?/p>

 

OKQ现在这个框框可以干的所有事情,ȝ一下:

1.可以输入/exitQ退出。(别扔砖头。。。)

2.可以输入/baiduQ?google{搜索引擎对一个词q行搜烦。搜索引擎可以通过配置文g指定?/p>

3.可以输入一个完整的路径名,或者一个完整的URLQ打开讉K?/p>

4.可以输入C#代码Q立x行。(可以q行表达式运等操作Q可以保存代码段Q以后通过一个名字来直接执行它?/p>

5.可以随时看到最新的新闻滚动播放Q点d可在览器中打开。RSS新闻来源可以自定?/p>

6.自动索引常用E序和网,可以通过输入它们的简Uͼ或Q何你惛_到的代表词语来运行它们?/p>

 

下一步准备做的,桌面搜烦?/p>

陈坤 2008-09-12 00:29 发表评论
]]>
命o的痴?--整个世界装q一个TextBox中!http://www.shnenglu.com/ckyap/archive/2008/09/09/61427.html陈坤陈坤Tue, 09 Sep 2008 14:58:00 GMThttp://www.shnenglu.com/ckyap/archive/2008/09/09/61427.htmlhttp://www.shnenglu.com/ckyap/comments/61427.htmlhttp://www.shnenglu.com/ckyap/archive/2008/09/09/61427.html#Feedback10http://www.shnenglu.com/ckyap/comments/commentRss/61427.htmlhttp://www.shnenglu.com/ckyap/services/trackbacks/61427.html朋友Q可曾想q把所有的事情都放C个TextBox里面dQ今天我做了一个,理论上可以干M事情的TextBox。嘿ѝ?/p>

实习的日子实在是挺忙QCNScriptq停留在语法分析的阶D,一直没旉L开那个大工E(其实是有旉的,可惜零碎的时间都被我拿来写这文章要讲的q些东西了Q?/p>

我们在浏览网|Q或怼H然x开某个E序Q比如计器Q算点东西;又可能想打开PhotoshopQ处理一下网上的某个图片;又可能想打开C本,摘抄一些文字。这时我们不得不回到桌面Q或者打开那个大的开始菜单,在程序里面去找我们想要的东西?/p>

有的时候,我们q会重复做一些机械的动作Q比如读一个文Ӟ查是否有变动Q比如检查某个文件夹Q看是否有新文g。当Ӟ你可以写一个程序来完成q个操作Q但是有时候这U操作你觉得最多就重复个两三次Q你不会愿意L开Visual Studio创徏一个工E?/p>

归结本质Q我们就是想要一个随叫随到的Q可以有一定能力帮我们做事情的东西。但是如果这个东西太大,会挡住我们正在浏览的|页或者正在处理的文档Q那׃好了。所以我想C一个Topmost的TextBoxQ放在屏q的端Q也是一般窗口的标题栏那里,q样子不会挡住你要做的事情,而且在需要的时?只要鼠标一U过d可以用了?/p>

是q样一个TextBox

OKQ有了这样一个TextBoxQ“随叫随到”已l完成了。但是我们需要这个TextBox有一定能力,比如我想q行一个程序,它能帮我q行Q我x索一个词语,他能帮我搜烦Q我x开一个URLQ他能帮我打开Q我惌一个表辑ּQ他能帮我计。但是h的需求是无限的,我们随时会有新的需要,他不可能拥有所有的功能Q那么如何让他有能力做到M事情呢?我们需要一U很强悍的可扩展性。玩q魔兽世界的朋友们一定知道,兽世界提供一个插件机Ӟ玩家可以为游戏写插gQ来丰富游戏的功能,现在已经有千千万万的兽世界插g在各大网站上提供下蝲了,正是因ؓ如此Q魔兽世界才拥有着q么强的可扩展性。所以,我们q个TextBox也要用插件机制来驱动。在C#的Microsoft.CSharp名字I间中有一个C#的编译器Q可以将C#代码~译成托组Ӟ直接生成在内存中Q以反射的方式来q行Q这个机制ؓ我们快速实C个插件系l提供了可能。因此我选用?net framework 3.5Q用Windows Presentation Foundation来做界面Q用C#来当我的脚本语言?/p>

俗话_一不做Q二不休Q既然提供了插gQ那我主E序除了q行插g以外׃么都不做了。运行了插g之后Q将界面所有控件的控制权都交给插gQ插件爱q啥干啥去。主E序是一个WindowQWindow上是一个StackPanelQPanel里面是一个TextBoxQ仅此而已。当Ӟ插g可以向StackPanel里面加东西,以丰富这个条条的外观内容?/p>

 

可执行程序的环境如下所C:QBoxSharp是这个程序的名字Q?/p>

image

其中BoxSharpCoreQBoxSharpRunPathQBoxSharpScriptingQBoxSharpSearch是我刚写好的几个插g?/p>

BoxSharpCore插g提供了最基本?exit命oQ用于退出程序。此插gq控制了一些外观方面的l节Q包括自动记住TextBox上次退出时的位|,大小Q用于下ơ启动时恢复外观。当输入在文本框内的命o是一个正命令时Q会出现功能提示?/p>

image

BoxSharpRunPath插g提供了打开文g夹,打开|址Q运行命令的功能?/p>

image image image

BoxSharpScripting插g提供了直接运行C#E序的功能。这个功能可以顺便当作表辑ּ计算器用Q有时候有些运(其是带N个括L复杂表达式)想立d出结果的Q就不用打开计算器了。Print函数是用于将参数值直接写在TextBox里面的?/p>

image

image

image

也可以直接用/script命o打开一个窗口进行复杂的~程?/p>

image

BoxSharpSearch插g是提供Web搜烦功能的,我们可以通过配置文g来配|搜索引擎,插g启动时会自动配|项的?/p>

image

image

我有旉的话Q完全可以写更多的插Ӟ比如自动电子邮Ӟ收发邮gQ比如滚动播放新闻,比如自动搜新歌下载试听,比如日历Q日E安排,U会提示Q闹钟,q些都可以作为插件写到里面去。而且Q如果,我是说如果,如果很多用户在用q个TextBox的话Q他们可以共享他们自己写的插Ӟ彼此的BoxSharp功能丰富?/p>

好吧Q说到底了,.net framework 3.5能办到的Q这个TextBoxp办到Q但是你估计不会Z计算一个表辑ּ而打开Visual Studio建工E的。这是TextBox的魅力所在了QHOHO?/p>

陈坤 2008-09-09 22:58 发表评论
]]>
˾Ʒþ| ɫۺϾþ| þù鶹91| þù޾Ʒ鶹| þþþ99ƷƬ| þþƷƷ޾Ʒ| þwwƷw˳| wwwɫ˾þþƷ| þþƷҹɫA| պƷþþþþ| þŷձƷ| ɫۺϾþ88ɫۺ | þþþþŮ| þþƷ۲ӰԺ| һAëƬѹۿþþƷ| ˾þþƷһ| ޳avƬþ| һֻƴƬ99þ| þþùƵ| ƷþþþĻһ| Ʒþ| 츾þþ| þþþAV| þĻƷѩ| þһ| ݺɫݺݺݺݺɫۺϾþ| ƷŮٸAVѾþ| ŷձþþƷ| þùһ| þۺϺݺۺϾþü | ٸþĻһ| 97㽶þҹɫƷ| þ99Ʒþþþþ| ձƬҹþ| þñ˾þ| ޹˾þþƷ| þۺۺϾþ97ɫ| ѹۿ˾þѹۿ| þþƷh| ũ帾ŮëƬƷþ | þ°Ҳȥ|