博文

Notepad++命令扩展必知必会(2010-12-01 09:53:00)

摘要:我们都知道在Notepad++中,可以通过命令方式,运行一些外部程序,或者是用来编译程序,把notepad++作为一个轻量级的IDE。以前发过一篇文章,简单介绍过,如何将notepad++,作为php,java,c#等开发工具。其实原理很简单。 1、安装NppEXEC这个插件 2、进入当前文件所在目录 (以PHP为例) cd "$(CURRENT_DIRECTORY)" 3、让PHP来解释当前文件 D:\Program Files\VertrigoServ\Php\php.exe "$(FILE_NAME)" 下面在程序中,就可以利用F6非常简单的。 但是,关键问题是好多人不知道Notepad++这些内置的常量,如上面用到的CURRENT_DIRECTORY、FILE_NAME等。 其实,如果仔细查看帮助手册的,就会找到了。 下面我把其在手册的位置告诉大家。 按SHIFT+F1,会打开Notepad++帮助文档,在目录选项卡上找到Run Commands,打开它,仔细往下看,会看到如下常量: FULL_CURRENT_PATH 当前文档的完整路径CURRENT_DIRECTORY 当前文档所在目录FILE_NAME 当前文档的名称(不包括路径)NAME_PART 当前文档的名称(不包括扩展名)EXT_PART 当前文档的扩展名NPP_DIRECTOR            Notepad++ 可执行文件所在目录 CURRENT_WORD 文档中当前选择字词CURRENT_LINE 文档中被选择的当前行(从0开始,第一行是0)CURRENT_COLUMN          文档中被选择的当前列(从0开始,第一列是0) 就说这么多了,大家应该知道怎么用了吧 ......

阅读全文(4563) | 评论:0

prototype window 扩展(2010-09-28 12:54:00)

摘要:今天研究prototype winodw源码,看到源码中有一个全局变量 Windows,这个可以对每个window进行管理,也可以对所有window进行管理。 其中有两个方法close,closeAll,就想到再加两个show,showAll,代码如下: show: function(id, event) {     var win = this.getWindow(id);     if (win)       win.show();     if (event)       Event.start(event);   }, showAll: function(){       this.windows.each( function(w) {Windows.show(w.getId())} );   }, 试了一下,可以正常工作。 ......

阅读全文(1650) | 评论:0

使用CVS和SVN下载SourceForge的开源项目(2010-09-02 16:15:00)

摘要:SourceForge这么好的开源网站,源代码下载方法 1、通过CVS 方法:网上搜到的。 用Eclipse带的CVS为例: 如在开源项目vertrigo中,在项目首页http://sourceforge.net/projects/vertrigo/点击develop链接,下面的cvs信息如下 : cvs -d:pserver:anonymous@vertrigo.cvs.sourceforge.net:/cvsroot/vertrigo login cvs -z3 -d:pserver:anonymous@vertrigo.cvs.sourceforge.net:/cvsroot/vertrigo co -P modulename eclipse cvs相应的设置如下: 1 Host:            项目名称vertrigo.cvs.sourceforge.net 2 Repository Path: /cvsroot/vertrigo 3 User:            anonymous 其它默认,点击Finish就可以连接上代码服务器啦! 2、通过SVN 使用TortoiseSVN软件,安装方法和一般软件一样。 以SourceForge上的notepad++为例,在它的项目首页https://sourceforge.net/projects/notepad-plus点击develop链接,下面的svn信息如下: svn co https://notepad-plus.svn.sourceforge.net/svnroot/notepad-plus notepad-plus 安装好了,在一个非中文目录下,右键->SVN检出,弹出一个对话框,在版本库中将以下链接输入 https://notepad-plus.svn.sourceforge.net/svnroot/notepad-plus notepad-plus 就可以了。它就会自动来下载了。    ......

阅读全文(3412) | 评论:0

Access粘贴时出现“文件共享锁定数溢出”错误(2010-08-19 16:41:00)

摘要:Access粘贴时出现“文件共享锁定数溢出”错误的解决方法  错误: 今天从TXT中复制一些数据到Access中的一个字段时,产生了溢出错误,提示“文件共享锁定数溢出”   原因: Access默认最大只支持9500条数据而导致的,如果你粘贴的数据超过9500条时,就会出错;   解决: 在注册表中修改一下值即可,步骤如下: 1.先进入注册表:打开 “开始-运行”菜单 在框中输入 regedit 打开注册表后,找到以下值[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0] 展开后右击"MaxLocksPerFile",点击十进制把出现的9500的值改大即可,可以改成30000,或在你所需要的数据范围外。  以上解决办法,参考了网上搜集到的资料。 ......

