我的一个delphi应用中需要彻底删除一个临时路径,delphi自带的文件和路径操作函数基本不行,因为现在的windows系统很奇怪,路径会删除不干净,并且delphi默认的函数要用递归来写,比较麻烦。网上搜索了不少,逐一试验下载,下面的代码是有效的,我在windows xp下测试了,没有在vista下测试(不知道会否影响vista的权限控制)
该代码还是通过调用winapi来实现彻底强行删除一个路径,包括下面的所有文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| function ForceDeleteDir(lhandle: THandle; APath: AnsiString): Boolean;
var
lpFileOp: TSHFileOpStruct;
begin
with lpFileOp do
begin
wnd := lhandle;
wFunc := FO_Delete;
pFrom := PChar(APath);
pTo := nil;
fFlags := FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
hNameMappings := nil;
lpszProgressTitle := nil;
fAnyOperationsAborted := False;
end;
if SHFileOperation(lpFileOp) = 0 then
result := True
else
result := False;
end; |
相关内容
包含Delphi、C++ Builder和Delphi Prism等的RAD Studio 2010已经正式发布。这是Codegear(Borland)被收购后Embarcadero公司推出的全新产品。
根据介绍,RAD Studio 2010 的新功能主要在于:增强的 IDE和可视化组件库 (VCL) 框架和基础的编译器以及其他各项工具,这使得你构建那些跨越所有的数据源和层次的可视化应用变得更加容易。 RAD Studio 2010 中的重要新功能包括:
支持最尖端的触摸和手势-使您的应用程序能够支持包括Windows 7在内的任何 Windows 操作系统
通过增强的DataSnap™框架和DBExpress数据访问驱动,支持最新的数据库平台,包括Firebird数据库的支持!
IDE Insight,随时访问任何功能,设置,或组件
包括tabbed toolbar的Delphi 7 经典模式布局选项
超过 120项针对开发的IDE 功能增强
在2009版的基础上,又有超过一百项的功能增强,包括 Unicode、 泛型、 匿名方法等等
看上去着实激动人心,作为delphi的忠实fans,希望这次RAD Studio 2010包括其中的Delphi系列产品能够重塑辉煌。并且也早日推出横跨Windows、Max OSX和Linux的开发产品。桌面端加上web,以及因为手机而越来越模糊定义的客户端,开发工具的天地还是很宽阔的。
相关内容
作为Delphi和C#架构的先驱,Anders Hejlsberg已在这两种语言上活跃了很久,而Anders应邀加入微软后,似乎Delphi多年来一直没有什么起色,处于相当被动的地位。现在,是Anders回归Delphi怀抱的时候了吗?据微软内部员工的透露,Delphi和C#的架构者Anders Hejlsberg将于下个月重拾Delphi,继续为Delphi的发展起到领头羊的作用。
而许多人所关心的,Anders回去做什么,至今还没有一个可靠的答复。
据称,当初Anders离开Borland,是因为与高层的思想不合拍,引起了冲突后,Anders一怒而去。而现在,是不是他又与微软的高层擦出了火。 在Delphi被Embarcadero(中文名称英巴卡迪诺公司)收购后,一年来有了比较大的起色,Anders或许是想借这个契机重回Delphi的 战线。
希望Anders能为Delphi,为Embarcadero旗下的CodeGear带来一个新的生命,这也是为无数的Delphi/Pascal爱好者带来第二次生命。
相关内容
我有过很多梦想,却在一次次的犹豫中,错过了。
午夜的时候,望星空,同样的星群下,从前的错过就是错过了。
看到一篇文章说,一个人要成功,需要花费10000小时,每天努力3小时,坚持10年。人和人之间的智商区别不大,但这个1万小时,太伟大了。
想想这应该是有道理的,我做的一个软件,目前花费了2个月的业余时间,大概平均每天花费2小时,一共用了120小时,目前已经有了700位用户,如果我努力1200小时,可能有7000位用户,如果我努力12000小时,就可以有70000位用户,至少,我这个梦想实现了。当然,我现在采用了120小时,路还很长。如果这个软件6年前我不轻易放弃,那么按照每天1小时计算,我失去了2000小时,后悔药没有买的。
记得在2001年的时候,有过一个freedelphi.net的域名,2005年又开始用indelphi.net的域名,2007年又买了phpdelphi的域名,想做一个delphi的分享者或者布道者,毕竟在第一份工作的时候,主要是delphi让我完成了那些项目,让我有一点点的工作成就。可惜,都没有坚持下去,而这些域名也都不属于我了。今天下午,我用了4个小时,重新开始这个梦想,每天大约30分钟,如果从2001年坚持到现在,我又浪费了1000小时,也就是2000篇关于delphi的blog,这是惊人的数字啊,而恰恰这几年,delphi发生了那么多天翻地覆的变化。
有梦想,评估一下,努力一下,坚持一下,可以做到的,不要犹豫。我们的生命和星群相比,实在是微不足道,但是我们的那些梦想,可以伴随人类一直长久,像星光一样闪烁。

