加载中…
个人资料
我在沉睡
我在沉睡
  • 博客等级:
  • 博客积分:0
  • 博客访问:93,113
  • 关注人气:11
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
友情链接

CJCDelphi资料馆

Delphi资料和技巧共享论坛

CJC软件园

背单词软件及一些工具软件下载网站

Mrs Children 小姐

一起私奔吧

小尘埃的Blog

老弟的Blog

Arthur(阿胜)的新浪博客

还说是懒人咧,一弄弄两个博客!

Arthur(阿胜)的专栏

“懒人”创世界!永远的代码,永远的程序

玉兔的灵魂

一位勤奋、坚强、值得敬佩的朋友

评论
加载中…
留言
加载中…
博文
安装完微软必应输入法之后,会默认安装上一个叫 MicrosoftBAF (全称是 Microsoft Bing Apps Foundation)的组件。而当你卸载了微软必应输入法之后,这个组件并未被删除,并且还能随机启动。

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
2012 年 5 月 29 日 UPDATE: 收到 @微软中国TechNet 的答复(点击这里

起因源于一条微博(点击这里):

转发这条微博后,收到了 @微软中国TechNet 的回复:
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

微软

win7

注册表

registry

it

分类: IT 冲浪
常常写程序的朋友一定会经常为程序目录、用户目录等根据安装环境不同而发生变化的路径而撰写提取路径字符串的代码。这些提取方法中,最简便的,也可能是大多数人用的,就是直接读取注册表中的键值、使用Shell Folder函数、读取环境变量等方法。今天我在做着同样的事情的时候,在Win7的注册表中,发现了微软给那些习惯使用最老的用读注册表来获得目录的程序员留下了一句忠告。如图:



这是在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 键值下的截屏。可以看到,第一个条目,微软就给出了强烈的警告“Do not use this registry key”,键值提供了解决方案“Use the SHGetFolderPath or SHGetKnownFolderPath function instead”。不过,这个警告仅限于 HKEY_CURRENT_USER 下,HKEY_LOCAL_MAC
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

转载

分类: Delphi 探索

资料来源于 DFW 离线包:
=====================================================================
一.方法
lich (2003-10-30 22:16:00) 
前言:
如果你的程序中使用了 COM对象或者 OCX控件,
发布程序的时候必须带上相关的 DLL文件或者 OCX文件,
同时还需要注册到系统中,
如果我想让我的程序 Copy & Run, 不需要安装,(现在流行绿色软件嘛)
那么使用下

阅读  ┆ 评论  ┆ 转载原文 ┆ 收藏 
标签:

delphi2010

rtti

反射

it

分类: Delphi 探索

自从Delphi2010中引入了新的RTTI反射机制后,编译出来的程序会变得很大,这是因为默认情况下 Delphi2010 给所有类都加上了反射机制。而我们的工程并不每每都需要使用到这个功能,所以对于不需要使用的地方,我们可以简单的用下面的方法禁用RTTI反射,从而大大减小文件体积。

禁用的方法很简单,就是要在工程(dpr文件中。Delphi2010下项目文件是dproj文件,但dpr文件仍然是默认的编写代码的项目文件)的Uses语句前添加下面的定义就可以了:

{ Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) } 
{$IF CompilerVersion >= 21.0} 
  {$WEAKLINKRTTI ON} 
  {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} 
{$IFEND}

更多有关Delphi2010的RTTI技巧,可参见 http://www.zipplet.co.uk/index.p

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
众所周知,Windows XP/Windows 7 等操作系统都是支持 Unicode 国际字符编码的操作系统。在这样的操作系统上,可以完整的呈现多国语言字符。不过最近的使用过程中发现,有些 XP 和 Win7 用户无法正常显示“韩语、日语”等其他语言字符,在资源管理器中,多国语言字符的文件呈现“方框”状,鼠标移动上去提示的 Hint 有时又是正常的!在记事本中输入韩文,会显示方框;在 Office Word 中又是正常的!如果您发现您的电脑有上述情况,那么很有可能是因为下面的原因引起的!这个问题的罪魁祸首是:

