2009-07-21 56 views
6

有许多旧版德尔福书可以廉价购买。作为一名自学成才的(高级)初学者,我很难知道哪些想法仍然相关并且是最新的,哪些已经过时。我希望有一点指导。例如,了解由BDE驱动的数据库会不会过时? COM不再是常用的模型吗? (注意:我可能会关闭我如何使用这些术语......我对他们的了解不多。)旧版德尔福教学资料

感谢您的想法!

+4

请勿使用BDE。请参阅布鲁斯关于COM和吸烟的评论。同样的规则适用于BDE,只有更多。 – 2009-07-22 02:45:57

+0

对于数据库,请使用dbExpress,ADO(仅适用于SQL Server)或DevArt组件。无论如何,远离BDE,Paradox和DBase。 – 2009-07-24 13:20:31

回答

4

大多数德尔福的书籍中仍然有大量相关的东西。大部分仍然不错的东西是低级别的东西,比如编写代码,使用dll & bpls。即使编写组件也几乎相同。我有一天回到Delphi 3的书中,发现我想要的东西。

作为一个建议,我会得到一个新旧书籍的组合。在新的方面,我会得到Marco Cantu's德尔福2007 & 2009手册,他的Mastering Delphi 2005(忽略.net的东西)或掌握Delphi 7,这将给你很好的覆盖面,都是优秀的书籍。 Bob Swart也有一些有用的书籍。

你可能不想回到Delphi 3之前的任何东西,但是一些pascal编程书籍可能会有所帮助。

你可能不应该对阅读过时的东西有偏见,要知道如果你必须使用遗留代码,这是非常有用的,只要你刷一些更现代的书你应该没问题。

我也推荐阅读Code Complete 2或Pragmatic Programmer。您可能还想阅读关于设计模式和重构的书籍 - 这些书籍没有专门针对Delphi编写的书籍。

+1

+1为语用程序员。优秀的书。我目前正在阅读代码完成2. – Pauk 2009-07-22 08:22:24

6

BDE已经死了,但它可能被用在某个地方,你可能会发现BDE爱好者。 BDE很难安装,并且还有一些法律问题。 COM也死了,但它仍然可用,并在传统应用程序中被广泛使用。大多数人使用免费的图书馆,如JEDI或Zeos--或商业的DevExpress或TMS。我认为学习基本的VCL和一些免费的图书馆将是很好的开始。同时也确切知道Delphi中的对象和类是如何工作的,这将对你的职业发展有很大的帮助。

7

很多Delphi概念(和代码),即使是旧版本,也适用于较新的版本。某些组件不在附近(NetMaster等),有些组件被冻结,不应该用于新开发(BDE),并且有一个HUGE number of new features可以跟上。

至于COM。在利诺Tadros的不朽的话(这家伙用于获取COM支持进入德尔福的主要原因):

COM是喜欢吸烟:如果你还没有 开始,你不应该从现在开始,如果 你已经在做它,时间是 停止。

+3

+1是的 - 喜欢吸烟坏锅,这是! :-) – 2009-07-22 05:16:23

6

编码习惯的死亡是一个非常相对的事情。我仍然知道仍在运行的COBOL应用程序......主要是因为它们仍然可以工作,并且不处理日期,所以让它们运行还不止。有时候它可能不是最好的“新办法”,但如果它没有任何改变,那么它为什么会变得混乱。

COM的概念并没有真正死亡......它的发展和知道如何使用它可以帮助你理解和应用最新的进化。你需要知道程序集是一个很好的Delphi程序员吗?绝对不是,但它是有助于理解如何更好地优化例程的知识。

在Delphi中,COM不只是关于对象模型。它也关于接口。接口仍然是一个非常有用的工具,如果你知道Delphi中的COM开发,你就会知道接口是如何工作的。

至于遗留的书......我说他们在书架上随​​时浏览它们。有时回头看看可能会帮助你跳跃。为什么我在我的书架上有Algorithms + Data Structures = Programs的副本。有趣的是,本书中的大部分代码仍然编写了一些小的更改。当然代码不是面向对象,但概念仍然是我今天使用的。您可能会惊讶二叉树没有改变多少,以及如何优化它的最佳方式仍然是相同的。如何有时使用简单的旧主 - 主 - 主 - 主程序比将数据加载到SQL表中然后执行更新的速度更快。

它并不总是关于酷的因素......有时它关于什么有效。

0

Calvert's Delphi unleashed对Delphi和COM来说也是一个不错的开始。

0

对于数据库访问,旧书籍会推荐使用BDE,但BDE已被弃用,不应在新应用程序中使用。

BDE表示Borland数据库引擎。任何使用TTable,TQuery,TSession和TDatabase组件的应用程序都使用BDE。

您应该使用的数据库访问方法是dbExpress/client数据集断开连接的数据访问模型。这听起来有点复杂,是的,与旧的BDE相比,它有点困难。

在一个典型的BDE应用程序从GUI到数据库中的成分迷上了这样的

TDBEdit到的TDataSource来的TTable到TDatabase的

在dbExpress的客户数据集中式的应用程序的组件都迷上了这样的

TDBEdit到的TDataSource到的TClientdataSet到的TDataSetProvider到将TSQLDataSet到TSQLDatabase

前两个部分在该链(TDBEdit,的TDataSource)完全加工对象物S就像你可以找到的任何Delphi书一样。

接下来的两部分,ClientDataSet和TDataSetProvider最初称为MIDAS,但现在称为DataSnap。他们已经有相当一段时间了,但只有在最后几个版本中,他们才成为正式推荐的数据库访问解决方案。

TSQLDataSet和TSQLDatabase是该链的最新部分,被称为DBExpress。

0

德尔福3以来的任何Delphi书都应该在很大程度上与很大程度上相关。 Delphi 3做了重大更改,所以之前的任何内容都可能已过时。

我会同意其他人认为BDE已经失效。即使它应该是Delphi的主要选项,我也从来不喜欢它。这也许可以解释为什么Borland需要这么长时间才能提供一个体面的内置ADODB组件(你必须在Delphi 5中购买它们作为可选附加组件)。

如果您有任何必要进行进程间通信(我不确定对于所有说COM已死的人都有什么替代方法),COM仍然非常相关。事实上,COM +(托管对象以提供可伸缩性的Windows服务器上的服务)仍然是微软策略的一个组成部分。 COM并不是完美的,但它还没有被Microsoft作为一个概念取代(没有.NET不能取代它)。