结果就BT撩。
详见:猪哥访问录(bt~~)。-_-|||
BTW:还有续集猪哥访问录下集(bt~~)
BTW2350:为了保持大叔的厚道形象,免得被宁认为在75小宁,《猪哥访问录++》删除ed
BTW1128+1:《猪哥访问录++》已经PS完成,将重新发布。^O^

猛禽的归档8挂
结果就BT撩。
详见:猪哥访问录(bt~~)。-_-|||
BTW:还有续集猪哥访问录下集(bt~~)
BTW2350:为了保持大叔的厚道形象,免得被宁认为在75小宁,《猪哥访问录++》删除ed
BTW1128+1:《猪哥访问录++》已经PS完成,将重新发布。^O^
昨天把随笔分类整理了一下,大多内容都算作八卦了。^O^
今天夏丹MM终于又回来了,不过新闻还是那些八卦内容而已。
国际政坛:布什当选了。阿拉法特病危了。
国内IT:盛大的陈天桥入选今年国内十大富豪,一个《传奇》,四五年时间,十二亿美元的资产。网管拒绝提供色情网站被打死
除了sigh,还能说什么?
BTW:关于昨天的话题还有一点要补充的:
人民币的通胀是源于与美元的固定汇率,所以人民币的通胀率不会高于美元的通胀率。
如果原油涨到每桶300美元,则面条卖到30块人民币是有可能的。^O^
BTW1440:还有两则国内消息,不过也不算太新了:
一是据传为黑龙江宝马案的关键人物之一的《黑龙江省原政协主席韩桂芝严重违纪违法被查处》
对应的则是所谓的“妞妞事件”(参考《媚俗,媚权,还是媚钱》、《李副书记与妞妞头上的“伞”究竟有多大?—-评CCTV与妞妞的《面对面》!》、《也谈妞妞事件》、《观看《时差七公斤》的意义》……)
BTW1510:大平煤矿的血痕还在,《山西朔州一煤矿发生瓦斯爆炸 10人死亡6人被困》。幸好天气预报说今年中国将因为厄尔尼诺现象而有一个暖冬,看来可以少烧一些煤了,只是明年的农民们可能就要惨一些,因为害虫将会更多。
BTW1518:《中青报:三问”中国人均性伴侣全球第一”》,看来中国在这方面的进步是很快的嘛,文中所说的报告在此。
BTW1522:还是八卦一下吧,据说《研究称男性每天凝望靓女益健康 寿命延长4至5年》。看来PLMM不但养眼,还健身啊。我决定从现在开始,每天坚持看十分钟的美女图。^O^
凝视美丽的女性10分钟,健身效果差不多相当于做了30分钟的有氧运动
BTW1616:继续八卦妞妞,刚下载了那期《面对面》,大致看了一下。王志这次的表现还算可以,基本上李金华可以派人去深圳了。^O^
BTW1637:昨天刚听说要开设“自杀学专业硕士”学位,今天就看到这么一个帖子:我国何以每年有28万人自杀身亡。文中一句:如果,将来培养出来的“自杀学专业的硕士”再因为“饭碗问题”自杀了…… 简直笑S。
BTW1640:我曾经POST过一篇《为什么不婚检?》,今天看到这个:红网评论:《焦点访谈》怎能如此剪辑新闻?。看来不厚道的不只大叔一个啊。^O^
最近有人撰文抨击中国坚持人民币不升值的政策,导致国内最近的通货膨胀。而且这个帖子还流传得很快:《 美国人对付人民币不升值的办法!》。此帖有一个更加醒目的标题《人民币大贬值!30元一碗面为期不远!》
我前几天看到后,特地回家预习了一下宏观经济学。
文中说到:人民币的固定汇率政策导致了对外升值,对内贬值。这是没错。但该文作者有危言耸听的嫌疑。特别是其中第二点关于通胀的说明。发生通胀的原因有很多,文中说到的需求过热就是一个。扩大印钞并不是通胀唯一的理由。
不过需求过热根源也的确在于固定汇率。
事情要从很久很久以前……STOP,不是很久以前,就是今年以来,国际原油价格持续上涨,已经从伊拉克战争前的每桶约24美元直线上涨到现在已经突破每桶50美元的大关。
而石油作为一种基础资源,它的价格上涨将直接导致一系列的连锁反应,使得以美元计的物价上涨,即美元相当于贬值了。
由于人民币目前还是采取了紧盯美元的固定汇率制度,即保持人民币对美元的汇率在8.27左右小幅波动。则相当于人民币也跟着被贬值了。但实际上,在几个月前国内还没有任何通胀的迹象,以人民币计的物价并没有上涨,所以人民币面临着升值压力,即所谓的人民币被低估了。
这就意味着,从中国进口商品的价格会更低。因此中国出口增加了,美元流入了,外汇储备增加了。
表面上看是很好,但是由于出口的过量增加,必然导致国内的需求不能满足。最近宏观调控在控制钢铁/电解铝,就是因为它们的需求过热,所以各地才会争着要上马这些项目,只是那些地方官员根本就只顾眼前的地方利益,不明白中央的意图。
需求过热直接导致物价上涨,人民币就开始跟着美元一起贬值下来。(具体变化过程参见原文中的杯子例子)
要解决这个问题,最简单的办法就是上调人民币对美元的汇率(即所谓的人民币升值),以摆脱美元贬值的影响。但同时带来的影响就是出口会减少,这就看中央如何选择了。当然,站在美国的立场上,肯定是希望人民币升值的,这样才能有利于促进美国国内的产生,减轻进口压力。
其实在大体上,我的看法跟那个作者是一样的:国内最近的通胀的确跟固定汇率有一定关系。但我不同意他说的这是因为央行扩大货币发行量造成的。
相反的,央行最近的政策都是在缩减货币量。
4月25日,央行宣布法定准备金率从7%上调到7.5%。
准备金:为了保障储户的利益,商业银行不可以把储户存进来的钱全部拿去放贷,必须留一部分,以备储户在需要取钱时,有钱可取,这笔预留的部分就叫做准备金。准备金在储蓄总额中所占的比例就叫做准备金率。为安全起见,商业银行必须按照规定的准备金率,将相应的准备金交到央行,以防商业银行为了利益冒险将准备金也贷出去。
借助于银行的信贷机制,市场上流通的资本将高于央行实际发行的钞票。举例来说就是:假设央行发行了100块钱,则它的所有者可以把钱存入银行,然后银行从中保留一部分准备金后,把剩下的全部贷出,而贷款者又可以把钱存入银行,银行又可以贷出……如此反复,最后所有实际的货币都变成准备金,而流通资本却远比这要多(每转存一次,就翻一倍并减去准备金)。
货币乘数:按上面的说法,当全部的实际货币都转为准备金时,市场流通资本达到最大,其总额等于实际货币*(准备金率的倒数),所以把准备金率的倒数称为货币乘数。
也就是说,假设央行发行了10万亿的钞票,以原来7%的准备金率计算,市面上流通的资本就是:142.857万亿。而当准备金率上调到7.5%以后,则流通资本将减少到:133.333万亿。净减少:9.524万亿。所以说,原文所说的央行扩大印钞纯属无稽之谈。
采取这种紧缩策略的目的,无非是为了控制国内需求,以减轻通胀压力。当然它的效果也是很明显的:消息一出,股市应声下跌~~~~~because~~~~以商业银行存款总额为20万亿计,上调0.5个百分点就意味着要向央行多交约1000亿,虽然这比起那减少的9万多亿总资本来说不算多,但它可是直接抽走的现钱啊,股市的资金面一下紧这么多,不跌才怪。
市面上的钱少了,需求自然也就被迫压缩,通胀于是得到一时的缓解。
只是没想到这油价一直没有下来,所以通胀最终还是起来了。
于是10月27日,央行宣布加息0.27个百分点。
加息的作用就很好理解了:加息可以增加储蓄,减少信贷投资。它同样是减少了流通资本,实际上压缩了需求。
而作为投资项目之一的房地产,同样在被压缩之列,这从最近股市上房地产板块在加息后普跌就可以看出来。
不过,不得不承认的是,文中所指出那些宏观调控的问题的确存在。简单的说:上面两项收紧措施在固定汇率下,将好处平分给了内外资,但付出的代价却只能由内资承担。
最后就是,我相信人民币汇率绝不可能牢不可破,唯一的问题是什么时候升和升多少。
BTW:俺又8素拿国家发改委的工资,研究介些干什么。-_-|||
立场问题是一个很严重的问题。在过去的年代,说某人立场不坚定,基本上就是说此人有叛变的潜质。
美国的总统大选秀正在如火如荼地上演着,对选民来说,要站在哪个党的立场上,这是个问题(不过据说现在的情况是布什连任已经基本成定局)
其实我写立场问题,是源于前几天有人在论坛里穿着公共马甲问了一个问题:
跟一帮朋友去玩,结果朋友们都叫小姐了,他不叫又不好意思,叫了吧又怕。
后来有一个家伙也穿了这个公共马甲回复道:
……(前略)问:要是那天你的上司和同事还有客户一起到了KTV,他们都叫了小姐,你叫不?答:(支吾中……)这个,这个,不知道呀……问:其实我也知道,上司叫了,同事叫了,客户也叫了,你不叫,也是为难。答:那是,那我就叫,哦,随便聊聊天,呵呵,这不就行了……问:少来,天下没有不吃腥的猫,人家都做,你不做,你面子往那搁?……答:(继续支吾中,心中很明白这个时候绝不能多嘴,嘻)良久……问:算了算了,不问你了,问也是白问!这样吧,以后要是碰到这种情况只要你不跟我说,不要让我知道,你做什么都不关我的事!……(后略)
站在朋友(或是后面回复中所说的,站在上司、同事、客户……等)的立场上,他如果不参加,那就是扫兴。而站在自己和家人的立场上,又不愿意参加。
要站在哪一边的立场上,这是个问题,而且是个大问题。
有消息称:《复旦大学经济学院原院长陆德明因嫖娼辞职》,如果那个补充的说法属实的话,可以大致猜测到:这个可怜的人多半是什么时候站错了立场,这次被人抓到把柄一次整到S了。虽然还是他自己的错,不该犯事,犯了事也不该落下把柄。不过如果有站错立场的前因,迟早还是会有后果的。
我们常常会被教导说:
在与别人的关系发生矛盾时,要多站在别人的立场上看问题。
但这在大多数情况下是做不到的,因为:
这里说的“别人”通常是复数。
这就注定了没有一个确定的“别人”的立场可以给你站。结果无非是:
在别人们的立场中徘徊,结果被认为是优柔寡断、没有主见;
或是站在某一个别人的立场上,结果被所有其它的别人认为是不公、有偏向;
要不就干脆是站在自己的立场上,被别人认为是刚愎自用、一意孤行。
比如伊拉克问题:要是站在伊拉克人的立场上,就会支持那些针对美国人的恐怖活动,凭什么要让美国人占领我们的国家,侵占我们的石油资源;要是站在美国人的立场上,就会支持布什的反恐战略,将恐怖分子消灭在本土以外,为美国争取更多的资源,以消除国内的通胀,发展经济,让大家过上好日子。
一种选择是否“正确”,是与其所处的立场相关的,而不是绝对的。
再以BLOG为例:
我要是考虑到我是搞技术的,我就应该写点技术方面的;但考虑到还有很多非技术的blogger们会来,我就得写一点八卦 。
还好我还可以选择写几篇技术后,八卦一阵。^O^
最著名的与立场有关的问题大概要算:
老婆和老妈一起掉到水里,应该先救哪一个?
站在老公的立场上,当然先救老婆;站在儿子的立场上,当然要先救老妈。
问题在于:
站在哪一边的立场上都是错误的!
有一个被认为经典的回答是:救起老妈,跟老婆一起S。我不敢苟同,难道老妈养你这么大就是为了让你去S么?本质上,这种回答是想站在一个中间立场,只是这样的结果不过是两边都站不到。更重要的是:作出这种回答的人,潜意识(稻草心表看到俺在这里班门弄斧-_-|||)里还是想丢下老妈,跟老婆一起的。估计这种人在实际情况下会先救老婆。
做人难啊。
因为要处理一些XML的问题,所以上IBM的developerWorks查一些东西,结果看到这篇《实用数据绑定: 谁在使用这个东西,结果如何?》。其中有这么一段:
数据绑定不是时尚
对于任何新的、令人激动的 API,人们最常犯的一个错误就是将它与时尚混为一谈。这常常表现为两种典型谬误:
这些都是错误的观念,原因很多。比方说第一个问题,当出现一种新的、看来很有帮助的 API时,很多开发人员往往忽略添加新技术所需要的常规步骤。比如,没有经过漫长的讨论会、数以吨计的计划和大量的深思熟虑,您不会轻易地从 JDBC转移到 EJB。同理,兴致所至就匆匆甩掉 SAX 和 DOM 代码,取而代之以 JAXB 或者 JaxMe(或者Coins、Zeus、XMLBeans 等),也是极其不负责任的。
但是令人吃惊的是,很多开发人员恰恰就是这样做的。SAX编码很令人痛苦,回调不是很符合面向对象的思路,熟练掌握它又需要花很长的时间。DOM易于使用(尽管有时候存在一些不必要的麻烦,比如提取元素中的文本),但它可能变得很庞大,占用很多内存。但是,没有理由仅仅因为数据绑定是市面上最新的XML 相关技术就把其他 API扔掉。要花点时间考察新技术。阅读像本文这样的文章,演练示例代码,要谨慎从事。这样做可能慢一些,但是您可以省掉很多麻烦。
另一种诱惑是到处使用新技术。换句话说(使用数据绑定 API 这个具体的例子),不要假设您的代码每次处理 XML都要使用数据绑定。这种天真的、过于单纯的做法,几乎注定会在长期的运行中损害您的应用程序。比方说,如果拥有一些私有的 Perl脚本,能够很好地读取 XML,就没有必要增加转移到数据绑定的开销,这种情况下,没有必要舍弃原有的脚本。保留精力解决那些不工作以及应该工作的任务。
其实把上面一段话里的XML数据绑定换成所有的时尚技术,都是基本成立的。
汗,我又犯了文中所说的错误了。-_-|||
我不应该到处使用这个说法
早上《第一时间》有一则新闻很有意思:
广州近年来洋媳妇增多,其中七成来自越南。
不禁让我想到以前在BBS上看过的两处图片:


