REALbasic 中使用 ShellExecute 执行命令

在 REALbasic 中,如果需要执行 cmd 命令,可以直接使用 Shell 类,但是这样的话,编译成 Windows 程序时会额外需要一个 Shell.dll 的动态链接库,这对于我这样的 1exe 爱好者是不能忍受的。但是对于 Mac OS X 和 Linux 的生成目标来说,是不存在这个问题的,因为 Mac OS X 的应用程序本身就是一个文件夹,而 Linux 的目标不会生成额外的链接库。因此,需要针对 Windows 进行特殊处理。于是在网上搜索解决方案,找到了 VB 中执行程序的几种方法:

1. 使用 CreateProcess

通过 CreateProcess 以及使用管道,可以执行外部程序并获取输出,但是这个方法过于烦琐,并且我也不需要外部进程执行完毕后的输出结果,因此不采用。

2. 使用 Shell 方法

VB 里有一个 Shell 方法,但是在 RB 中并没有,所以此路不通。

3. 使用 ShellExecute

这个方法同样是一个系统 API,可以直接通过 …

阅读全文 »

解决 Finder 中挂载 Samba 出现“输入的文本似乎不是可识别的 URL 格式”错误

在公司里为了让笔记本和台式机共享文档,决定用内部的 Samba 做中转,但是在 Finder 中直接使用“连接到服务器”时,会出现“输入的文本似乎不是可识别的 URL 格式”错误,但是我输入的地址明明是 smb:// 开头的。

用这个错误信息在网上找了找,没有找到任何解决文案,遂放弃。

今天决定再尝试一下,换了个关键字,直接用“iDeneb samba”作为关键字来搜索,慢慢发掘之后还真找到了有用的信息:http://www.hackint0sh.org/f179/81233.htm

按照文中说明,到 /System/Library/Filesystems 目录下,把 afpfs.fs 删除,并重新创建到 /System/Library/Filesystems/AppleShare/afpfs.kext 的软链接,但是操作完之后还是会提示“输入的文本似乎不是可识别的 URL 格式”。

再找了找,找到了这篇:http://www.insanelymac.com/forum/i ... opic=92989&st=580,似乎说是系统安装完成时 afpfs.fs 到 /System/Library/Filesystems/AppleShare/afpfs.kext 的软链接少了开头的斜杠,也就是说它的软链接地址是 System/Library/Filesystems/AppleShare/afpfs.kext

好吧,我在之前操作的时候为了省事,直接进入 Filesystems 目录用相对路径来创建软链接的,看了文章之后,老老实实的用全路径再次创建软链接,Command+K,双击,成功连上 Samba 服务器:)

完整的操作步骤也只有两步:

sudo rm /System/Library/Filesystems/afpfs.fs

sudo ln -s /System/Library/Filesystems/AppleShare/afpfs.kext /System/Library/Filesystems/afpfs.fs

注意:一定不能省略了路径最开始的斜杠(/)或者使用相对路径。

所以,如果你也是用黑苹果的,也碰到了这个问题,不妨试试这个解决方法吧。

1000E 升级到 2G 内存时安装 OSX 需要用到的 dsdt.aml

上周去把 EPC 的内存升级到了 2G,直接发现开机进不了 OSX 了。

在两天没有电脑用之后,下定决心重装系统。重装之后,能进系统,但是重新启动之后键盘和触摸板就不能用了,电池状态指示挂了,郁闷。

在网上找了找,发现可能是 dsdt 的问题。由于内存大小变了,dsdt 中的信息不正确,继而导致 ACPI 失效,然后就整个玩完了。

一个老外找到了解决方法,通过修改 dsdt.aml 文件中的内存大小信息,就可以正确进入系统了。直接下载他提供的压缩包中的 dsdt.aml,开机直接四国了……

好吧,这个老外蛮厚道的,给出了手动处理的方法:

For the 1GB:

Name (SMBS, 0×0400)
OperationRegion (BIOS, SystemMemory, 0x3F7AE064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{

For the 2GB:

Name (SMBS, 0×0400)
OperationRegion (BIOS, SystemMemory, 0x7F7AE064, 



阅读全文 »

Coda 前端开发插件 F2E Tools

在 EeePC 上装了个 Mac OS X,相应的开发工具也选择了 Coda。在 Windows 下,EditPlus 可以通过添加自定义 工具的方式来给 EditPlus 的添加前端工具,但是在 Coda 上,就没有这么方便的自定义方式了。之前师兄清羽用 Python 实现 了 Coda 的 YUI Compressor 和 JS Lint 两个插件,后来在群里讨论要不要把 JS Beautify 也集成。

想 法有了,上周末回家就开写,Coda 的插件有两种形式的,一种是用脚本来写,另外一种是用 Cocoa 来写。使用脚本很简单,Python、 Ruby 等等都可以,只要系统上有解释器。相对而言还是 Python 熟一点,就选用 Python 来编写这几个插件了。

图片附件

下载:
http://dl.getdropbox.com/u/1451589/Blog/CodaF2ETools.zip

for Coda 2
F2E Tools for Code

阅读全文 »

HTML5 Canvas 起步(3) – 颜色与渐变

上一篇介绍了 HTML5 中 Canvas 的路径,这篇将要介绍一下 Canvas 中的颜色及渐变。

Canvas 中的基本颜色系统

在 Canvas 中,颜色主要用途就是在绘制路径时,用来指定填充颜色和边框颜色。

Canvas 中的颜色参数值有两种格式:

1. 如果透明度为 1.0,也就是不透明,颜色值的格式就与一般使用一样,为:#AABBCC,其中 AA、BB、CC 分别为 Red、Green、Blue 分量。

2. 如果透明度不为 1.0,也就是带透明,颜色值格式可以使用 rgba(r, g, b, a),其中 r、g、b、a 分别为 Red、Green、Blue 分量和透明度。透明度的值为 0 至 1.0 之间的一个数值。

3. 颜色值还可以为已知的颜色名称,例如 red、blue、green 等。

总的说来,Canvas 中颜色值的格式与 CSS 中一致,因此颜色值没有特别需要注意的地方。

图片附件

<canvas id="canvas" width="600" height="500"></canvas> <script 


阅读全文 »

HTML5 Canvas 起步(2) – 路径

上一篇介绍了 HTML5 中 Canvas 的基本概念,这篇将要介绍一下 Canvas 中的基本图形。

图形的基础 - 路径

在 Canvas 中,所有基本图形都是以路径为基础的,也就是说,我们在调用 2dContext 的 lineTo、rect 等方法时,其实就是往已经的 context 路径集合中再添加一些路径点,在最后使用 fill 或 stroke 方法进行绘制时,都是依据这些路径点来进行填充或画线。

在每次开始绘制路径前,都应该使用 context.beginPath() 方法来告诉 Context 对象开始绘制一个新的路径,否则接下来绘制的路径会与之前绘制的路径叠加,在填充或画边框时就会出现问题。在绘制完成路径后,可以直接使用 context.closePath() 方法来关闭路径,或者手动关闭路径。另外,如果在填充时路径没有关闭,那么 Context 会自动调用 closePath 方法将路径关闭。

基本路径方法

1. beginPath, closePath

这两个方法在前面已经介绍过,分别用来通知 Context 开始一个新的路径和关闭当前的路径。

在 Canvas 中使用路径时,应该要保持一个良好的习惯,每次开始绘制路径前都要调用一次 beginPath 方法,否则画出来的效果难看不说,还会严重影响性能。

在下面这张图中,左边的图形在每次绘制矩形前都调用了一次 beginPath 来清除之前的路径并重新开始绘制新的路径,而后面的图形则就只在绘制所有图形前调用了一次 …

阅读全文 »

Bespin 0.2.1 “Cheeky Cirrus” Released

Mozilla Labs 昨天发布了 Bespin 0.2.1 "Cheeky Cirrus"。就在前天的时候,Mozilla Labs 发布了 Bespin 0.2.0 "Sassy Cirrus",不得不说开源项目的更新速度是相当快,现在 Bespin 项目的开发成员好像越来越多,估计要进入快速发展期了,非常期待 Bespin 的优异表现。

昨天发布的 Bespin 0.2.1 "Cheeky Cirrus" 中更新了以下内容:

1. Jetpack 支持:按文档来看,应该是用于扩展程序功能的,可以在以后 Bespin 支持插件时,给插件提供调试、永久存储以及用户界面上面的支持。

2. 增加了 "hg init" 命令来给将一个项目初始化为一个 Mercurial 版本库。

3. 增加了 "vcs status" 查看当前工作副本的状态。

4. 增加了对子命令自动完成的支持。

Bespin 从 0.2.0 Sassy Cirrus" 开始就开始支持 Mercurial 了,这也就意味着,可以使用 …

阅读全文 »

HTML5 Canvas 起步(1) – 基本概念

什么是Canvas

<canvas> 是一个新的 HTML 元素,这个元素在 HTML5 中被定义。这个元素通常可以被用来在 HTML 页面中通过 JavaScript 进行绘制图形、合成图像等等操作,也可以用来做一些动画。当然,目前 HTML5 规范还在草稿阶段,正式发布也许要等到2010年,不过现在已经有不少浏览器已经支持了部分 HTML5 规范。目前支持 canvas 元素的浏览器有 Firefox 3+、Safari 4、Chrome 2.0+ 等,因此,在运行本页中的例子时,请确保你使用的是上述浏览器之一。

尽管在 Mozilla 已经有不少关于 Canvas 的教程,我还是决定把自己的学习过程记录下来。如果觉得我写的不够明白,那么你可以在参考资料中找到 Mozilla 网站上 Canvas 教程的链接。

另外,可以在这里找到一些有趣的 Canvas 示例。

开始使用 Canvas

使用 Canvas 很简单,与使用其他 HTML 元素一样,只需要在页面中添加一个 <canvas> 标签即可:

<canvas id="screen" width="400" height="400"></canvas>

当然,这样只是简单的创建了一个 …

阅读全文 »

“云端的编辑器”,10 步安装 Bespin Development Server(Python版)

Mozilla Labs 在今年情人节那天发布了一个叫 Bespin 的编辑器,这是一个基于网络的可扩展文本编辑器,按照现在流行的说法,就是“云编辑”了。并且,这个编辑器是开源的。

图片附件

Bespin 是基于 Canvas 的,因此目前它只支持少数浏览器,其中包括 Firefox 3+、Safari 4 以及 Chrome 2 开发版,因此,如果要使用 Bespin 的话,你必须使用这几款浏览器中的一种。

要体验 Bespin,可以直接在 bespin.mozilla.com 注册一个帐号并且登录,不过目前 bespin.mozilla.com 所用的代码并不是最新版本的,线上使用的代码有许多不完善之处。因此,除了使用 Mozilla Labs 官方的 Bespin 站点,我们也可以从 Mozilla Labs 下载 Bespin 源代码,并在本地搭建 Bespin 服务,从而可以体验 Mozilla Labs 最新的开发成果。

注意,这篇文章并不介绍怎么去使用 Bespin,而是介绍怎么样去配置一个可以在本地运行的 Bespin 服务器,因此,如果你需要了解怎么去使用这个编辑器,可以参阅 Mozilla Labs 上的文档,或者等我再写一篇使用 Bespin …

阅读全文 »

YUI学习笔记(4)

YUI学习笔记(4)

by xujiwei (http://www.xujiwei.com/)

YAHOO.util.Subscriber 与 YAHOO.util.CustomEvent。

1. YAHOO.util.Subscriber (event.js)

这 应该算是设计模式中的观察者模式了,Subscriber 订阅一个事件,在 Publisher 触发那个事件后,会逐个通知 Subscriber。

对 于一般开发者来说,并不需要去关心 Subscriber 的实现,因为 Subscriber 主要是 CustomEvent 用来分发动作以及删 除 Subscriber 的。

Subscriber 类只定义了 3 个属性:fn、obj 以及 override,3 个方 法:getScope、contains、toString,其中 fn 为订阅者的回调函数,obj 为要传递给回调函数的一个额外参 数,override 如果是布尔型的 true 值,那么表示使用 obj 属性为回调函数执行时的上下文,或者直接使用一个对象来作为回调函数执行的 上下文。

Subscriber 的 3 …

阅读全文 »