维坦

感谢您的关注!


  • Aug
    16

    用于 VS2008sp1 的 SL2b2 简体中文版

    Filed under: 编程; Tagged as:

    下载地址:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=50a9ec01-267b-4521-b7d7-c0dba8866434&DisplayLang=zh-cn

    具休没有什么更新, 只是为了应对 VS2008 的 SP1 补丁而存在的.

    一个 SP1 补丁就很头疼, 这次新的工具包不知道安装是否顺利...

    No Comments
  • Aug
    15

    扩展方法的使用

    Filed under: 编程; Tagged as: ,

    在AutoCAD开发中, 如果想要在命令行输出结果之前插入时间, 你会怎么做?

    当然最直接的就是拼接字符串了, 又或者定义静态方法来调用

    之前有次在群里, 好多人对我的一段F#代码惊讶不已.
    下面就是把好多人雷到的Super Code:

     
    type Editor with
        member t.WriteWithTime x =
            "[" + DateTime.Now.TimeOfDay.ToString() + "] " + x + "\n"
            |> t.WriteMessage
     
    let ed = Application.DocumentManager.MdiActiveDocument.Editor
    ed.WriteWithTime("带时间的输出风格.")
     

    看到了吗? 我给Editor"增加"了一个WriteWithTime方法!
    这叫什么? 狗尾续貂? 貂尾续狗? 汗...
    它的学名叫: 扩展方法

    如果可以这样写程序会怎么样?
    "用户密码".MD5()
    DateTime.GetMyBirthday()

    之所以我给[增加]二字括上了引号, 是因为Editor其实没变, 障眼法而已, 人称语法糖, 目的是让你写代码更舒服, 可事实上和定义静态方法也没什么区别, 深入的我也说不清楚, 看看C#3.0该怎么实现这个吧:
    注意: 这是C#3.0的新特性, 因此也只能用于VS2008. 更详细的信息请参考:
    http://msdn.microsoft.com/zh-cn/library/bb383977.aspx

     
    using System;
    using Autodesk.AutoCAD.ApplicationServices;
    using Autodesk.AutoCAD.EditorInput;
    using Autodesk.AutoCAD.Runtime;
     
    namespace EditorExt
    {
        public class Class1
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
     
            [CommandMethod("Test1")]
            public void Test1()
            {
                ed.WriteMessage("WriteMessage - 普通输出.");
            }
     
            [CommandMethod("Test2")]
            public void Test2()
            {
                ed.WriteWithTime("WriteWithTime - 带时间输出.");
            }
        }
     
        static class MyExtensionMethods
        {
            // 第一个参数代表要扩展的类 前面加this修饰 调用时只显示一个message参数
            public static void WriteWithTime(this Editor editor, string message)
            {
                editor.WriteMessage("[" + System.DateTime.Now.TimeOfDay.ToString() + "] " + message + "\n");
            }
        }
    }
     

    运行结果:

    命令: netload
    命令: test1
    WriteMessage - 普通输出.
    命令: test2
    [15:52:00.2029960] WriteWithTime- 带时间输出.

    命令: Okey如我所愿
    未知命令"OKEY如我所愿"。按 F1 查看帮助。

    命令: 囧...
    未知命令"囧..."。按 F1 查看帮助。

    2 Comments
  • Aug
    13

    VS2008升级到SP1安装问题

    Filed under: 编程; Tagged as:

    昨天收到的VS2008SP1中文版推出正式版的消息, 赶忙下了个.

    VS2008SP1CHSX1512981.iso

    似乎我每次安装该系列产品都不会顺利, 这次也没让我失望, 直接就给我来了个错误, 提示让我到网站上去找个预安装前的准备工具.

    我已经习惯于此, 还在群里调侃说:"微软的安装包真是越来越微软了!"

    OK 有问题就解决问题, 边下载那个清理工具, 边查看自述说明, 发现其中一条是符合我的, 我装过Silverlight 2 beta2. 于是卸载掉, 包括之前提过的一个VS补丁, 再次安装结果还是不行...

    和我过不去, 那怎么能行, 我的钻牛角尖的毛病又犯了. (有人因此说我工作一定很闲 T_T)

    卸载VS2008重装, 这次停在了另一个地方: 进度条走到升级.NET Framework 3.5 sp1的时候出了问题, 丢给我一个错误日志:

    Microsoft .NET Framework 3.5 'package': [2] Failed to fetch setup file in CBaseComponent::PreInstall()
    .......
    WapUI: [2] DepCheck indicates Microsoft .NET Framework 3.5 'package' is not installed.

    找不到.netfx3.5??? 怎么会呢? 那我就重来, 把VS2008以及一切由它带进来的牛鬼蛇神全都清出去, 其中.netfx3.5在卸载的时候还真的碰上了问题, 幸好找到了一个专用的清理工具 dotnetfx_cleanup_tool.zip, 将.netfx3.5这个大神给请了出去.

    重装VS2008的过程倒是没碰上什么问题, 只是装SP1的话问题依旧.

    我无奈的仔细翻着自述文件, 突然发现一段:

    在未安装 .NET Framework 2.0 SP2 和 .NET Framework 3.0 SP2 的 Windows Vista 计算机上安装 Visual Studio 2008 SP1 时,可能会显示要求重新启动计算机的 Windows 自动更新通知。若允许立即重新启动 Windows Update,则将导致 Visual Studio 安装程序失败。

    解决此问题的方法:

    请将重新启动推迟到 Visual Studio SP1 安装完成后再执行。

    我亲爱的微软兄弟, 你是要婉转的告诉我打开Windows Update服务么? 那可是我装系统之后习惯性关闭的第一批服务啊? 你难道这么不了解用户的使用习惯吗?

    以前曾经开玩笑的说, Win2k8桌面上已经没有"我的电脑"了, 有的只是"计算机", 也就是说装好Win2k8以后老老实实的用就行了, 千万别乱碰, 因为那已经不再是"你"的电脑了~!~

    No Comments
  • Aug
    8

    转发消息的礼节

    Filed under: 随笔; Tagged as:

    通讯的发展让人们的交流变的越来越容易, (例如QQ群).

    一些人会精心构思一些"生动有趣的" "感人肺腑的"消息以图大面积传播, 更有甚者还要在文末加上某种利益的诱惑及恶毒的诅咒. (例如转发会变太阳升会员, 或者不转发会如何霉运甚至伤及家人)

    且不论"始作俑者"当初是以何心态, 单说那些被动传播者, 举几个典型的例子:

    没有时间观念:

    • 四川地震急需血源
      且不说是真是假, 当然我希望消息真的达到了应有的目的, 如今三个月都过去了, 难道还急需么?
    • 文殊菩萨出行日
      这个更为突出, 我们是唯物主义者本就不该相信这些, 更何况从年初到现在天天出行? 噢SORRY~我忘了天上一天地上一年...
    • 寻人启示
      这个是最难以控制的, 消息的泛滥不能说是谁的过错, 问题在于发消息的人找到找不到也不可能再来个作废声明. 所以从发出来的一刻就注定会泛滥成灾.

    没有场合观念:

    • 不打招呼的插播
      对于像我这样经常以QQ群为技术讨论平台的人来说, 大家正在兴致勃勃的谈论某一重点, 突然一束光闪过, 所有人都不知道说到哪了...
    • 各类图片 或黄 或敏感
      想想有多少人是正在上班的吧, 那么显眼的图片, 着实让我们这些上班族处于尴尬境地.

    没有道德观念:

    • 不跟着转发就会被诅咒
      祸及运气 幸福 婚姻 乃至人身安全, 更有甚者连父母家人都给带上了, 素质差到令人发指.
    • 转发会有某种好处
      这是非常常见的一种类型, 会以增加一个太阳 得多少Q币 免费升级为会员为诱饵, 我只能说, 这些人不但素质有问题, 连智商都有点不及格了, 将这种消息转发出来, 简直是在侮辱别人, 以为别人都和他自己一样容易上当...

    在这一系列事件中, 我觉得真正有危害的倒不是那些编写谣言的人, 因为编写者往往是出于某些利益考虑, 所谓人不为已天诛地灭, 为利益而编造也算是无可厚非.

    但是那些传谣者呢? 你们的目的是什么? 你们有目的么? 你们有思考么? 你们有看过么?

    No Comments
  • Aug
    4

    偷窥 F# 项目系统

    Filed under: 编程; Tagged as:

    Brian 是微软 F# 项目组成员

    在他的博客里谈到了目前 CTP 版本的一些细节:

    1. 新建 F# 项目和项模板('New Project'和'Add New Item')
    2. 像 C# 那样的'Add Reference'对话框, 包括工程到工程的引用.
    3. 支持链接项.('Add Existing Item'... 'Add as Link')
    4. 支持文件夹和在工程内对文件进行排序.
    5. 像 C# 那样的工程属性页
    6. 实现用于 MSBuild 的 F# 工程文件 '.fsproj'
    7. 一些与脚本(.fsx files)有关的新特性.

    2008-07-22

    第一弹:

    截图一张: (点击放大 不是很大 T_T)
    放大后粗步推断 F# 项目很有可能是高贵的紫色调 (相比 C# 的绿和VB.NET的蓝)

    Sneak peeks FSharp 1


    2008-07-28

    第二弹:

    研究院版本的 F# 缺少常规的 "Add Reference" 对话框.
    在即将到来的 CTP 版中会具备这一特性. (注意项目图标, 果真是暗紫色调!)

    Sneak peeks FSharp 2
    Sneak peeks FSharp 3

    同时还有工程到工程的引用, 方便混合语言编程.

    Sneak peeks FSharp 4
    Sneak peeks FSharp 5
    Sneak peeks FSharp 6
    Sneak peeks FSharp 7
    Sneak peeks FSharp 8


    2008-08-04

    第三弹:

    如果直接添加已存在的文件, 会创建一个副本.

    Sneak peeks FSharp 9
    Sneak peeks FSharp a
    Sneak peeks FSharp b
    Sneak peeks FSharp c
    Sneak peeks FSharp d

    有了添加为链接(Add as Link), 各项目重用文件方便了.

    Sneak peeks FSharp e
    Sneak peeks FSharp f
    Sneak peeks FSharp g

    使用msbuild命令行编译时, 需要设置.fsproj如下:

    Sneak peeks FSharp h

    接下来是文件排序, 在右键菜单里实现上移和下移, 不知道是否支持Drag&Drop.

    Sneak peeks FSharp i
    Sneak peeks FSharp j
    Sneak peeks FSharp k

    还可以直接添加到上面或下面

    Sneak peeks FSharp l
    Sneak peeks FSharp m

    No Comments
  • Aug
    2

    凤凰的威力 见识了

    Filed under: 随笔; Tagged as:

    江浦暴雨

    No Comments
  • Aug
    1

    日全食 (2008-08-01 18:00:00)

    Filed under: 随笔; Tagged as:

    日全食 2008-08-01 1

    日全食 2008-08-01 2

    日全食 2008-08-01 3

    日全食 2008-08-01 4

    日全食 2008-08-01 5

    2 Comments