无论战争的理由多么正义,受害的总是百姓。
然而几千年来,人类就是这样在战争中一步步走到了现在。
BTW:有必要补充一下,从图片上看,消息应该是来自台湾省,货币应以新台币计(目前汇率约为4.05,即1元人民币约折4.05元新台币)。
BTW2:回答abby,说明两个问题:第一、越南在过去几十年里的战乱导致了现在的经济落后;第二、台湾人娶媳妇的成本远高于二十万新台币。
BTW3:今天的新闻说明,广州娶媳妇的成本显然也不低。
BTW4:外电消息:At least 20 killed, 42 injured in central China ethnic clashes, 18 arrested
中午上UUZONE看了一下,几周没去,多了几个人。
我现在在UU的优友大多都是BLOG友。^O^
按本帮内部说法,咱们这些人都算是“狐朋狗友”,三五不时地就出来FB一下。
《庄子·山木》中说道:
夫以利合者,迫穷祸患害相弃也;以天属者,迫穷祸患害相收也。夫相收之与相弃亦远矣,且君子之交淡若水,小人之交甘若醴。
这段话是一个叫“子桑雽”的人用来教训孔夫子的。
RLK也说,朋友就要是能说知心话的,那才是真正的朋友。
很同意这些观点。
不过咱们都是普通人,不敢拿圣人的标准来要求自己。何况俺也从来不认为自己是什么君子,俺就是一个有RPWT的小人。^O^
而那种真朋友,是可遇而不可求的,如同伯牙与子期,而且这种朋友有一个足矣。再说这种所谓的真正友谊,也并不是人人都可以得到的。至少它只可能存在于近乎于圣人的真正君子之间,像俺这种小人是没希望了。:P
对于那些尚达不到君子标准的人所标榜的“友谊”,我一向是持怀疑态度的。与其恬着脸自称“真正朋友”,还不如坦白点说是狐朋狗友。
这种所谓的“友情”看过得太多了。没事的时候一切都好,一但有事–特别是有了利益冲突,HOHO……
一个朋友曾经跟他的一个好朋友合作一个项目,他负责和客户沟通,他朋友负责开发。结果后来他朋友的开发进度不能赶上,客户一怒之下要求他们退还预付款。但他的朋友却拒绝退还那几万元,他只能自己承担这笔损失。
那天他在MSN上跟我说:我和他可是十多年的朋友了,他怎么可以这样。
我只能安慰他:花几万元买个教训,认清一个人。
我也有一个十来年的朋友,他前年因为一个朋友摆了他一道,害他被公司辞退。他那个朋友我也认识,跟他也有很多年的交情(四年同学,毕业后还做过三年的同事)。
当时我跟他说的话比较极端,我说:你当他是金钱换不了的好朋友,人家不一定这么认为。这个世界上就没有真正的朋友。
他说:不会啊,至少你和XXX(我们的另一个朋友)肯定不会这样害我的。
我说:不要这样想。虽然在他这种情况下,我肯定不会害你,但是我不能保证在所有的情况下都不会。
此外,最常见的情况大概就是借钱了。朋友跟你借钱,如果你不借,这个朋友通常还可以继续;但如果你借了,很多情况下是朋友和钱都损失了。
伯牙和子期的故事会被千古传颂,幸好是因为钟子期早死。即便是竹林七贤,也照样会有嵇康与山涛绝交这样的反例。
对于俺这种小人说来,谈什么“真正的朋友”是一种奢望,还是狐朋狗友更适合俺。因为狐朋狗友之间没有什么利害关系,一起玩得快乐就是唯一的理由。和他们在一起,可以没有负担,生活轻松愉快。
我想大多数普通人更多的时候,需要的还是这样的狐朋狗友。大家可以一起吃吃喝喝,吹牛扯淡,分享快乐。可以说一些无伤大雅的小谎话,开一些小玩笑。
狐朋狗友,赞。
还是在“PIA-MyPhotoGallery”中,为了能让使用者及时知道软件的更新版本发布,我增加了自动更新检查功能。鉴于这种功能具有很好的实用价值,所以写本文说明此功能的实现。
要实现更新检查,需要解决两个方面的问题:
1、通过Internet获取最新发布的版本号;
2、取得当前程序的版本,并与取得的最新版本相比较。
如果检查到有新版本发布,则打开下载页面(至于直接下载更新本文暂不讨论)。
对于第一个问题,最简单的解决办法就是在网站上发布新版本软件的同时,发布一个记录着版本号的文件。在软件进行版本检查时(比如程序启动时),通过Internet下载此文件,并读出最新的版本号。
注意:此方法仅适用于简单更新的情况,对于像杀毒软件的病毒库这样增量更新的情况,这种简单方法是不合适的,通常还需要有相应的服务端程序配合才行。
要通过Internet下载文件有很多方法,比如用WinINet API或现成的控件都可以。本文以Indy的TIdHTTP控件为例。
TIdHTTP控件的用法非常简单,但是直接使用它下载会有一个问题:程序会被阻塞着,直到文件被下载或连接超时(比如网络未连接)。所以必须将它放到线程中处理。
在PIA-MyPhotoGallery中,我用的代码如下:
//---------------------------------------------------------------------------// Get new version threadclass TGetNewVersionThread : public TThread{private:AnsiString FURL;TMFileVersion * FVer;protected:void __fastcall Execute( );public:__fastcall TGetNewVersionThread( AnsiString aURL ): TThread( true ), FURL( aURL ), FVer( new TMFileVersion( ) ){FreeOnTerminate = true;}__fastcall ~TGetNewVersionThread( ) { delete FVer; }__property TMFileVersion * Version = { read=FVer };};//---------------------------------------------------------------------------// TGetNewVersionThread//---------------------------------------------------------------------------void __fastcall TGetNewVersionThread::Execute( ){boost::scoped_ptr webConn( new TIdHTTP( NULL ) );boost::scoped_ptr ss( new TStringList( ) );try {ss->Text = webConn->Get( FURL );}catch ( ... ){ss->Text = "";}AnsiString s = ss->Values["piapg"];if ( s != "" )FVer->VerStr = s;}//---------------------------------------------------------------------------
这段代码很简单:创建一个线程,在线程里创建一个TIdHTTP实例,然后下载URL对应的文件,最后从中读出“piapg”的版本号。为了偷懒,我用了boost库里的smart pointer–scoped_ptr。
这个线程类的使用方法如下:
//---------------------------------------------------------------------------// 在程序启动时执行:if ( PIAPGCfg->AutoUpd ) // 如果选择了“检查更新”选项则执行检查{if ( SplashDlg ) // 如果有splash,则在其中显示提示文本{SplashDlg->labProgress->Caption = "正在检查新版本...";SplashDlg->labProgress->Refresh( );}// 创建检查新版本的线程TGetNewVersionThread * pThread = new TGetNewVersionThread( "http://mental.8gua.me/update.txt" );pThread->OnTerminate = GetNewVersionDone;pThread->Resume( );}//---------------------------------------------------------------------------// 版本文件下载完成或超时void __fastcall TMainForm::GetNewVersionDone(TObject * Sender){TGetNewVersionThread * pThread = dynamic_cast( Sender );boost::scoped_ptr fv( new TMFileVersion( ) );fv->GetVersionFromFile( Application->ExeName ); // 读取当前程序的版本if ( ( pThread->Version->Compare( fv.get( ) ) > 0 ) // 如果有新版本,则提示&& ( Application->MessageBox( "发现更新版本的程序,是否现在更新?","新版本检查", MB_YESNO | MB_ICONINFORMATION ) == IDYES ) ){ShellExecute( NULL, "open", "http://mental.8gua.me", NULL, NULL, SW_SHOW );PostQuitMessage( 0 );}}//---------------------------------------------------------------------------
此代码的功能详见其中的注释。
再来看第二个问题:程序版本的问题。
在上面的代码中,用到了一个类:TMFileVersion。这是我以前用DELPHI写的一个用于处理可执行文件版本号的类。实现代码如下:
TMFileVersion = classprivateFMajor : Integer;FMinor : Integer;FRelease : Integer;FBuild : Integer;Function GetVerStr : String;Procedure SetVerStr( aVerStr : String );publicconstructor Create;destructor Destroy; override;Procedure GetVersionFromFile( aFileName : String );Function Compare( aVer : TMFileVersion ) : Integer;Property VerStr : String read GetVerStr write SetVerStr;End;{ TMFileVersion }// initconstructor TMFileVersion.Create;BeginInherited;FMajor := 0;FMinor := 0;FRelease := 0;FBuild := 0;End;destructor TMFileVersion.Destroy;BeginInherited;End;// Get version info from a fileProcedure TMFileVersion.GetVersionFromFile( aFileName : String );TypePVS_FIXEDFILEINFO = ^VS_FIXEDFILEINFO;Varh : Cardinal; // a handle, ignorenSize : Cardinal; // version info sizepData : Pointer; // version info datapffiData : PVS_FIXEDFILEINFO; // fixed file info datanffiSize : Cardinal; // fixed file info sizeBeginFMajor := 0;FMinor := 0;FRelease := 0;FBuild := 0;If ( FileExists( aFileName ) ) ThenFBuild := 1;nSize := GetFileVersionInfoSize( PChar( aFileName ), h );If ( nSize = 0 ) ThenExit;GetMem( pData, nSize );TryGetFileVersionInfo( PChar( aFileName ), h, nSize, pData );If ( VerQueryValue( pData, '', Pointer( pffiData ), nffiSize ) ) ThenBeginFMajor := ( pffiData^.dwFileVersionMS ) SHR 16;FMinor := ( pffiData^.dwFileVersionMS ) AND $FFFF;FRelease := ( pffiData^.dwFileVersionLS ) SHR 16;FBuild := ( pffiData^.dwFileVersionLS ) AND $FFFF;End;FinallyFreeMem( pData );End;End;// Compare two version infoFunction TMFileVersion.Compare( aVer : TMFileVersion ) : Integer;Varn1, n2 : Cardinal;Beginn1 := ( FMajor SHL 16 ) OR FMinor;With aVer Don2 := ( FMajor SHL 16 ) OR FMinor;If ( n1 > n2 ) ThenResult := 1Else If ( n1 n2 ) ThenResult := 1Else IF ( n1 < n2 ) ThenResult := -1ElseResult := 0;End;End;// Get/Set property - VerStrFunction TMFileVersion.GetVerStr : String;BeginResult := Format( '%d,%.02d,%d,%.02d', [FMajor, FMinor, FRelease, FBuild] );End;Procedure TMFileVersion.SetVerStr( aVerStr : String );VarsTemp : TStrings;BeginFMajor := 0;FMinor := 0;FRelease := 0;FBuild := 0;sTemp := TStringList.Create;TrysTemp.CommaText := aVerStr;TryFMajor := StrToInt( sTemp.Strings[0] );FMinor := StrToInt( sTemp.Strings[1] );FRelease := StrToInt( sTemp.Strings[2] );FBuild := StrToInt( sTemp.Strings[3] );Except// Do nothingEnd;FinallysTemp.Free;End;End;
解决了这两个问题,自动更新检查的功能也就解决了。