C++ 2005  Redistributable
什么是“C++ 2005  Redistributable”,简单的说,是微软 C++ 2005 依赖文件的可再在发行分发包。也就是说,一些第三方软件公司使用 C++ 2005 开发的程序要在客户的电脑上执行正常,必须有这些相关文件。而这些文件在这个“C++ 2005  Redistributable”包中允许第三方公司直接随着自己的软件分发出去,并安装到客户的电脑上!包括市面上常见的游戏等,都会依赖这个包。

造成本文提到的“显示方框”问题的原因,就是客户电脑安装英文或其它语言
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  11月18日,Google(谷歌)通过Blog宣布,将向大众发布《生活》(LIFE)杂志保存的档案照片。目前,这批档案中,已有百分之二十的内容上网,到明年第一季,全部内容都将可以通过Google查看。这次公布的档案中,有百分之七十的内容从未公之于众。其中除了照片,还有底片、幻灯片、蚀刻版画、玻璃板等。《生活》杂志创刊于十九世纪末,以拍摄历史性照片著名,曾出品过“二战海军亲吻护士”等众人皆知的照片,目前该杂志已停刊,只保留网站。

  该图片库不仅包括肯尼迪总统遇害瞬间的照片,还有《生活》画报著名摄影记者Alfred Eisenstaedt和Gjon Mili等的数字化底片、幻灯片和照片等。还有最早1750年的照片。

  目前,收录的约1000万张图片中约20%已在线公开,今后几个月中,就可以在线浏览数字化的所有照片。据美国媒体(CNET News.com)称,首次公开的图片约占97%。

  除了可以输入关键词搜索照片外,还可以分“People”、“Places”、“Events”、“Culture”、“Sports”五个浏览。另外,点击图片可以全尺寸显示。还备有专用按钮,可通过《生活》画报购买经装裱的照片。

  《生活》杂志网站
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
FlashGet 论坛上已有用户报告此事:http://bbs.flashget.com/viewthread.php?tid=19099&extra=page%3D1 报告时间是 2008-11-1 22:12


点击看大图

11月4日补图:卡巴已经报告此文件为病毒,病毒名为 Trojan.Win32.Agent.aloj。之所以报告 FireFox 试图访问恶意程序,是因为我正准备通过 FireFox 上传文件到网络病毒扫描引擎上扫描。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
本文转载自 CnPack 论坛:http://bbs.cnpack.org/viewthread.php?tid=2338&extra=page%3D1
作者为 CnPack 核心组成员:shenloqi

    D2009中引入了Unicode,泛型和闭包。(D2009.Net还没有发布,据说会把所有.Net的东西都加上,包括 LINQ,WPF,SilverLight,甚至包括Linux平台的Mono运行)泛型和闭包虽然.Net中早就有了,但是还有不少人理解不是很深。我前段时间也经常看到有些老外在博客上就D2009给出的闭包等提出讨论,说闭包没有什么用,闭包可以做的我们用本地函数或者函数指针应该也能做到等等。

    泛型一般情况下的用途是用于强类型的集合和容器,闭包一般可以用于简化API(尤其是回调)定义和使用。

    但是作为程序员,就要能够最大程度的利用工具的能力,泛型和闭包这些功能除了一些常规用途之外,我们还能用它们做什么呢?

    我已经
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
接上文

  • MultiByteToWideChar 函数
调用 Windows API MultiByteToWideChar 函数可以简单的用一个任务替代,下面是一个是用 MultiByteToWideChar 的例子:

procedure TWideCharStrList.AddString(const S: string);
var
  Size, D: Integer;
begin
  Size := SizeOf(S);
  D := (Size + 1) * SizeOf(WideChar);
  FList[FUsed] := AllocMem(D);
  MultiByteToWideChar(0, 0, PChar(S), Size, FList[FUsed], D);
  Inc(FUsed);
end;

转换到 Unicode 下可以写作这样(同时支持 Unicode 和 ANSI 字符):

procedure TWideCharStrList.AddString(const S: string);
{$IFNDEF UNICODE}
var
  L, D: Integer;
{$ENDIF}
begin
{$IFDEF UNICODE}
  FList[FUsed] := StrNew(PWideChar(S));
{$ELSE}
  L := Length(S);
  D := (
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有