阅读全文(10825) | 评论:0

ACCESS中的UPDATE语句不支持SELECT的解决办法(2010-08-17 16:06:00)

摘要:利用INNER JOIN, 示例如下: UPDATE easton e INNER JOIN DICT d ON e.EnglishName = d.ename SET e.ChineseName_B5 = d.cname;......

阅读全文(3006) | 评论:0

php读取ACCESS数据库时,内容被截断(2010-08-17 16:03:00)

摘要:问题: php读取ACCESS数据库时,内容被截断,网上搜索了好久,才找到答案, 原因: 原来,通过ODBC读取数据库,默认设置,读取的大小为4096 字节。难怪会发生截断。 ; Handling of LONG fields.  Returns number of bytes to variables.  0 means ; passthru. odbc.defaultlrl = 4096 解决: 把默认值改的大一点儿,就OK了。如odbc.defaultlrl = 40960......

阅读全文(2607) | 评论:0

Google 地图使用(2010-07-30 18:00:00)

摘要:1、先在谷歌地图上,注册一个网址的API接口KEY 2、我注册的是localhost本机地址,生成的key如下: ABQIAAAANpgrTJS0VJo_3Mnd4asV0BT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQ1qjKcPCry58uG062w8uCxECGTzg 3、新建一个普通的HTML文件,内容如下,记得KEY要换成你自己的,就可以了,下面就会显示成都的地图。很方便的 成都, 东经104.06, 北纬30.67 <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">   <head>     <meta http-equiv="content-type" content="text/html; charset=utf-8"/>     <title>Google Maps JavaScript API Example</title>     <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true_or_false&amp;key=ABQIAAAANpgrTJS0VJo_3Mnd4asV0BT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQ1qjKcPCry58uG062w8uCxECGTzg" type="text/javascript"></script>     <script type="text/javascript">  //成都, 东经104.06, 北纬30.67     function initialize() { &n......

阅读全文(1697) | 评论:0

Google AJAX 搜索 API(2010-07-28 18:42:00)

摘要:  什么是 Google AJAX 搜索 API? Google AJAX 搜索 API 可让您通过 JavaScript 将 Google 搜索放在网页中。您可以嵌入一个简易的动态搜索框,并可以在自己的网页上显示搜索结果,或者以创新的编程方式使用这些结果。请查看以下示例获得一些启发。 这是谷歌搜索API的注册页面 http://code.google.com/intl/zh-CN/apis/ajaxsearch/signup.html 我亲自试过了,可以的. 注意,在它自动生成的给我的示例代码中,需要自己手动换行,不然打开网站会一直是Loading... 大家可以看我注册之后,放到网站上的效果 网址如下: http://lixuwei.freehostia.com/ ......

阅读全文(1692) | 评论:0

[转]EditPlus正则表达式替换字符串详解(2010-07-27 16:18:00)

摘要:正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率。 EditPlus的查找,替换,文件中查找支持以下的正则表达式: 表达式 说明 \t 制表符. \n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc". [] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字. [^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符. * 其左边的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee". + 其左边的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b". ? 其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee". ^ 其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行. $ 其左边的表达式被匹配在一行的结尾. 例如 "e$" 仅仅匹配以 "e" 结尾的行. () 影响表达式匹配的顺序,并且用作表达式的分组标记. \ 转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\". 例子: 原始串 str[1]abc[991]; str[2]abc[992]; str[11]abc[993]; str[22]abc[994]; str[111]abc[995]; str[222]abc[996]; str[1111]abc[997]; str[2222]abc[999]; 目标串: abc[1]; abc[2]; abc[11]; abc[22]; abc[111]; abc[222]; abc[1111]; abc[2222]; 处理: 查找串:str\[([0-9]+)\]abc\[[0-9]+\......

阅读全文(3854) | 评论:1

基于prototype的轻量级右键菜单(2010-07-13 19:04:00)

摘要:示例: http://yura.thinkweb2.com/scripting/contextMenu/ How to use it Download proto.menu.0.6.js and include it in your page <script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/proto.menu.0.6.js"></script> There's an optional CSS file if you do not wish to style menu yourself <link rel="stylesheet" href="proto.menu.0.6.css" type="text/css" media="screen" /> Create an array of links to display in a menu var myMenuItems = [ { name: 'Edit', className: 'edit', callback: function() { alert('Forward function called'); } },{ name: 'Copy', className: 'copy', callback: function() { alert('Copy function called'); } },{ name: 'Delete', disabled: true, className: 'delete' },{ separator: true },{ name: 'Save', className: 'save', callback: function() { alert('Saving...'); } } ] Initialize Proto.......

阅读全文(1474) | 评论:0