相关内容
teeChart是delphi下最强的图表控件,这几年也已经发展到了dotnet等环境下。teeChart在8.0版本中提供了简单的使界面中文化显示的功能,你只要在FormCreate事件中加入TeeSetChineseSimp;就可以了。
但是在实际使用中碰到一个怪问题,就是当程序运行后,第一次显示的使用teechart的窗口不能正常中文化,而第二次显示及以后就可以了。程序中包含teechart的窗口是每次需要的时候动态生成的。
我现在用这样的方法来解决,在主窗口生成的时候,先创建一次包含teechart的窗口,骗一下,之后程序内的调用就都是第二次之后了。当然要用show,这样才能马上关掉。
try
frmChart := TfrmChart.Create(Application);
frmChart.Show;
frmChart.Close;
finally
frmChart.Free;
end;
相关内容
晚上写一个程序的时候,碰到一个奇怪的问题,原本一个没有问题的地方,突然出现了错误,具体来说,分节号呈现的数据会莫名其妙的缩小,比如1,200会变成1,而小数也不能正常输入。我首先想到的是使用的edit控件有问题,我用的是raize,上周我将raize从4升级到最新的5.0,可能raize控件有bug,查了一下官方网站,没有报告。于是又测试了文本控件没有问题,而其他类似的可以输入float类型的控件也不能正常输入小数。于是拆下raize 5,重新安装raize 4,中间还重启了windows一次。奇怪的是一切没有变化,还是不对。将近3个小时过去了,试了很多方法,包括调试跟踪,一无所获。突然我发现原来应该是1200.00的数字是被错误的呈现为1200,00。会不会是小数点的默认符号被修改了,而在windows的区域设置中可能有这方面的设置,打开控制面板一看,果然不知道最近安装的那个程序干的,将默认的小数点的那个点修改成了逗号,造成了前面出现的种种怪问题。因为从来没有想到过小数点这个点还会有问题,绕了一个大圈子。
突然感悟到,生活中面对很多结果,我们有时候会很主观,总认为是这样或者那样的,而真相可能完全出乎意料,很简单,很偶然,但是不是我们想象中的那样子。而因为我们的主管和武断,即便是内心中的,也会造成猜忌、隔阂、嫉妒等等。
平常心,包容心,宽容心。不要以为自己总是对的,用自己的有色眼镜来看待别人看待事物。
相关内容
从这里看到,很难说这是不是一个好消息,总的来说还不算坏吧,至少像我这样的delphi铁杆粉丝以后就可以用delphi语言在vs下开发dotnet应用了。
YES,你没有看错!刚刚看到的这个消息,综合整理一下 Marco Cantu 和 Dr.Bob 的 Blog 文章如下:
1 下一版 Delphi.NET 名为 Delphi Prism。Nick 在论坛中证实这是正式名称,而非代码名;
2 这是一个全新的产品,用 Visual Studio Shell 开发,将是一个 Visual Studio 插件;
3 Delphi Prism 将是 RAD Studio 2009 套件的一部分(Delphi 2009 + C++Builder 2009 + Delphi Prism);
4 他将是新一代的 Delphi 在 .NET 平台上的解决方案,完全支持 .NET Framework 3.5,包括 WinForms, WPF, Silverlight, WCF, ASP.NET, LINQ;
5 整合 Datasnap 2009,支持 dbExpress for ADO.NET;
6 Delphi Prism 只以订阅方式销售,在订阅期内可自由升级新版本;
7 在本月末的 PDC 上可能会对外公布这一产品,年底前会上市
我几乎没用过 Delphi.NET,但看到这个消息,有点吃惊,也有点兴奋,吃惊的是很意外,想必 CodeGear 做这个决定也不容易啊,呵呵~~;兴奋的是这是一个正确的确定,因为在 .NET 下,Visual Studio 就是 NO.1;Delphi Prism 成为 Visual Studio 插件以后,市场拓展将更加容易些,同时产品开发上也能紧跟 .NET 步伐,同时也可以使用 Visual Studio 自身强大的 IDE 功能和很多的第三方资源,比如说扩展、控件等。
这个产品应该很早在 CodeGear 内部开发了,之前的开发代号好像是 Clemson;正式版离上市最多也就只有两个月,Beta 测试也已经开始了,有兴趣的可以去 CodeGear 网站申请。
相关内容
我是在1992年左右基础到turbo pascal的,记得很清楚,有一本是讲解turbo pascal 3.0的书,看到最后快被我翻懒了。在那个时候,没有周围的人可以问(我不是计算机系的),没有互联网可以搜索,印象中也没有什么电脑类的报纸杂志。比较艰苦的学会turbo pascal之后是非常兴奋的,如同今天谁说掌握了java或是rails一样。
turbo pascal在那时候就像是个传奇,这里就不赘述了,我从5.0开始使用,一直到turbo pascal的最后7.0版本,94年的时候同时学习visual basic 2.0,自然是惊为天人,那时候borland c++ for windows写一个空白窗口还需要几十行代码。
但是我编程最大的问题是基本的方法有问题,其实turbo pascal 6.0就开始支持oo,可惜没有看懂,也没有体会到之中的好处。vb自然又养成了很多坏习惯。到delphi时代,被表面的强大所吸引,也的确因为delphi的强大,掩盖了其面向对象的特性,人总是习惯去过去自己熟悉的东西。终于还是造成了一些损失,一些软件庞大到一定程度,以我的能力就无法维护下去了,比如无数个全局变量到最后如同灾难。
最近在做家庭银行家新版本的模型,今天终于完成了一个涉及数据库的对象的简单操作,对于别人,这是一小步,对于我,这是一大步。虽然我知道这只是一个应该在很多年前获得的突破,迟来的感觉,还是很好。
相关内容
最新评论